From 2f608736afa50d08f973da37763a2162c05e04c5 Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Fri, 25 Sep 2026 17:32:36 +0200 Subject: [PATCH] =?UTF-8?q?Welle=202=20(7,=208)=20=C2=B7=20dist=20gebaut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .../assets/{Auftraege-CutWwY2J.js => Auftraege-D6FtdUOB.js} | 4 ++-- .../{Bestaetigen-6C3zYuEE.js => Bestaetigen-BGcVQso2.js} | 2 +- .../dist/assets/{Dienste-CuaesLC2.js => Dienste-fAdqSLxO.js} | 2 +- .../{Einstellungen-BE1LOt0Z.js => Einstellungen-Dw85frtI.js} | 2 +- frontend/dist/assets/Homelab-6IZiUZgt.js | 1 + frontend/dist/assets/Homelab-CiUiSfKF.js | 1 - ...elabProtokoll-B--cXVlt.js => HomelabProtokoll-DQpZ9qvE.js} | 2 +- ...elabSnapshots-DdOs_WQU.js => HomelabSnapshots-Cy2mRe5R.js} | 2 +- .../assets/{Lagekopf-_LyvkRPo.js => Lagekopf-DKe__zE4.js} | 2 +- ...{MenueSchublade-CH6y_JGn.js => MenueSchublade-CGkq_EXH.js} | 2 +- .../dist/assets/{Modelle-Dhlq1FFz.js => Modelle-CnfYELFf.js} | 2 +- .../assets/{Monitoring-CSGIxU_X.js => Monitoring-BnCuva0g.js} | 2 +- ...tokollfenster-C-Jw7ZLy.js => Protokollfenster-DfGuXWdW.js} | 2 +- frontend/dist/assets/{Start-dQPgTPlg.js => Start-oSvXqmAt.js} | 4 ++-- .../dist/assets/{Updates-eysoVXbY.js => Updates-D4NG6yAI.js} | 4 ++-- frontend/dist/assets/{dist-D-yM169e.js => dist-C2HMtjaj.js} | 2 +- frontend/dist/assets/index-BK7IIV0X.css | 2 ++ frontend/dist/assets/index-CeLk3zt0.css | 2 -- frontend/dist/assets/{index-CJ1jXWsM.js => index-CiJU28k0.js} | 4 ++-- frontend/dist/assets/{sheet-DE9QulgP.js => sheet-CPc8xmap.js} | 2 +- frontend/dist/index.html | 4 ++-- 21 files changed, 25 insertions(+), 25 deletions(-) rename frontend/dist/assets/{Auftraege-CutWwY2J.js => Auftraege-D6FtdUOB.js} (82%) rename frontend/dist/assets/{Bestaetigen-6C3zYuEE.js => Bestaetigen-BGcVQso2.js} (97%) rename frontend/dist/assets/{Dienste-CuaesLC2.js => Dienste-fAdqSLxO.js} (76%) rename frontend/dist/assets/{Einstellungen-BE1LOt0Z.js => Einstellungen-Dw85frtI.js} (75%) create mode 100644 frontend/dist/assets/Homelab-6IZiUZgt.js delete mode 100644 frontend/dist/assets/Homelab-CiUiSfKF.js rename frontend/dist/assets/{HomelabProtokoll-B--cXVlt.js => HomelabProtokoll-DQpZ9qvE.js} (87%) rename frontend/dist/assets/{HomelabSnapshots-DdOs_WQU.js => HomelabSnapshots-Cy2mRe5R.js} (67%) rename frontend/dist/assets/{Lagekopf-_LyvkRPo.js => Lagekopf-DKe__zE4.js} (98%) rename frontend/dist/assets/{MenueSchublade-CH6y_JGn.js => MenueSchublade-CGkq_EXH.js} (86%) rename frontend/dist/assets/{Modelle-Dhlq1FFz.js => Modelle-CnfYELFf.js} (75%) rename frontend/dist/assets/{Monitoring-CSGIxU_X.js => Monitoring-BnCuva0g.js} (81%) rename frontend/dist/assets/{Protokollfenster-C-Jw7ZLy.js => Protokollfenster-DfGuXWdW.js} (94%) rename frontend/dist/assets/{Start-dQPgTPlg.js => Start-oSvXqmAt.js} (61%) rename frontend/dist/assets/{Updates-eysoVXbY.js => Updates-D4NG6yAI.js} (82%) rename frontend/dist/assets/{dist-D-yM169e.js => dist-C2HMtjaj.js} (99%) create mode 100644 frontend/dist/assets/index-BK7IIV0X.css delete mode 100644 frontend/dist/assets/index-CeLk3zt0.css rename frontend/dist/assets/{index-CJ1jXWsM.js => index-CiJU28k0.js} (79%) rename frontend/dist/assets/{sheet-DE9QulgP.js => sheet-CPc8xmap.js} (96%) diff --git a/frontend/dist/assets/Auftraege-CutWwY2J.js b/frontend/dist/assets/Auftraege-D6FtdUOB.js similarity index 82% rename from frontend/dist/assets/Auftraege-CutWwY2J.js rename to frontend/dist/assets/Auftraege-D6FtdUOB.js index 6a85a6f..08af94f 100644 --- a/frontend/dist/assets/Auftraege-CutWwY2J.js +++ b/frontend/dist/assets/Auftraege-D6FtdUOB.js @@ -1,2 +1,2 @@ -import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{Ct as a,M as o,Qt as s,St as c,Xt as l,un as u,wt as d}from"./index-CJ1jXWsM.js";import{t as f}from"./button-DwYvdWVr.js";import{t as p}from"./Bestaetigen-6C3zYuEE.js";import{t as m}from"./Panel-uT1S5ZGr.js";var h=r();function g(e,t){if(e===`os`)return{laeuft:`Ubuntu`,neu:t.count?`${t.count} ${t.count===1?`Paket`:`Pakete`}`:null};if(e===`hermes`)return{laeuft:t.installed_version?`v${t.installed_version}`:`–`,neu:t.behind?`+${t.behind.toLocaleString(`de-DE`)} Änderungen`:null};let n=e===`engine`?`b`:`v`;return{laeuft:t.installed_build==null?`–`:`${n}${t.installed_build}`,neu:t.latest_build!=null&&t.installed_build!=null&&t.latest_build>t.installed_build?`${n}${t.latest_build}`:null}}function _(e,t){return!t||t.error?null:e===`os`?typeof t.count==`number`?t.count>0:null:e===`hermes`?typeof t.behind==`number`?t.behind>0:null:t.latest_build==null||t.installed_build==null?null:t.latest_build>t.installed_build}function v(e){let t=e.trim();return/timed out|timeout|zeitüberschreitung/i.test(t)?`Konnte nicht prüfen: Die Gegenstelle hat nicht rechtzeitig geantwortet. Später klappt es meist wieder.`:/name resolution|name or service not known|network is unreachable|connection (refused|reset)|nicht erreichbar/i.test(t)?`Konnte nicht prüfen: Die Box kommt gerade nicht ins Internet.`:`Konnte nicht prüfen: ${t.length>160?`${t.slice(0,157)}…`:t}`}var y=e=>e.group===`download`||/^download\s/i.test(e.label),b=e=>e.group===`pruefen`||e.label===`Nach Updates suchen`,x=e=>u(e)&&y(e),S=[[/^download\s+(.+)$/i,`Download $1`],[/^OS-Update \(apt\)$/,`Update Betriebssystem`],[/^Engine-Update \(llama\.cpp Vulkan\)$/,`Update Motor (llama.cpp)`],[/^Router-Update \(llama-swap\)$/,`Update llama-swap`],[/^Hermes-Agent-Update$/,`Update Hermes`]],C=[[`Engine (llama.cpp)`,`Motor`],[`Router (llama-swap)`,`llama-swap`],[`Hermes-Agent`,`Hermes`],[`OS (apt)`,`Betriebssystem`]];function w(e){for(let[t,n]of S)if(t.test(e.label))return e.label.replace(t,n);return e.label.startsWith(`Alle aktualisieren`)?C.reduce((e,[t,n])=>e.split(t).join(n),e.label):e.label}function T(e){if(e<60)return`noch unter einer Minute`;let t=Math.round(e/60);if(t<60)return`noch etwa ${t} min`;let n=Math.floor(t/60),r=t%60;return r?`noch etwa ${n} h ${r} min`:`noch etwa ${n} h`}function E(e,t=Date.now()/1e3){let n=Math.max(0,t-e.started_at),r=Math.floor(n/60),i=n<60?`ein paar Sekunden`:r<60?`${r} min`:`${Math.floor(r/60)} h ${r%60} min`;return`${e.state===`queued`?`Wartet`:`Läuft`} seit ${i}`}function D(e){if(e.progress==null)return null;let t=[`${Math.round(e.progress)} %`];return e.total_bytes&&t.push(`${s(e.done_bytes??0,1)} von ${s(e.total_bytes,1)}`),e.eta_s!=null&&u(e)&&t.push(T(e.eta_s)),t.join(` · `)}function O(e){for(let t=(e.log?.length??0)-1;t>=0;t--){let n=e.log[t].trim();if(n&&!n.startsWith(`$ `))return n}return null}function k(e,t=Date.now()/1e3){let n=e.filter(u).sort((e,t)=>e.started_at-t.started_at),r=e.filter(e=>!u(e)&&!e.quittiert&&t-(e.finished_at??e.started_at)<86400).sort((e,t)=>(t.finished_at??t.started_at)-(e.finished_at??e.started_at)).slice(0,3);return[...n,...r]}function A(e,t,n){if(!n)return`Nach dem Download übernimmt ${e} die Rolle „${t}“.`;let r=n.weitere.length?` Die Rolle${n.weitere.length===1?``:`n`} „${n.weitere.join(`“, „`)}“ behält es.`:``;return`Achtung: Nach dem Download übernimmt ${e} die Rolle „${t}“ und ersetzt damit ${n.name}. Das bisherige Modell bleibt auf der Platte.${r}`+(n.zwilling?` Bilder liest vorerst weiter sein Bild-Zwilling, also noch das bisherige Modell.`:``)}function j(e){return`Kurze Unterbrechung: Beim Eintragen lädt llama-swap sofort neu. Was Lucy oder OpenChamber gerade schreiben, bricht ab, und die Modelle werden neu geladen.`+(e?` Mit Rolle passiert das nach dem Download noch einmal.`:``)}var M=t(e(),1),N=n(),P={queued:{text:`Wartet`,art:`cyan`},running:{text:`Läuft`,art:`cyan`},done:{text:`Fertig`,art:`gruen`},failed:{text:`Fehler`,art:`rot`},canceled:{text:`Abgebrochen`,art:`grau`}},F={queued:`bg-cyan`,running:`bg-cyan`,done:`bg-gruen`,failed:`bg-rot`,canceled:`bg-text-3`},I=e=>l(new Date(e*1e3).toISOString());function L(e){let t=(0,h.c)(3),[n,r]=(0,M.useState)(R),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;let t=window.setInterval(()=>r(Date.now()/1e3),3e4);return()=>window.clearInterval(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,M.useEffect)(i,a),n}function R(){return Date.now()/1e3}function z(e){let t=(0,h.c)(76),{job:n,onAbbrechen:r,onQuittieren:a,abbrechenGesperrt:s,ebene:c}=e,l=c===void 0?4:c,[d,m]=(0,M.useState)(!1),[g,_]=(0,M.useState)(!1),v;t[0]===n.state?v=t[1]:(v=P[n.state]??{text:n.state,art:`grau`},t[0]=n.state,t[1]=v);let b=v,S;t[2]===n?S=t[3]:(S=w(n),t[2]=n,t[3]=S);let C=S,T;t[4]===n?T=t[5]:(T=D(n),t[4]=n,t[5]=T);let k=T,A;t[6]===n?A=t[7]:(A=O(n),t[6]=n,t[7]=A);let j=A,R;t[8]===n?R=t[9]:(R=u(n),t[8]=n,t[9]=R);let z=R,B=L(z),V;t[10]!==n||t[11]!==r?(V=!!r&&x(n),t[10]=n,t[11]=r,t[12]=V):V=t[12];let H=V,U,W,G,K,q,J,Y,X;if(t[13]!==s||t[14]!==H||t[15]!==l||t[16]!==k||t[17]!==B||t[18]!==n||t[19]!==z||t[20]!==j||t[21]!==a||t[22]!==g||t[23]!==C||t[24]!==b.art||t[25]!==b.text){let e=(n.log??[]).slice(-12),r=l===3?`h3`:`h4`;Y=`Auftrag: ${C}`,X=`flex flex-col gap-2.5 flaeche-innen rounded-2xl p-3.5`;let c;t[34]!==r||t[35]!==C?(c=(0,N.jsx)(r,{className:`m-0 min-w-0 text-[15px] leading-snug font-semibold break-words`,children:C}),t[34]=r,t[35]=C,t[36]=c):c=t[36];let u;t[37]!==b.art||t[38]!==b.text?(u=(0,N.jsx)(o,{art:b.art,children:b.text}),t[37]=b.art,t[38]=b.text,t[39]=u):u=t[39],t[40]!==c||t[41]!==u?(U=(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[c,u]}),t[40]=c,t[41]=u,t[42]=U):U=t[42],t[43]!==n.progress||t[44]!==n.state||t[45]!==C?(W=n.progress!=null&&(0,N.jsx)(`div`,{role:`progressbar`,"aria-label":`Fortschritt: ${C}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.progress),className:`h-2 overflow-hidden rounded-full bg-linie`,children:(0,N.jsx)(`div`,{className:i(`h-full`,F[n.state]??`bg-cyan`),style:{width:`${Math.max(2,Math.min(100,n.progress))}%`}})}),t[43]=n.progress,t[44]=n.state,t[45]=C,t[46]=W):W=t[46];let d;t[47]!==k||t[48]!==B||t[49]!==n||t[50]!==z||t[51]!==b.text?(d=z?k??E(n,B):`${b.text} · ${I(n.finished_at??n.started_at)}`,t[47]=k,t[48]=B,t[49]=n,t[50]=z,t[51]=b.text,t[52]=d):d=t[52],t[53]===d?G=t[54]:(G=(0,N.jsx)(`p`,{className:`ziffern m-0 text-sm text-text-2`,children:d}),t[53]=d,t[54]=G),t[55]!==n.progress||t[56]!==n.state||t[57]!==z||t[58]!==j?(K=j&&(n.state===`failed`||z&&n.progress==null)&&(0,N.jsx)(`p`,{className:n.state===`failed`?`m-0 text-sm break-words text-rot-text`:`ziffern m-0 line-clamp-2 text-xs break-all text-text-3`,children:n.state===`failed`?`Letzte Meldung: ${j}`:j}),t[55]=n.progress,t[56]=n.state,t[57]=z,t[58]=j,t[59]=K):K=t[59],q=(H||e.length>1||!z&&a)&&(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[H&&(0,N.jsx)(f,{variant:`outline`,size:`sm`,disabled:s,onClick:()=>m(!0),children:`Abbrechen`}),e.length>1&&(0,N.jsx)(f,{variant:`ghost`,size:`sm`,"aria-expanded":g,onClick:()=>_(!g),children:g?`Protokoll zu`:`Protokoll`}),!z&&a&&(0,N.jsx)(f,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:()=>a(n),children:`Ausblenden`})]}),J=g&&(0,N.jsx)(`pre`,{className:`ziffern m-0 max-h-56 overflow-auto rounded-md bg-[#0b0d0f] p-2 text-xs whitespace-pre-wrap break-all text-text-2`,children:e.join(` -`)}),t[13]=s,t[14]=H,t[15]=l,t[16]=k,t[17]=B,t[18]=n,t[19]=z,t[20]=j,t[21]=a,t[22]=g,t[23]=C,t[24]=b.art,t[25]=b.text,t[26]=U,t[27]=W,t[28]=G,t[29]=K,t[30]=q,t[31]=J,t[32]=Y,t[33]=X}else U=t[26],W=t[27],G=t[28],K=t[29],q=t[30],J=t[31],Y=t[32],X=t[33];let Z;t[60]!==H||t[61]!==d||t[62]!==n||t[63]!==r||t[64]!==C?(Z=H&&(0,N.jsx)(p,{offen:d,gefahr:!0,titel:`Auftrag abbrechen?`,text:y(n)?`Der ${C} stoppt. Du kannst ihn später über „Modelle selbst suchen“ neu starten.`:`„${C}“ wird abgebrochen.`,knopf:`Ja, abbrechen`,neinKnopf:`Weiterlaufen lassen`,onNein:()=>m(!1),onJa:()=>{d&&(m(!1),r?.(n))}}),t[60]=H,t[61]=d,t[62]=n,t[63]=r,t[64]=C,t[65]=Z):Z=t[65];let Q;return t[66]!==U||t[67]!==W||t[68]!==G||t[69]!==K||t[70]!==q||t[71]!==J||t[72]!==Z||t[73]!==Y||t[74]!==X?(Q=(0,N.jsxs)(`article`,{"aria-label":Y,className:X,children:[U,W,G,K,q,J,Z]}),t[66]=U,t[67]=W,t[68]=G,t[69]=K,t[70]=q,t[71]=J,t[72]=Z,t[73]=Y,t[74]=X,t[75]=Q):Q=t[75],Q}function B(e){let t=(0,h.c)(19),{alsPanel:n}=e,r=n!==void 0&&n,i=d(),o=c(),s=a(),l,u;if(t[0]!==o||t[1]!==r||t[2]!==i.data||t[3]!==i.error||t[4]!==i.isError||t[5]!==s){u=Symbol.for(`react.early_return_sentinel`);bb0:{let e=k(i.data?.jobs??[]);if(e.length>0){let n;t[8]!==o||t[9]!==r||t[10]!==s?(n=e=>(0,N.jsx)(z,{job:e,ebene:r?3:4,abbrechenGesperrt:o.isPending,onAbbrechen:e=>o.mutate({id:e.id,titel:w(e)}),onQuittieren:e=>s.mutate(e.id)},e.id),t[8]=o,t[9]=r,t[10]=s,t[11]=n):n=t[11],l=(0,N.jsx)(`div`,{className:`grid items-start gap-2.5 lg:grid-cols-2`,children:e.map(n)})}else if(i.isError&&!i.data){let e;t[12]===i.error.message?e=t[13]:(e=(0,N.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Aufträge lassen sich gerade nicht lesen: `,i.error.message]}),t[12]=i.error.message,t[13]=e),l=e}else{u=null;break bb0}}t[0]=o,t[1]=r,t[2]=i.data,t[3]=i.error,t[4]=i.isError,t[5]=s,t[6]=l,t[7]=u}else l=t[6],u=t[7];if(u!==Symbol.for(`react.early_return_sentinel`))return u;if(r){let e;return t[14]===l?e=t[15]:(e=(0,N.jsx)(m,{titel:`Aufträge`,children:l}),t[14]=l,t[15]=e),e}let f;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,N.jsx)(`h3`,{className:`etikett m-0 text-[11.5px] tracking-[0.16em] text-text-3`,children:`Aufträge`}),t[16]=f):f=t[16];let p;return t[17]===l?p=t[18]:(p=(0,N.jsxs)(`section`,{"aria-label":`Aufträge`,className:`flex flex-col gap-2.5`,children:[f,l]}),t[17]=l,t[18]=p),p}export{O as a,g as c,b as i,_ as n,v as o,j as r,A as s,B as t}; \ No newline at end of file +import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{$t as a,Ct as o,M as s,Tt as c,pn as l,tn as u,wt as d}from"./index-CiJU28k0.js";import{t as f}from"./button-DwYvdWVr.js";import{t as p}from"./Bestaetigen-BGcVQso2.js";import{t as m}from"./Panel-uT1S5ZGr.js";var h=r();function g(e,t){if(e===`os`)return{laeuft:`Ubuntu`,neu:t.count?`${t.count} ${t.count===1?`Paket`:`Pakete`}`:null};if(e===`hermes`)return{laeuft:t.installed_version?`v${t.installed_version}`:`–`,neu:t.behind?`+${t.behind.toLocaleString(`de-DE`)} Änderungen`:null};let n=e===`engine`?`b`:`v`;return{laeuft:t.installed_build==null?`–`:`${n}${t.installed_build}`,neu:t.latest_build!=null&&t.installed_build!=null&&t.latest_build>t.installed_build?`${n}${t.latest_build}`:null}}function _(e,t){return!t||t.error?null:e===`os`?typeof t.count==`number`?t.count>0:null:e===`hermes`?typeof t.behind==`number`?t.behind>0:null:t.latest_build==null||t.installed_build==null?null:t.latest_build>t.installed_build}function v(e){let t=e.trim();return/timed out|timeout|zeitüberschreitung/i.test(t)?`Konnte nicht prüfen: Die Gegenstelle hat nicht rechtzeitig geantwortet. Später klappt es meist wieder.`:/name resolution|name or service not known|network is unreachable|connection (refused|reset)|nicht erreichbar/i.test(t)?`Konnte nicht prüfen: Die Box kommt gerade nicht ins Internet.`:`Konnte nicht prüfen: ${t.length>160?`${t.slice(0,157)}…`:t}`}var y=e=>e.group===`download`||/^download\s/i.test(e.label),b=e=>e.group===`pruefen`||e.label===`Nach Updates suchen`,x=e=>l(e)&&y(e),S=[[/^download\s+(.+)$/i,`Download $1`],[/^OS-Update \(apt\)$/,`Update Betriebssystem`],[/^Engine-Update \(llama\.cpp Vulkan\)$/,`Update Motor (llama.cpp)`],[/^Router-Update \(llama-swap\)$/,`Update llama-swap`],[/^Hermes-Agent-Update$/,`Update Hermes`]],C=[[`Engine (llama.cpp)`,`Motor`],[`Router (llama-swap)`,`llama-swap`],[`Hermes-Agent`,`Hermes`],[`OS (apt)`,`Betriebssystem`]];function w(e){for(let[t,n]of S)if(t.test(e.label))return e.label.replace(t,n);return e.label.startsWith(`Alle aktualisieren`)?C.reduce((e,[t,n])=>e.split(t).join(n),e.label):e.label}function T(e){if(e<60)return`noch unter einer Minute`;let t=Math.round(e/60);if(t<60)return`noch etwa ${t} min`;let n=Math.floor(t/60),r=t%60;return r?`noch etwa ${n} h ${r} min`:`noch etwa ${n} h`}function E(e,t=Date.now()/1e3){let n=Math.max(0,t-e.started_at),r=Math.floor(n/60),i=n<60?`ein paar Sekunden`:r<60?`${r} min`:`${Math.floor(r/60)} h ${r%60} min`;return`${e.state===`queued`?`Wartet`:`Läuft`} seit ${i}`}function D(e){if(e.progress==null)return null;let t=[`${Math.round(e.progress)} %`];return e.total_bytes&&t.push(`${u(e.done_bytes??0,1)} von ${u(e.total_bytes,1)}`),e.eta_s!=null&&l(e)&&t.push(T(e.eta_s)),t.join(` · `)}function O(e){for(let t=(e.log?.length??0)-1;t>=0;t--){let n=e.log[t].trim();if(n&&!n.startsWith(`$ `))return n}return null}function k(e,t=Date.now()/1e3){let n=e.filter(l).sort((e,t)=>e.started_at-t.started_at),r=e.filter(e=>!l(e)&&!e.quittiert&&t-(e.finished_at??e.started_at)<86400).sort((e,t)=>(t.finished_at??t.started_at)-(e.finished_at??e.started_at)).slice(0,3);return[...n,...r]}function A(e,t,n){if(!n)return`Nach dem Download übernimmt ${e} die Rolle „${t}“.`;let r=n.weitere.length?` Die Rolle${n.weitere.length===1?``:`n`} „${n.weitere.join(`“, „`)}“ behält es.`:``;return`Achtung: Nach dem Download übernimmt ${e} die Rolle „${t}“ und ersetzt damit ${n.name}. Das bisherige Modell bleibt auf der Platte.${r}`+(n.zwilling?` Bilder liest vorerst weiter sein Bild-Zwilling, also noch das bisherige Modell.`:``)}function j(e){return`Kurze Unterbrechung: Beim Eintragen lädt llama-swap sofort neu. Was Lucy oder OpenChamber gerade schreiben, bricht ab, und die Modelle werden neu geladen.`+(e?` Mit Rolle passiert das nach dem Download noch einmal.`:``)}var M=t(e(),1),N=n(),P={queued:{text:`Wartet`,art:`cyan`},running:{text:`Läuft`,art:`cyan`},done:{text:`Fertig`,art:`gruen`},failed:{text:`Fehler`,art:`rot`},canceled:{text:`Abgebrochen`,art:`grau`}},F={queued:`bg-cyan`,running:`bg-cyan`,done:`bg-gruen`,failed:`bg-rot`,canceled:`bg-text-3`},I=e=>a(new Date(e*1e3).toISOString());function L(e){let t=(0,h.c)(3),[n,r]=(0,M.useState)(R),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;let t=window.setInterval(()=>r(Date.now()/1e3),3e4);return()=>window.clearInterval(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,M.useEffect)(i,a),n}function R(){return Date.now()/1e3}function z(e){let t=(0,h.c)(76),{job:n,onAbbrechen:r,onQuittieren:a,abbrechenGesperrt:o,ebene:c}=e,u=c===void 0?4:c,[d,m]=(0,M.useState)(!1),[g,_]=(0,M.useState)(!1),v;t[0]===n.state?v=t[1]:(v=P[n.state]??{text:n.state,art:`grau`},t[0]=n.state,t[1]=v);let b=v,S;t[2]===n?S=t[3]:(S=w(n),t[2]=n,t[3]=S);let C=S,T;t[4]===n?T=t[5]:(T=D(n),t[4]=n,t[5]=T);let k=T,A;t[6]===n?A=t[7]:(A=O(n),t[6]=n,t[7]=A);let j=A,R;t[8]===n?R=t[9]:(R=l(n),t[8]=n,t[9]=R);let z=R,B=L(z),V;t[10]!==n||t[11]!==r?(V=!!r&&x(n),t[10]=n,t[11]=r,t[12]=V):V=t[12];let H=V,U,W,G,K,q,J,Y,X;if(t[13]!==o||t[14]!==H||t[15]!==u||t[16]!==k||t[17]!==B||t[18]!==n||t[19]!==z||t[20]!==j||t[21]!==a||t[22]!==g||t[23]!==C||t[24]!==b.art||t[25]!==b.text){let e=(n.log??[]).slice(-12),r=u===3?`h3`:`h4`;Y=`Auftrag: ${C}`,X=`flex flex-col gap-2.5 flaeche-innen rounded-2xl p-3.5`;let c;t[34]!==r||t[35]!==C?(c=(0,N.jsx)(r,{className:`m-0 min-w-0 text-[15px] leading-snug font-semibold break-words`,children:C}),t[34]=r,t[35]=C,t[36]=c):c=t[36];let l;t[37]!==b.art||t[38]!==b.text?(l=(0,N.jsx)(s,{art:b.art,children:b.text}),t[37]=b.art,t[38]=b.text,t[39]=l):l=t[39],t[40]!==c||t[41]!==l?(U=(0,N.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[c,l]}),t[40]=c,t[41]=l,t[42]=U):U=t[42],t[43]!==n.progress||t[44]!==n.state||t[45]!==C?(W=n.progress!=null&&(0,N.jsx)(`div`,{role:`progressbar`,"aria-label":`Fortschritt: ${C}`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(n.progress),className:`h-2 overflow-hidden rounded-full bg-linie`,children:(0,N.jsx)(`div`,{className:i(`h-full`,F[n.state]??`bg-cyan`),style:{width:`${Math.max(2,Math.min(100,n.progress))}%`}})}),t[43]=n.progress,t[44]=n.state,t[45]=C,t[46]=W):W=t[46];let d;t[47]!==k||t[48]!==B||t[49]!==n||t[50]!==z||t[51]!==b.text?(d=z?k??E(n,B):`${b.text} · ${I(n.finished_at??n.started_at)}`,t[47]=k,t[48]=B,t[49]=n,t[50]=z,t[51]=b.text,t[52]=d):d=t[52],t[53]===d?G=t[54]:(G=(0,N.jsx)(`p`,{className:`ziffern m-0 text-sm text-text-2`,children:d}),t[53]=d,t[54]=G),t[55]!==n.progress||t[56]!==n.state||t[57]!==z||t[58]!==j?(K=j&&(n.state===`failed`||z&&n.progress==null)&&(0,N.jsx)(`p`,{className:n.state===`failed`?`m-0 text-sm break-words text-rot-text`:`ziffern m-0 line-clamp-2 text-xs break-all text-text-3`,children:n.state===`failed`?`Letzte Meldung: ${j}`:j}),t[55]=n.progress,t[56]=n.state,t[57]=z,t[58]=j,t[59]=K):K=t[59],q=(H||e.length>1||!z&&a)&&(0,N.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[H&&(0,N.jsx)(f,{variant:`outline`,size:`sm`,disabled:o,onClick:()=>m(!0),children:`Abbrechen`}),e.length>1&&(0,N.jsx)(f,{variant:`ghost`,size:`sm`,"aria-expanded":g,onClick:()=>_(!g),children:g?`Protokoll zu`:`Protokoll`}),!z&&a&&(0,N.jsx)(f,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:()=>a(n),children:`Ausblenden`})]}),J=g&&(0,N.jsx)(`pre`,{className:`ziffern m-0 max-h-56 overflow-auto rounded-md bg-[#0b0d0f] p-2 text-xs whitespace-pre-wrap break-all text-text-2`,children:e.join(` +`)}),t[13]=o,t[14]=H,t[15]=u,t[16]=k,t[17]=B,t[18]=n,t[19]=z,t[20]=j,t[21]=a,t[22]=g,t[23]=C,t[24]=b.art,t[25]=b.text,t[26]=U,t[27]=W,t[28]=G,t[29]=K,t[30]=q,t[31]=J,t[32]=Y,t[33]=X}else U=t[26],W=t[27],G=t[28],K=t[29],q=t[30],J=t[31],Y=t[32],X=t[33];let Z;t[60]!==H||t[61]!==d||t[62]!==n||t[63]!==r||t[64]!==C?(Z=H&&(0,N.jsx)(p,{offen:d,gefahr:!0,titel:`Auftrag abbrechen?`,text:y(n)?`Der ${C} stoppt. Du kannst ihn später über „Modelle selbst suchen“ neu starten.`:`„${C}“ wird abgebrochen.`,knopf:`Ja, abbrechen`,neinKnopf:`Weiterlaufen lassen`,onNein:()=>m(!1),onJa:()=>{d&&(m(!1),r?.(n))}}),t[60]=H,t[61]=d,t[62]=n,t[63]=r,t[64]=C,t[65]=Z):Z=t[65];let Q;return t[66]!==U||t[67]!==W||t[68]!==G||t[69]!==K||t[70]!==q||t[71]!==J||t[72]!==Z||t[73]!==Y||t[74]!==X?(Q=(0,N.jsxs)(`article`,{"aria-label":Y,className:X,children:[U,W,G,K,q,J,Z]}),t[66]=U,t[67]=W,t[68]=G,t[69]=K,t[70]=q,t[71]=J,t[72]=Z,t[73]=Y,t[74]=X,t[75]=Q):Q=t[75],Q}function B(e){let t=(0,h.c)(19),{alsPanel:n}=e,r=n!==void 0&&n,i=c(),a=o(),s=d(),l,u;if(t[0]!==a||t[1]!==r||t[2]!==i.data||t[3]!==i.error||t[4]!==i.isError||t[5]!==s){u=Symbol.for(`react.early_return_sentinel`);bb0:{let e=k(i.data?.jobs??[]);if(e.length>0){let n;t[8]!==a||t[9]!==r||t[10]!==s?(n=e=>(0,N.jsx)(z,{job:e,ebene:r?3:4,abbrechenGesperrt:a.isPending,onAbbrechen:e=>a.mutate({id:e.id,titel:w(e)}),onQuittieren:e=>s.mutate(e.id)},e.id),t[8]=a,t[9]=r,t[10]=s,t[11]=n):n=t[11],l=(0,N.jsx)(`div`,{className:`grid items-start gap-2.5 lg:grid-cols-2`,children:e.map(n)})}else if(i.isError&&!i.data){let e;t[12]===i.error.message?e=t[13]:(e=(0,N.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Aufträge lassen sich gerade nicht lesen: `,i.error.message]}),t[12]=i.error.message,t[13]=e),l=e}else{u=null;break bb0}}t[0]=a,t[1]=r,t[2]=i.data,t[3]=i.error,t[4]=i.isError,t[5]=s,t[6]=l,t[7]=u}else l=t[6],u=t[7];if(u!==Symbol.for(`react.early_return_sentinel`))return u;if(r){let e;return t[14]===l?e=t[15]:(e=(0,N.jsx)(m,{titel:`Aufträge`,children:l}),t[14]=l,t[15]=e),e}let f;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,N.jsx)(`h3`,{className:`etikett m-0 text-[11.5px] tracking-[0.16em] text-text-3`,children:`Aufträge`}),t[16]=f):f=t[16];let p;return t[17]===l?p=t[18]:(p=(0,N.jsxs)(`section`,{"aria-label":`Aufträge`,className:`flex flex-col gap-2.5`,children:[f,l]}),t[17]=l,t[18]=p),p}export{O as a,g as c,b as i,_ as n,v as o,j as r,A as s,B as t}; \ No newline at end of file diff --git a/frontend/dist/assets/Bestaetigen-6C3zYuEE.js b/frontend/dist/assets/Bestaetigen-BGcVQso2.js similarity index 97% rename from frontend/dist/assets/Bestaetigen-6C3zYuEE.js rename to frontend/dist/assets/Bestaetigen-BGcVQso2.js index e1db463..3367ba7 100644 --- a/frontend/dist/assets/Bestaetigen-6C3zYuEE.js +++ b/frontend/dist/assets/Bestaetigen-BGcVQso2.js @@ -1 +1 @@ -import{a as e,i as t,r as n,s as r,t as i}from"./dist-aE7UmubC.js";import{_n as a}from"./index-CJ1jXWsM.js";import{t as o}from"./button-DwYvdWVr.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-D-yM169e.js";var m=n();e();var h=t();function g(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(p,{"data-slot":`dialog`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(u,{"data-slot":`dialog-portal`,...n}),t[2]=n,t[3]=r),r}function v(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(s,{"data-slot":`dialog-overlay`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function y(e){let t=(0,m.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,showCloseButton:c,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let u=c===void 0||c,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,h.jsx)(v,{}),t[5]=f):f=t[5];let p;t[6]===r?p=t[7]:(p=i(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,r),t[6]=r,t[7]=p);let g;t[8]===u?g=t[9]:(g=u&&(0,h.jsx)(l,{"data-slot":`dialog-close`,asChild:!0,children:(0,h.jsxs)(o,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,h.jsx)(a,{}),(0,h.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[8]=u,t[9]=g);let y;return t[10]!==n||t[11]!==s||t[12]!==p||t[13]!==g?(y=(0,h.jsxs)(_,{children:[f,(0,h.jsxs)(d,{"data-slot":`dialog-content`,className:p,...s,children:[n,g]})]}),t[10]=n,t[11]=s,t[12]=p,t[13]=g,t[14]=y):y=t[14],y}function b(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`flex flex-col gap-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(`div`,{"data-slot":`dialog-header`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,m.c)(14),n,r,a,s;t[0]===e?(n=t[1],r=t[2],a=t[3],s=t[4]):({className:r,showCloseButton:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=a,t[4]=s);let c=s!==void 0&&s,u;t[5]===r?u=t[6]:(u=i(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,r),t[5]=r,t[6]=u);let d;t[7]===c?d=t[8]:(d=c&&(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(o,{variant:`outline`,children:`Schließen`})}),t[7]=c,t[8]=d);let f;return t[9]!==n||t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,h.jsxs)(`div`,{"data-slot":`dialog-footer`,className:u,...a,children:[n,d]}),t[9]=n,t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function S(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`font-heading text-base leading-none font-medium`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(f,{"data-slot":`dialog-title`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function C(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(c,{"data-slot":`dialog-description`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}var w=r({Bestaetigen:()=>T});function T(e){let t=(0,m.c)(32),{offen:n,titel:r,text:i,knopf:a,neinKnopf:s,gefahr:c,gesperrt:l,onJa:u,onNein:d,children:f}=e,p=s===void 0?`Abbrechen`:s,_;t[0]===d?_=t[1]:(_=e=>!e&&d(),t[0]=d,t[1]=_);let v;t[2]===r?v=t[3]:(v=(0,h.jsx)(S,{className:`pr-10 text-[19px] leading-snug font-semibold break-words`,children:r}),t[2]=r,t[3]=v);let w;t[4]===i?w=t[5]:(w=(0,h.jsx)(C,{className:`text-[15px] leading-relaxed text-text-2`,children:i}),t[4]=i,t[5]=w);let T;t[6]!==v||t[7]!==w?(T=(0,h.jsxs)(b,{children:[v,w]}),t[6]=v,t[7]=w,t[8]=T):T=t[8];let E;t[9]!==p||t[10]!==d?(E=(0,h.jsx)(o,{variant:`outline`,onClick:d,children:p}),t[9]=p,t[10]=d,t[11]=E):E=t[11];let D=c?`gefahr`:`default`,O=l||void 0,k;t[12]!==l||t[13]!==u?(k=()=>{l||u()},t[12]=l,t[13]=u,t[14]=k):k=t[14];let A;t[15]!==l||t[16]!==a||t[17]!==D||t[18]!==O||t[19]!==k?(A=(0,h.jsx)(o,{variant:D,disabled:l,"aria-busy":O,onClick:k,children:a}),t[15]=l,t[16]=a,t[17]=D,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==E?(j=(0,h.jsxs)(x,{className:`sticky bottom-0 mb-0 gap-2 bg-[#121722] sm:gap-2`,children:[E,A]}),t[21]=A,t[22]=E,t[23]=j):j=t[23];let M;t[24]!==f||t[25]!==j||t[26]!==T?(M=(0,h.jsxs)(y,{className:`max-h-[calc(100dvh-2rem)] overflow-y-auto border-white/10 bg-[#0e121a] pb-0 sm:max-w-lg`,children:[T,f,j]}),t[24]=f,t[25]=j,t[26]=T,t[27]=M):M=t[27];let N;return t[28]!==n||t[29]!==M||t[30]!==_?(N=(0,h.jsx)(g,{open:n,onOpenChange:_,children:M}),t[28]=n,t[29]=M,t[30]=_,t[31]=N):N=t[31],N}export{w as n,T as t}; \ No newline at end of file +import{a as e,i as t,r as n,s as r,t as i}from"./dist-aE7UmubC.js";import{bn as a}from"./index-CiJU28k0.js";import{t as o}from"./button-DwYvdWVr.js";import{a as s,i as c,n as l,o as u,r as d,s as f,t as p}from"./dist-C2HMtjaj.js";var m=n();e();var h=t();function g(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(p,{"data-slot":`dialog`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,m.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,h.jsx)(u,{"data-slot":`dialog-portal`,...n}),t[2]=n,t[3]=r),r}function v(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`fixed inset-0 isolate z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(s,{"data-slot":`dialog-overlay`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function y(e){let t=(0,m.c)(15),n,r,s,c;t[0]===e?(n=t[1],r=t[2],s=t[3],c=t[4]):({className:r,children:n,showCloseButton:c,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=s,t[4]=c);let u=c===void 0||c,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,h.jsx)(v,{}),t[5]=f):f=t[5];let p;t[6]===r?p=t[7]:(p=i(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-popover p-4 text-sm text-popover-foreground ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,r),t[6]=r,t[7]=p);let g;t[8]===u?g=t[9]:(g=u&&(0,h.jsx)(l,{"data-slot":`dialog-close`,asChild:!0,children:(0,h.jsxs)(o,{variant:`ghost`,className:`absolute top-2 right-2`,size:`icon-sm`,children:[(0,h.jsx)(a,{}),(0,h.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[8]=u,t[9]=g);let y;return t[10]!==n||t[11]!==s||t[12]!==p||t[13]!==g?(y=(0,h.jsxs)(_,{children:[f,(0,h.jsxs)(d,{"data-slot":`dialog-content`,className:p,...s,children:[n,g]})]}),t[10]=n,t[11]=s,t[12]=p,t[13]=g,t[14]=y):y=t[14],y}function b(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`flex flex-col gap-2`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(`div`,{"data-slot":`dialog-header`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,m.c)(14),n,r,a,s;t[0]===e?(n=t[1],r=t[2],a=t[3],s=t[4]):({className:r,showCloseButton:s,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=a,t[4]=s);let c=s!==void 0&&s,u;t[5]===r?u=t[6]:(u=i(`-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 sm:flex-row sm:justify-end`,r),t[5]=r,t[6]=u);let d;t[7]===c?d=t[8]:(d=c&&(0,h.jsx)(l,{asChild:!0,children:(0,h.jsx)(o,{variant:`outline`,children:`Schließen`})}),t[7]=c,t[8]=d);let f;return t[9]!==n||t[10]!==a||t[11]!==u||t[12]!==d?(f=(0,h.jsxs)(`div`,{"data-slot":`dialog-footer`,className:u,...a,children:[n,d]}),t[9]=n,t[10]=a,t[11]=u,t[12]=d,t[13]=f):f=t[13],f}function S(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`font-heading text-base leading-none font-medium`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(f,{"data-slot":`dialog-title`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function C(e){let t=(0,m.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let a;t[3]===n?a=t[4]:(a=i(`text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==r||t[6]!==a?(o=(0,h.jsx)(c,{"data-slot":`dialog-description`,className:a,...r}),t[5]=r,t[6]=a,t[7]=o):o=t[7],o}var w=r({Bestaetigen:()=>T});function T(e){let t=(0,m.c)(32),{offen:n,titel:r,text:i,knopf:a,neinKnopf:s,gefahr:c,gesperrt:l,onJa:u,onNein:d,children:f}=e,p=s===void 0?`Abbrechen`:s,_;t[0]===d?_=t[1]:(_=e=>!e&&d(),t[0]=d,t[1]=_);let v;t[2]===r?v=t[3]:(v=(0,h.jsx)(S,{className:`pr-10 text-[19px] leading-snug font-semibold break-words`,children:r}),t[2]=r,t[3]=v);let w;t[4]===i?w=t[5]:(w=(0,h.jsx)(C,{className:`text-[15px] leading-relaxed text-text-2`,children:i}),t[4]=i,t[5]=w);let T;t[6]!==v||t[7]!==w?(T=(0,h.jsxs)(b,{children:[v,w]}),t[6]=v,t[7]=w,t[8]=T):T=t[8];let E;t[9]!==p||t[10]!==d?(E=(0,h.jsx)(o,{variant:`outline`,onClick:d,children:p}),t[9]=p,t[10]=d,t[11]=E):E=t[11];let D=c?`gefahr`:`default`,O=l||void 0,k;t[12]!==l||t[13]!==u?(k=()=>{l||u()},t[12]=l,t[13]=u,t[14]=k):k=t[14];let A;t[15]!==l||t[16]!==a||t[17]!==D||t[18]!==O||t[19]!==k?(A=(0,h.jsx)(o,{variant:D,disabled:l,"aria-busy":O,onClick:k,children:a}),t[15]=l,t[16]=a,t[17]=D,t[18]=O,t[19]=k,t[20]=A):A=t[20];let j;t[21]!==A||t[22]!==E?(j=(0,h.jsxs)(x,{className:`sticky bottom-0 mb-0 gap-2 bg-[#121722] sm:gap-2`,children:[E,A]}),t[21]=A,t[22]=E,t[23]=j):j=t[23];let M;t[24]!==f||t[25]!==j||t[26]!==T?(M=(0,h.jsxs)(y,{className:`max-h-[calc(100dvh-2rem)] overflow-y-auto border-white/10 bg-[#0e121a] pb-0 sm:max-w-lg`,children:[T,f,j]}),t[24]=f,t[25]=j,t[26]=T,t[27]=M):M=t[27];let N;return t[28]!==n||t[29]!==M||t[30]!==_?(N=(0,h.jsx)(g,{open:n,onOpenChange:_,children:M}),t[28]=n,t[29]=M,t[30]=_,t[31]=N):N=t[31],N}export{w as n,T as t}; \ No newline at end of file diff --git a/frontend/dist/assets/Dienste-CuaesLC2.js b/frontend/dist/assets/Dienste-fAdqSLxO.js similarity index 76% rename from frontend/dist/assets/Dienste-CuaesLC2.js rename to frontend/dist/assets/Dienste-fAdqSLxO.js index b2e70ff..9dbb33b 100644 --- a/frontend/dist/assets/Dienste-CuaesLC2.js +++ b/frontend/dist/assets/Dienste-fAdqSLxO.js @@ -1 +1 @@ -import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{A as a,M as o,N as s,O as c,On as l,Qt as u,S as d,X as f,Xt as p,gn as m,in as h,kt as g,mn as _,ot as v,sn as y,tn as b}from"./index-CJ1jXWsM.js";import{t as x}from"./button-DwYvdWVr.js";import{t as S}from"./Bestaetigen-6C3zYuEE.js";import{t as C}from"./Panel-uT1S5ZGr.js";var w=t(e(),1),T=r(),E=n(),D={ok:{wort:`pünktlich`,punkt:`bg-gruen`,text:`text-text-3`},ueberfaellig:{wort:`überfällig`,punkt:`bg-rot shadow-[0_0_8px_var(--rot)]`,text:`text-rot-text`},gestoppt:{wort:`läuft nicht`,punkt:`bg-rot shadow-[0_0_8px_var(--rot)]`,text:`text-rot-text`},aus:{wort:`abgeschaltet`,punkt:`bg-text-3`,text:`text-text-3`}},O=`md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)_110px]`,k=e=>p(new Date(e*1e3).toISOString());function A(e){let t=(0,T.c)(36),{a:n}=e,r=D[n.status]??D.ok,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=i(`grid grid-cols-2 gap-x-4 gap-y-1.5 border-t border-white/[0.06] py-3 md:items-center`,O),t[0]=a):a=t[0];let o;t[1]===r.punkt?o=t[2]:(o=i(`mt-1.5 size-2 shrink-0 rounded-full`,r.punkt),t[1]=r.punkt,t[2]=o);let s;t[3]===o?s=t[4]:(s=(0,E.jsx)(`span`,{"aria-hidden":!0,className:o}),t[3]=o,t[4]=s);let c;t[5]===n.name?c=t[6]:(c=(0,E.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[5]=n.name,t[6]=c);let l;t[7]===n.takt?l=t[8]:(l=(0,E.jsx)(`span`,{className:`text-[13px] text-text-3`,children:n.takt}),t[7]=n.takt,t[8]=l);let u;t[9]!==c||t[10]!==l?(u=(0,E.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11];let d;t[12]!==s||t[13]!==u?(d=(0,E.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-start gap-2.5 md:col-span-1`,children:[s,u]}),t[12]=s,t[13]=u,t[14]=d):d=t[14];let f;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,E.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Zuletzt `}),t[15]=f):f=t[15];let p;t[16]===n.letzter?p=t[17]:(p=(0,E.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[f,n.letzter?(0,E.jsx)(`span`,{className:`ziffern`,children:b(n.letzter)}):(0,E.jsx)(`span`,{className:`text-text-3`,children:`–`})]}),t[16]=n.letzter,t[17]=p);let m;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,E.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Nächster `}),t[18]=m):m=t[18];let h;t[19]===n.naechster?h=t[20]:(h=(0,E.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[m,n.naechster?(0,E.jsx)(`span`,{className:`ziffern`,children:k(n.naechster).toLowerCase()}):(0,E.jsx)(`span`,{className:`text-text-3`,children:`–`})]}),t[19]=n.naechster,t[20]=h);let g;t[21]===r.text?g=t[22]:(g=i(`etikett text-[10.5px] tracking-[0.12em]`,r.text),t[21]=r.text,t[22]=g);let _;t[23]!==r.wort||t[24]!==g?(_=(0,E.jsx)(`span`,{role:`cell`,className:g,children:r.wort}),t[23]=r.wort,t[24]=g,t[25]=_):_=t[25];let v;t[26]!==n.status||t[27]!==n.text||t[28]!==r.text?(v=n.text&&n.status!==`ok`&&(0,E.jsx)(`p`,{className:i(`col-span-2 m-0 text-sm md:col-span-4 md:pl-[18px]`,r.text),children:n.text}),t[26]=n.status,t[27]=n.text,t[28]=r.text,t[29]=v):v=t[29];let y;return t[30]!==h||t[31]!==_||t[32]!==v||t[33]!==d||t[34]!==p?(y=(0,E.jsxs)(`div`,{role:`row`,className:a,children:[d,p,h,_,v]}),t[30]=h,t[31]=_,t[32]=v,t[33]=d,t[34]=p,t[35]=y):y=t[35],y}function j(){let e=(0,T.c)(15),t=f(),n;e[0]===t.data?.ablaeufe?n=e[1]:(n=t.data?.ablaeufe??[],e[0]=t.data?.ablaeufe,e[1]=n);let r=n,a;e[2]===r?a=e[3]:(a=r.filter(N),e[2]=r,e[3]=a);let s=a.length,c;e[4]!==t.data||e[5]!==s?(c=t.data?(0,E.jsx)(o,{art:s?`rot`:`gruen`,children:s?`${s} überfällig`:`alle pünktlich`}):void 0,e[4]=t.data,e[5]=s,e[6]=c):c=e[6];let l;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,E.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was die Box regelmäßig von selbst tut. Bleibt ein Lauf länger aus als erwartet, steht er hier oben und der Wächter meldet es — ein Stillstand wie im September fällt so am ersten Morgen auf.`}),e[7]=l):l=e[7];let u;e[8]!==t.error||e[9]!==t.isPending||e[10]!==r?(u=t.isPending?(0,E.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}):t.error?(0,E.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Zeitpläne lassen sich gerade nicht lesen: `,t.error.message]}):(0,E.jsxs)(`div`,{role:`table`,"aria-label":`Zeitpläne`,className:`flex flex-col`,children:[(0,E.jsxs)(`div`,{role:`row`,className:i(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,O),children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Ablauf`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Nächster`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Zustand`})]}),r.map(M)]}),e[8]=t.error,e[9]=t.isPending,e[10]=r,e[11]=u):u=e[11];let d;return e[12]!==c||e[13]!==u?(d=(0,E.jsxs)(C,{titel:`Zeitpläne`,rechts:c,children:[l,u]}),e[12]=c,e[13]=u,e[14]=d):d=e[14],d}function M(e){return(0,E.jsx)(A,{a:e},e.id)}function N(e){return e.status===`ueberfaellig`||e.status===`gestoppt`}var ee={laeuft:{wort:`läuft`,punkt:`bg-gruen`,text:`text-text-3`},startet:{wort:`startet`,punkt:`bg-bernstein`,text:`text-bernstein`},stoppt:{wort:`stoppt`,punkt:`bg-bernstein`,text:`text-bernstein`},antwortet_nicht:{wort:`antwortet nicht`,punkt:`bg-rot`,text:`text-rot-text`},gestoppt:{wort:`gestoppt`,punkt:`bg-rot`,text:`text-rot-text`},gescheitert:{wort:`gescheitert`,punkt:`bg-rot`,text:`text-rot-text`},schlaeft:{wort:`schläft`,punkt:`bg-text-3`,text:`text-text-3`}};function P(e){return e.zustand?e.zustand:e.ok?`laeuft`:e.schlaeft?`schlaeft`:`antwortet_nicht`}var F={gescheitert:0,gestoppt:0,antwortet_nicht:0,startet:1,stoppt:1,laeuft:3,schlaeft:4};function I(e){let t=P(e);return t===`laeuft`&&(e.neustarts??0)>0?2:F[t]}var te=e=>I(e)===0,L=e=>[...e].sort((e,t)=>I(e)-I(t)),R=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0}),z=new Intl.NumberFormat(`de-DE`,{minimumFractionDigits:1,maximumFractionDigits:1});function ne(e){if(e==null)return`–`;let t=e/1024**2;return t<1e3?`${R.format(t)} MB`:`${z.format(t/1024)} GB`}function re(e,t){return e.speicher_bytes==null||!t?null:(e.speicher_bytes+(e.grafik_bytes??0))/t*100}function ie(e){return e==null?`–`:e>0&&e<.05?`< 0,1 %`:e<10?`${z.format(e).replace(/,0$/,``)} %`:`${R.format(e)} %`}function ae(e){return e==null||e<0?`–`:e<60?`< 1 min`:d(e)}var B=`Europe/Berlin`,V=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:B}),H=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:B}),U=new Intl.DateTimeFormat(`en-CA`,{timeZone:B});function oe(e,t=Date.now()){let n=new Date(t-e*1e3),r=U.format(n);return r===U.format(new Date(t))?`heute ${V.format(n)}`:r===U.format(new Date(t-864e5))?`gestern ${V.format(n)}`:`${H.format(n)}, ${V.format(n)}`}function se(e,t=Date.now()){let n=P(e);return n===`schlaeft`?`mit Absicht aus`:(n===`gestoppt`||n===`gescheitert`)&&e.aus_seit_s!=null?`aus seit ${oe(e.aus_seit_s,t)}`:null}function W(e){let t=P(e);return t===`schlaeft`?`Wecken`:t===`gestoppt`||t===`gescheitert`?`Starten`:`Neu starten`}var G={"llama-swap":`Laufende Antworten brechen ab; die Modelle werden danach neu geladen.`,"mission-control-2":`Das ist diese Oberfläche selbst: Sie ist ein paar Sekunden nicht erreichbar.`,"hermes-gateway":`Lucy antwortet in der Zeit nicht.`};function K(e){let t=W(e);if(t===`Wecken`)return{titel:`${e.name} wecken?`,text:`Der Dienst startet und läuft bis zum nächsten Neustart der Box. Danach schläft er wieder.`,knopf:t};if(t===`Starten`)return{titel:`${e.name} starten?`,text:`Der Dienst wird gestartet. Scheitert er wieder, steht der Grund im Protokoll.`,knopf:t};let n=G[e.unit]?` ${G[e.unit]}`:``;return{titel:`${e.name} neu starten?`,text:`Der Dienst wird neu gestartet und ist dabei kurz nicht erreichbar.${n}`,knopf:t}}function q(e){let t=W(e);return`${e.name} ${t===`Wecken`?`wird geweckt`:t===`Starten`?`startet`:`startet neu`}.`}var ce={laeuft:`ok`,startet:`warn`,stoppt:`warn`,antwortet_nicht:`rot`,gestoppt:`rot`,gescheitert:`rot`,schlaeft:`aus`},le=`grid-cols-2 gap-x-4 sm:grid-cols-4 xl:gap-x-3 xl:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_9.5rem] min-[87.5rem]:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_17.5rem]`,J=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`});function ue(e){let t=(0,T.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,E.jsx)(`span`,{className:`block text-xs text-text-3 xl:hidden`,children:n}),t[0]=n,t[1]=r),r}function de(e){let t=(0,T.c)(7),{anteil:n,children:r}=e,i;t[0]===r?i=t[1]:(i=(0,E.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[0]=r,t[1]=i);let a;t[2]===n?a=t[3]:(a=n!==null&&(0,E.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,E.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.min(100,Math.max(2,n))}%`,background:`var(--reihe-1)`}})}),t[2]=n,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,E.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function fe(e){let t=(0,T.c)(9),{d:n,id:r}=e,i=g(n.unit),a=(0,w.useRef)(null),o;if(i.isPending)o=`Wird gelesen …`;else if(i.isError)o=`Das Protokoll lässt sich gerade nicht lesen: ${i.error.message}`;else if(i.data.ok===!1)o=i.data.err||i.data.text||`Das Protokoll lässt sich nicht lesen.`;else{let e;t[0]===i.data.text?e=t[1]:(e=i.data.text?.trim()||`Noch keine Einträge.`,t[0]=i.data.text,t[1]=e),o=e}let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{a.current&&(a.current.scrollTop=a.current.scrollHeight)},t[2]=s):s=t[2];let c;t[3]===o?c=t[4]:(c=[o],t[3]=o,t[4]=c),(0,w.useEffect)(s,c);let l=`Letzte Protokollzeilen von ${n.name}`,u;return t[5]!==r||t[6]!==l||t[7]!==o?(u=(0,E.jsx)(`pre`,{id:r,ref:a,tabIndex:0,"aria-label":l,className:`ziffern m-0 max-h-[50vh] w-full overflow-auto rounded-lg bg-black/30 ring-1 ring-white/[0.07] ring-inset p-3 text-xs leading-relaxed whitespace-pre-wrap break-words text-text-2`,children:o}),t[5]=r,t[6]=l,t[7]=o,t[8]=u):u=t[8],u}function Y(e){let t=(0,T.c)(113),{d:n,gesamt:r,offen:o,startet:s,onProtokoll:l,onFrage:u}=e,d=ee[P(n)],f;t[0]===n?f=t[1]:(f=se(n),t[0]=n,t[1]=f);let p=f,m,h,g,_,v,y,b,S,C,w,D;if(t[2]!==n||t[3]!==r||t[4]!==d.text||t[5]!==d.wort||t[6]!==p){let e=re(n,r);m=n.neustarts??0,h=`protokoll-${n.unit}`,S=`row`,t[18]===Symbol.for(`react.memo_cache_sentinel`)?(C=i(`grid gap-y-2.5 border-t border-white/[0.06] py-3 xl:items-center`,le),t[18]=C):C=t[18];let o;t[19]===n.unit?o=t[20]:(o=a(n.unit),t[19]=n.unit,t[20]=o);let s=ce[P(n)],l;t[21]!==o||t[22]!==s?(l=(0,E.jsx)(c,{bild:o,groesse:`sm`,punkt:s}),t[21]=o,t[22]=s,t[23]=l):l=t[23];let u;t[24]===n.name?u=t[25]:(u=(0,E.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[24]=n.name,t[25]=u);let f=n.scope===`system`?` · Systemdienst`:``,x;t[26]!==n.unit||t[27]!==f?(x=(0,E.jsxs)(`span`,{className:`ziffern text-xs break-words text-text-3`,children:[n.unit,f]}),t[26]=n.unit,t[27]=f,t[28]=x):x=t[28];let T;t[29]!==u||t[30]!==x?(T=(0,E.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[u,x]}),t[29]=u,t[30]=x,t[31]=T):T=t[31],t[32]!==l||t[33]!==T?(w=(0,E.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-3 xl:col-span-1`,children:[l,T]}),t[32]=l,t[33]=T,t[34]=w):w=t[34];let O;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,E.jsx)(ue,{children:`Zustand`}),t[35]=O):O=t[35];let k;t[36]===d.text?k=t[37]:(k=i(`etikett text-[10.5px] tracking-[0.12em]`,d.text),t[36]=d.text,t[37]=k);let A;t[38]!==k||t[39]!==d.wort?(A=(0,E.jsx)(`span`,{className:k,children:d.wort}),t[38]=k,t[39]=d.wort,t[40]=A):A=t[40];let j;t[41]===p?j=t[42]:(j=p&&(0,E.jsx)(`span`,{className:`text-xs text-text-3`,children:p}),t[41]=p,t[42]=j);let M;t[43]===m?M=t[44]:(M=m>0&&(0,E.jsx)(`span`,{className:`text-xs text-bernstein xl:hidden`,children:m===1?`1 Neustart`:`${m} Neustarts`}),t[43]=m,t[44]=M),t[45]!==A||t[46]!==j||t[47]!==M?(D=(0,E.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[O,A,j,M]}),t[45]=A,t[46]=j,t[47]=M,t[48]=D):D=t[48];let N;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,E.jsx)(ue,{children:`CPU`}),t[49]=N):N=t[49],t[50]===n.cpu_prozent?g=t[51]:(g=(0,E.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[N,n.cpu_prozent==null?(0,E.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,E.jsx)(de,{anteil:n.cpu_prozent,children:ie(n.cpu_prozent)})]}),t[50]=n.cpu_prozent,t[51]=g),_=`cell`,v=`min-w-0`,t[52]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,E.jsx)(ue,{children:`Speicher`}),t[52]=y):y=t[52],b=n.speicher_bytes==null?(0,E.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,E.jsxs)(de,{anteil:e,children:[ne(n.speicher_bytes+(n.grafik_bytes??0)),e!==null&&(0,E.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,ie(e)]})]}),t[2]=n,t[3]=r,t[4]=d.text,t[5]=d.wort,t[6]=p,t[7]=m,t[8]=h,t[9]=g,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=S,t[15]=C,t[16]=w,t[17]=D}else m=t[7],h=t[8],g=t[9],_=t[10],v=t[11],y=t[12],b=t[13],S=t[14],C=t[15],w=t[16],D=t[17];let O;t[53]!==n.grafik_bytes||t[54]!==n.speicher_bytes?(O=n.speicher_bytes!=null&&!!n.grafik_bytes&&(0,E.jsxs)(`span`,{className:`mt-1 block text-xs text-text-3`,children:[`davon `,ne(n.grafik_bytes),` Modelle`]}),t[53]=n.grafik_bytes,t[54]=n.speicher_bytes,t[55]=O):O=t[55];let k;t[56]!==O||t[57]!==_||t[58]!==v||t[59]!==y||t[60]!==b?(k=(0,E.jsxs)(`span`,{role:_,className:v,children:[y,b,O]}),t[56]=O,t[57]=_,t[58]=v,t[59]=y,t[60]=b,t[61]=k):k=t[61];let A;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,E.jsx)(ue,{children:`Läuft seit`}),t[62]=A):A=t[62];let j;t[63]===n.laeuft_seit_s?j=t[64]:(j=ae(n.laeuft_seit_s),t[63]=n.laeuft_seit_s,t[64]=j);let M;t[65]===j?M=t[66]:(M=(0,E.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:j}),t[65]=j,t[66]=M);let N;t[67]===n.laeuft_seit_s?N=t[68]:(N=n.laeuft_seit_s!=null&&(0,E.jsxs)(`span`,{className:`text-xs text-text-3`,children:[`gestartet `,oe(n.laeuft_seit_s)]}),t[67]=n.laeuft_seit_s,t[68]=N);let F;t[69]!==M||t[70]!==N?(F=(0,E.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[A,M,N]}),t[69]=M,t[70]=N,t[71]=F):F=t[71];let I=m>0?`text-bernstein`:`text-text-3`,L;t[72]===I?L=t[73]:(L=i(`ziffern text-sm`,I),t[72]=I,t[73]=L);let R=n.neustarts??`–`,z;t[74]!==L||t[75]!==R?(z=(0,E.jsx)(`span`,{role:`cell`,className:`hidden min-w-0 xl:block`,children:(0,E.jsx)(`span`,{className:L,children:R})}),t[74]=L,t[75]=R,t[76]=z):z=t[76];let B=o?`info`:`ghost`,V=o?h:void 0,H=`Protokoll von ${n.name}`,U;t[77]!==o||t[78]!==l||t[79]!==B||t[80]!==V||t[81]!==H?(U=(0,E.jsx)(x,{variant:B,size:`sm`,"aria-expanded":o,"aria-controls":V,"aria-label":H,onClick:l,children:`Protokoll`}),t[77]=o,t[78]=l,t[79]=B,t[80]=V,t[81]=H,t[82]=U):U=t[82];let G=te(n)?`default`:`outline`,K=s!==null,q;t[83]!==n||t[84]!==s?(q=s===n.unit?`startet …`:W(n),t[83]=n,t[84]=s,t[85]=q):q=t[85];let J=`${n.name}: ${q}`,Y;t[86]!==n||t[87]!==s?(Y=s===n.unit?`Startet …`:W(n),t[86]=n,t[87]=s,t[88]=Y):Y=t[88];let X;t[89]!==u||t[90]!==G||t[91]!==K||t[92]!==J||t[93]!==Y?(X=(0,E.jsx)(x,{variant:G,size:`sm`,disabled:K,"aria-label":J,onClick:u,children:Y}),t[89]=u,t[90]=G,t[91]=K,t[92]=J,t[93]=Y,t[94]=X):X=t[94];let Z;t[95]!==U||t[96]!==X?(Z=(0,E.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex flex-wrap gap-2 sm:col-start-3 sm:row-start-1 sm:justify-end sm:self-start xl:col-span-1 xl:col-start-auto xl:row-start-auto xl:flex-col xl:items-stretch xl:self-center min-[87.5rem]:flex-row min-[87.5rem]:justify-end`,children:[U,X]}),t[95]=U,t[96]=X,t[97]=Z):Z=t[97];let Q;t[98]!==n||t[99]!==o||t[100]!==h?(Q=o&&(0,E.jsx)(`div`,{role:`cell`,className:`col-span-full`,children:(0,E.jsx)(fe,{d:n,id:h})}),t[98]=n,t[99]=o,t[100]=h,t[101]=Q):Q=t[101];let $;return t[102]!==g||t[103]!==k||t[104]!==F||t[105]!==z||t[106]!==Z||t[107]!==Q||t[108]!==S||t[109]!==C||t[110]!==w||t[111]!==D?($=(0,E.jsxs)(`div`,{role:S,className:C,children:[w,D,g,k,F,z,Z,Q]}),t[102]=g,t[103]=k,t[104]=F,t[105]=z,t[106]=Z,t[107]=Q,t[108]=S,t[109]=C,t[110]=w,t[111]=D,t[112]=$):$=t[112],$}function X(e){let t=(0,T.c)(16),{stand:n,gewaehlt:r,startet:a,onProtokoll:o,onFrage:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,E.jsxs)(`div`,{role:`row`,className:i(`etikett hidden pb-2 text-[10.5px] tracking-[0.14em] text-text-3 xl:grid`,le),children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Dienst`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Zustand`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Neustarts`}),(0,E.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktionen`})]}),t[0]=c):c=t[0];let l;if(t[1]!==r||t[2]!==s||t[3]!==o||t[4]!==n.services||t[5]!==n.speicher_gesamt||t[6]!==a){let e;t[8]!==r||t[9]!==s||t[10]!==o||t[11]!==n.speicher_gesamt||t[12]!==a?(e=e=>(0,E.jsx)(Y,{d:e,gesamt:n.speicher_gesamt,offen:r===e.unit,startet:a,onProtokoll:()=>o(e.unit),onFrage:()=>s(e)},e.unit),t[8]=r,t[9]=s,t[10]=o,t[11]=n.speicher_gesamt,t[12]=a,t[13]=e):e=t[13],l=L(n.services).map(e),t[1]=r,t[2]=s,t[3]=o,t[4]=n.services,t[5]=n.speicher_gesamt,t[6]=a,t[7]=l}else l=t[7];let u;return t[14]===l?u=t[15]:(u=(0,E.jsxs)(`div`,{role:`table`,"aria-label":`Dienste der KI-Box`,className:`flex flex-col`,children:[c,l]}),t[14]=l,t[15]=u),u}function Z(e){let t=(0,T.c)(8),{dienste:n,stand:r}=e,i;t[0]===n?i=t[1]:(i=n.filter(te),t[0]=n,t[1]=i);let a=i.length,s;if(t[2]!==n||t[3]!==a||t[4]!==r){let e=n.filter($),i;t[6]===r?i=t[7]:(i=r>0&&(0,E.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,J.format(r)]}),t[6]=r,t[7]=i),s=(0,E.jsxs)(`span`,{className:`flex flex-wrap items-center gap-3`,children:[i,a>0?(0,E.jsx)(o,{art:`rot`,children:a===1?`1 Problem`:`${a} Probleme`}):e.length>0?(0,E.jsx)(o,{art:`bernstein`,children:e.some(Q)?`Startet gerade`:`Stoppt gerade`}):(0,E.jsx)(o,{art:`gruen`,children:`Alles in Ordnung`})]}),t[2]=n,t[3]=a,t[4]=r,t[5]=s}else s=t[5];return s}function Q(e){return P(e)===`startet`}function $(e){return I(e)===1}function pe(){let e=l(),t=v(),[n,r]=(0,w.useState)(null),[i,a]=(0,w.useState)(null),[o,c]=(0,w.useState)(!1),[d,f]=(0,w.useState)(null);async function p(t){if(!d){f(t.unit);try{let e=await m(`/api/maintenance/restart`,{service:t.unit});e.ok?h(`erfolg`,q(t)):h(`fehler`,`${t.name} ließ sich nicht starten: ${y(e)}`)}catch(e){t.unit===`mission-control-2`&&e instanceof _?h(`info`,`Der Box-Wart startet neu. Die Seite ist gleich wieder da.`):h(`fehler`,e.message)}finally{f(null),e.invalidateQueries({queryKey:[`dienste`]}),e.invalidateQueries({queryKey:[`protokoll`,t.unit]})}}}if(t.isPending)return(0,E.jsx)(s,{text:`Die Dienste werden gelesen …`});if(!t.data)return(0,E.jsx)(s,{fehler:!0,text:`Die Dienste lassen sich gerade nicht lesen: ${t.error?.message??`keine Daten`}`});let g=t.data,b=i?K(i):null,x=g.speicher_gesamt?`den ${u(g.speicher_gesamt)}`:`dem Arbeitsspeicher`,T=g.kerne?`allen ${g.kerne} Kernen`:`allen Kernen`;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)(C,{titel:`Dienste`,rechts:(0,E.jsx)(Z,{dienste:g.services,stand:t.dataUpdatedAt}),children:[(0,E.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Die Dienste der KI-Box: ob sie laufen, was sie gerade an CPU und Speicher brauchen, seit wann sie laufen und was sie zuletzt ins Protokoll geschrieben haben. Probleme stehen oben.`}),g.services.length===0?(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Dienste gefunden.`}):(0,E.jsx)(X,{stand:g,gewaehlt:n,startet:d,onProtokoll:e=>r(n===e?null:e),onFrage:e=>{a(e),c(!0)}}),(0,E.jsxs)(`p`,{className:`m-0 text-xs leading-relaxed text-text-3`,children:[`CPU: Anteil an `,T,` der Box, gemessen zwischen zwei Abfragen (alle zehn Sekunden). Speicher: was systemd dem Dienst zurechnet; der Balken zeigt den Anteil an `,x,` der Box. Bei der Engine zählen die geladenen Modelle mit — sie liegen im Grafikspeicher, den systemd keinem Dienst zurechnet. Neustarts: wie oft systemd den Dienst nach einem Absturz von selbst wieder gestartet hat. „Schläft“ heißt: mit Absicht abgeschaltet, kein Fehler.`]}),(0,E.jsx)(S,{offen:o&&!!b,titel:b?.titel??``,text:b?.text??``,knopf:b?.knopf??``,gefahr:b?.knopf===`Neu starten`,gesperrt:d!==null,onJa:()=>{c(!1),i&&p(i)},onNein:()=>c(!1)})]}),(0,E.jsx)(j,{})]})}export{pe as DiensteSeite}; \ No newline at end of file +import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{$t as a,A as o,M as s,Mt as c,N as l,O as u,S as d,X as f,_n as p,in as m,jn as h,ot as g,sn as _,tn as v,un as y,yn as b}from"./index-CiJU28k0.js";import{t as x}from"./button-DwYvdWVr.js";import{t as S}from"./Bestaetigen-BGcVQso2.js";import{t as C}from"./Panel-uT1S5ZGr.js";var w=t(e(),1),T=r(),E=n(),D={ok:{wort:`pünktlich`,punkt:`bg-gruen`,text:`text-text-3`},ueberfaellig:{wort:`überfällig`,punkt:`bg-rot shadow-[0_0_8px_var(--rot)]`,text:`text-rot-text`},gestoppt:{wort:`läuft nicht`,punkt:`bg-rot shadow-[0_0_8px_var(--rot)]`,text:`text-rot-text`},aus:{wort:`abgeschaltet`,punkt:`bg-text-3`,text:`text-text-3`}},O=`md:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)_110px]`,k=e=>a(new Date(e*1e3).toISOString());function A(e){let t=(0,T.c)(36),{a:n}=e,r=D[n.status]??D.ok,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=i(`grid grid-cols-2 gap-x-4 gap-y-1.5 border-t border-white/[0.06] py-3 md:items-center`,O),t[0]=a):a=t[0];let o;t[1]===r.punkt?o=t[2]:(o=i(`mt-1.5 size-2 shrink-0 rounded-full`,r.punkt),t[1]=r.punkt,t[2]=o);let s;t[3]===o?s=t[4]:(s=(0,E.jsx)(`span`,{"aria-hidden":!0,className:o}),t[3]=o,t[4]=s);let c;t[5]===n.name?c=t[6]:(c=(0,E.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[5]=n.name,t[6]=c);let l;t[7]===n.takt?l=t[8]:(l=(0,E.jsx)(`span`,{className:`text-[13px] text-text-3`,children:n.takt}),t[7]=n.takt,t[8]=l);let u;t[9]!==c||t[10]!==l?(u=(0,E.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[c,l]}),t[9]=c,t[10]=l,t[11]=u):u=t[11];let d;t[12]!==s||t[13]!==u?(d=(0,E.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-start gap-2.5 md:col-span-1`,children:[s,u]}),t[12]=s,t[13]=u,t[14]=d):d=t[14];let f;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,E.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Zuletzt `}),t[15]=f):f=t[15];let p;t[16]===n.letzter?p=t[17]:(p=(0,E.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[f,n.letzter?(0,E.jsx)(`span`,{className:`ziffern`,children:m(n.letzter)}):(0,E.jsx)(`span`,{className:`text-text-3`,children:`–`})]}),t[16]=n.letzter,t[17]=p);let h;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,E.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Nächster `}),t[18]=h):h=t[18];let g;t[19]===n.naechster?g=t[20]:(g=(0,E.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[h,n.naechster?(0,E.jsx)(`span`,{className:`ziffern`,children:k(n.naechster).toLowerCase()}):(0,E.jsx)(`span`,{className:`text-text-3`,children:`–`})]}),t[19]=n.naechster,t[20]=g);let _;t[21]===r.text?_=t[22]:(_=i(`etikett text-[10.5px] tracking-[0.12em]`,r.text),t[21]=r.text,t[22]=_);let v;t[23]!==r.wort||t[24]!==_?(v=(0,E.jsx)(`span`,{role:`cell`,className:_,children:r.wort}),t[23]=r.wort,t[24]=_,t[25]=v):v=t[25];let y;t[26]!==n.status||t[27]!==n.text||t[28]!==r.text?(y=n.text&&n.status!==`ok`&&(0,E.jsx)(`p`,{className:i(`col-span-2 m-0 text-sm md:col-span-4 md:pl-[18px]`,r.text),children:n.text}),t[26]=n.status,t[27]=n.text,t[28]=r.text,t[29]=y):y=t[29];let b;return t[30]!==g||t[31]!==v||t[32]!==y||t[33]!==d||t[34]!==p?(b=(0,E.jsxs)(`div`,{role:`row`,className:a,children:[d,p,g,v,y]}),t[30]=g,t[31]=v,t[32]=y,t[33]=d,t[34]=p,t[35]=b):b=t[35],b}function j(){let e=(0,T.c)(15),t=f(),n;e[0]===t.data?.ablaeufe?n=e[1]:(n=t.data?.ablaeufe??[],e[0]=t.data?.ablaeufe,e[1]=n);let r=n,a;e[2]===r?a=e[3]:(a=r.filter(N),e[2]=r,e[3]=a);let o=a.length,c;e[4]!==t.data||e[5]!==o?(c=t.data?(0,E.jsx)(s,{art:o?`rot`:`gruen`,children:o?`${o} überfällig`:`alle pünktlich`}):void 0,e[4]=t.data,e[5]=o,e[6]=c):c=e[6];let l;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,E.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was die Box regelmäßig von selbst tut. Bleibt ein Lauf länger aus als erwartet, steht er hier oben und der Wächter meldet es — ein Stillstand wie im September fällt so am ersten Morgen auf.`}),e[7]=l):l=e[7];let u;e[8]!==t.error||e[9]!==t.isPending||e[10]!==r?(u=t.isPending?(0,E.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}):t.error?(0,E.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Zeitpläne lassen sich gerade nicht lesen: `,t.error.message]}):(0,E.jsxs)(`div`,{role:`table`,"aria-label":`Zeitpläne`,className:`flex flex-col`,children:[(0,E.jsxs)(`div`,{role:`row`,className:i(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,O),children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Ablauf`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Nächster`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Zustand`})]}),r.map(M)]}),e[8]=t.error,e[9]=t.isPending,e[10]=r,e[11]=u):u=e[11];let d;return e[12]!==c||e[13]!==u?(d=(0,E.jsxs)(C,{titel:`Zeitpläne`,rechts:c,children:[l,u]}),e[12]=c,e[13]=u,e[14]=d):d=e[14],d}function M(e){return(0,E.jsx)(A,{a:e},e.id)}function N(e){return e.status===`ueberfaellig`||e.status===`gestoppt`}var ee={laeuft:{wort:`läuft`,punkt:`bg-gruen`,text:`text-text-3`},startet:{wort:`startet`,punkt:`bg-bernstein`,text:`text-bernstein`},stoppt:{wort:`stoppt`,punkt:`bg-bernstein`,text:`text-bernstein`},antwortet_nicht:{wort:`antwortet nicht`,punkt:`bg-rot`,text:`text-rot-text`},gestoppt:{wort:`gestoppt`,punkt:`bg-rot`,text:`text-rot-text`},gescheitert:{wort:`gescheitert`,punkt:`bg-rot`,text:`text-rot-text`},schlaeft:{wort:`schläft`,punkt:`bg-text-3`,text:`text-text-3`}};function P(e){return e.zustand?e.zustand:e.ok?`laeuft`:e.schlaeft?`schlaeft`:`antwortet_nicht`}var F={gescheitert:0,gestoppt:0,antwortet_nicht:0,startet:1,stoppt:1,laeuft:3,schlaeft:4};function I(e){let t=P(e);return t===`laeuft`&&(e.neustarts??0)>0?2:F[t]}var te=e=>I(e)===0,L=e=>[...e].sort((e,t)=>I(e)-I(t)),R=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0}),z=new Intl.NumberFormat(`de-DE`,{minimumFractionDigits:1,maximumFractionDigits:1});function ne(e){if(e==null)return`–`;let t=e/1024**2;return t<1e3?`${R.format(t)} MB`:`${z.format(t/1024)} GB`}function re(e,t){return e.speicher_bytes==null||!t?null:(e.speicher_bytes+(e.grafik_bytes??0))/t*100}function ie(e){return e==null?`–`:e>0&&e<.05?`< 0,1 %`:e<10?`${z.format(e).replace(/,0$/,``)} %`:`${R.format(e)} %`}function ae(e){return e==null||e<0?`–`:e<60?`< 1 min`:d(e)}var B=`Europe/Berlin`,V=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:B}),H=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:B}),U=new Intl.DateTimeFormat(`en-CA`,{timeZone:B});function oe(e,t=Date.now()){let n=new Date(t-e*1e3),r=U.format(n);return r===U.format(new Date(t))?`heute ${V.format(n)}`:r===U.format(new Date(t-864e5))?`gestern ${V.format(n)}`:`${H.format(n)}, ${V.format(n)}`}function se(e,t=Date.now()){let n=P(e);return n===`schlaeft`?`mit Absicht aus`:(n===`gestoppt`||n===`gescheitert`)&&e.aus_seit_s!=null?`aus seit ${oe(e.aus_seit_s,t)}`:null}function W(e){let t=P(e);return t===`schlaeft`?`Wecken`:t===`gestoppt`||t===`gescheitert`?`Starten`:`Neu starten`}var G={"llama-swap":`Laufende Antworten brechen ab; die Modelle werden danach neu geladen.`,"mission-control-2":`Das ist diese Oberfläche selbst: Sie ist ein paar Sekunden nicht erreichbar.`,"hermes-gateway":`Lucy antwortet in der Zeit nicht.`};function K(e){let t=W(e);if(t===`Wecken`)return{titel:`${e.name} wecken?`,text:`Der Dienst startet und läuft bis zum nächsten Neustart der Box. Danach schläft er wieder.`,knopf:t};if(t===`Starten`)return{titel:`${e.name} starten?`,text:`Der Dienst wird gestartet. Scheitert er wieder, steht der Grund im Protokoll.`,knopf:t};let n=G[e.unit]?` ${G[e.unit]}`:``;return{titel:`${e.name} neu starten?`,text:`Der Dienst wird neu gestartet und ist dabei kurz nicht erreichbar.${n}`,knopf:t}}function q(e){let t=W(e);return`${e.name} ${t===`Wecken`?`wird geweckt`:t===`Starten`?`startet`:`startet neu`}.`}var ce={laeuft:`ok`,startet:`warn`,stoppt:`warn`,antwortet_nicht:`rot`,gestoppt:`rot`,gescheitert:`rot`,schlaeft:`aus`},le=`grid-cols-2 gap-x-4 sm:grid-cols-4 xl:gap-x-3 xl:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_9.5rem] min-[87.5rem]:grid-cols-[minmax(0,1.7fr)_7rem_minmax(0,0.7fr)_minmax(0,1.2fr)_7.5rem_5rem_17.5rem]`,J=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`});function ue(e){let t=(0,T.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,E.jsx)(`span`,{className:`block text-xs text-text-3 xl:hidden`,children:n}),t[0]=n,t[1]=r),r}function de(e){let t=(0,T.c)(7),{anteil:n,children:r}=e,i;t[0]===r?i=t[1]:(i=(0,E.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[0]=r,t[1]=i);let a;t[2]===n?a=t[3]:(a=n!==null&&(0,E.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,E.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.min(100,Math.max(2,n))}%`,background:`var(--reihe-1)`}})}),t[2]=n,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,E.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function fe(e){let t=(0,T.c)(9),{d:n,id:r}=e,i=c(n.unit),a=(0,w.useRef)(null),o;if(i.isPending)o=`Wird gelesen …`;else if(i.isError)o=`Das Protokoll lässt sich gerade nicht lesen: ${i.error.message}`;else if(i.data.ok===!1)o=i.data.err||i.data.text||`Das Protokoll lässt sich nicht lesen.`;else{let e;t[0]===i.data.text?e=t[1]:(e=i.data.text?.trim()||`Noch keine Einträge.`,t[0]=i.data.text,t[1]=e),o=e}let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{a.current&&(a.current.scrollTop=a.current.scrollHeight)},t[2]=s):s=t[2];let l;t[3]===o?l=t[4]:(l=[o],t[3]=o,t[4]=l),(0,w.useEffect)(s,l);let u=`Letzte Protokollzeilen von ${n.name}`,d;return t[5]!==r||t[6]!==u||t[7]!==o?(d=(0,E.jsx)(`pre`,{id:r,ref:a,tabIndex:0,"aria-label":u,className:`ziffern m-0 max-h-[50vh] w-full overflow-auto rounded-lg bg-black/30 ring-1 ring-white/[0.07] ring-inset p-3 text-xs leading-relaxed whitespace-pre-wrap break-words text-text-2`,children:o}),t[5]=r,t[6]=u,t[7]=o,t[8]=d):d=t[8],d}function Y(e){let t=(0,T.c)(113),{d:n,gesamt:r,offen:a,startet:s,onProtokoll:c,onFrage:l}=e,d=ee[P(n)],f;t[0]===n?f=t[1]:(f=se(n),t[0]=n,t[1]=f);let p=f,m,h,g,_,v,y,b,S,C,w,D;if(t[2]!==n||t[3]!==r||t[4]!==d.text||t[5]!==d.wort||t[6]!==p){let e=re(n,r);m=n.neustarts??0,h=`protokoll-${n.unit}`,S=`row`,t[18]===Symbol.for(`react.memo_cache_sentinel`)?(C=i(`grid gap-y-2.5 border-t border-white/[0.06] py-3 xl:items-center`,le),t[18]=C):C=t[18];let a;t[19]===n.unit?a=t[20]:(a=o(n.unit),t[19]=n.unit,t[20]=a);let s=ce[P(n)],c;t[21]!==a||t[22]!==s?(c=(0,E.jsx)(u,{bild:a,groesse:`sm`,punkt:s}),t[21]=a,t[22]=s,t[23]=c):c=t[23];let l;t[24]===n.name?l=t[25]:(l=(0,E.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[24]=n.name,t[25]=l);let f=n.scope===`system`?` · Systemdienst`:``,x;t[26]!==n.unit||t[27]!==f?(x=(0,E.jsxs)(`span`,{className:`ziffern text-xs break-words text-text-3`,children:[n.unit,f]}),t[26]=n.unit,t[27]=f,t[28]=x):x=t[28];let T;t[29]!==l||t[30]!==x?(T=(0,E.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[l,x]}),t[29]=l,t[30]=x,t[31]=T):T=t[31],t[32]!==c||t[33]!==T?(w=(0,E.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-3 xl:col-span-1`,children:[c,T]}),t[32]=c,t[33]=T,t[34]=w):w=t[34];let O;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,E.jsx)(ue,{children:`Zustand`}),t[35]=O):O=t[35];let k;t[36]===d.text?k=t[37]:(k=i(`etikett text-[10.5px] tracking-[0.12em]`,d.text),t[36]=d.text,t[37]=k);let A;t[38]!==k||t[39]!==d.wort?(A=(0,E.jsx)(`span`,{className:k,children:d.wort}),t[38]=k,t[39]=d.wort,t[40]=A):A=t[40];let j;t[41]===p?j=t[42]:(j=p&&(0,E.jsx)(`span`,{className:`text-xs text-text-3`,children:p}),t[41]=p,t[42]=j);let M;t[43]===m?M=t[44]:(M=m>0&&(0,E.jsx)(`span`,{className:`text-xs text-bernstein xl:hidden`,children:m===1?`1 Neustart`:`${m} Neustarts`}),t[43]=m,t[44]=M),t[45]!==A||t[46]!==j||t[47]!==M?(D=(0,E.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[O,A,j,M]}),t[45]=A,t[46]=j,t[47]=M,t[48]=D):D=t[48];let N;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,E.jsx)(ue,{children:`CPU`}),t[49]=N):N=t[49],t[50]===n.cpu_prozent?g=t[51]:(g=(0,E.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[N,n.cpu_prozent==null?(0,E.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,E.jsx)(de,{anteil:n.cpu_prozent,children:ie(n.cpu_prozent)})]}),t[50]=n.cpu_prozent,t[51]=g),_=`cell`,v=`min-w-0`,t[52]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,E.jsx)(ue,{children:`Speicher`}),t[52]=y):y=t[52],b=n.speicher_bytes==null?(0,E.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}):(0,E.jsxs)(de,{anteil:e,children:[ne(n.speicher_bytes+(n.grafik_bytes??0)),e!==null&&(0,E.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,ie(e)]})]}),t[2]=n,t[3]=r,t[4]=d.text,t[5]=d.wort,t[6]=p,t[7]=m,t[8]=h,t[9]=g,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=S,t[15]=C,t[16]=w,t[17]=D}else m=t[7],h=t[8],g=t[9],_=t[10],v=t[11],y=t[12],b=t[13],S=t[14],C=t[15],w=t[16],D=t[17];let O;t[53]!==n.grafik_bytes||t[54]!==n.speicher_bytes?(O=n.speicher_bytes!=null&&!!n.grafik_bytes&&(0,E.jsxs)(`span`,{className:`mt-1 block text-xs text-text-3`,children:[`davon `,ne(n.grafik_bytes),` Modelle`]}),t[53]=n.grafik_bytes,t[54]=n.speicher_bytes,t[55]=O):O=t[55];let k;t[56]!==O||t[57]!==_||t[58]!==v||t[59]!==y||t[60]!==b?(k=(0,E.jsxs)(`span`,{role:_,className:v,children:[y,b,O]}),t[56]=O,t[57]=_,t[58]=v,t[59]=y,t[60]=b,t[61]=k):k=t[61];let A;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,E.jsx)(ue,{children:`Läuft seit`}),t[62]=A):A=t[62];let j;t[63]===n.laeuft_seit_s?j=t[64]:(j=ae(n.laeuft_seit_s),t[63]=n.laeuft_seit_s,t[64]=j);let M;t[65]===j?M=t[66]:(M=(0,E.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:j}),t[65]=j,t[66]=M);let N;t[67]===n.laeuft_seit_s?N=t[68]:(N=n.laeuft_seit_s!=null&&(0,E.jsxs)(`span`,{className:`text-xs text-text-3`,children:[`gestartet `,oe(n.laeuft_seit_s)]}),t[67]=n.laeuft_seit_s,t[68]=N);let F;t[69]!==M||t[70]!==N?(F=(0,E.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[A,M,N]}),t[69]=M,t[70]=N,t[71]=F):F=t[71];let I=m>0?`text-bernstein`:`text-text-3`,L;t[72]===I?L=t[73]:(L=i(`ziffern text-sm`,I),t[72]=I,t[73]=L);let R=n.neustarts??`–`,z;t[74]!==L||t[75]!==R?(z=(0,E.jsx)(`span`,{role:`cell`,className:`hidden min-w-0 xl:block`,children:(0,E.jsx)(`span`,{className:L,children:R})}),t[74]=L,t[75]=R,t[76]=z):z=t[76];let B=a?`info`:`ghost`,V=a?h:void 0,H=`Protokoll von ${n.name}`,U;t[77]!==a||t[78]!==c||t[79]!==B||t[80]!==V||t[81]!==H?(U=(0,E.jsx)(x,{variant:B,size:`sm`,"aria-expanded":a,"aria-controls":V,"aria-label":H,onClick:c,children:`Protokoll`}),t[77]=a,t[78]=c,t[79]=B,t[80]=V,t[81]=H,t[82]=U):U=t[82];let G=te(n)?`default`:`outline`,K=s!==null,q;t[83]!==n||t[84]!==s?(q=s===n.unit?`startet …`:W(n),t[83]=n,t[84]=s,t[85]=q):q=t[85];let J=`${n.name}: ${q}`,Y;t[86]!==n||t[87]!==s?(Y=s===n.unit?`Startet …`:W(n),t[86]=n,t[87]=s,t[88]=Y):Y=t[88];let X;t[89]!==l||t[90]!==G||t[91]!==K||t[92]!==J||t[93]!==Y?(X=(0,E.jsx)(x,{variant:G,size:`sm`,disabled:K,"aria-label":J,onClick:l,children:Y}),t[89]=l,t[90]=G,t[91]=K,t[92]=J,t[93]=Y,t[94]=X):X=t[94];let Z;t[95]!==U||t[96]!==X?(Z=(0,E.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex flex-wrap gap-2 sm:col-start-3 sm:row-start-1 sm:justify-end sm:self-start xl:col-span-1 xl:col-start-auto xl:row-start-auto xl:flex-col xl:items-stretch xl:self-center min-[87.5rem]:flex-row min-[87.5rem]:justify-end`,children:[U,X]}),t[95]=U,t[96]=X,t[97]=Z):Z=t[97];let Q;t[98]!==n||t[99]!==a||t[100]!==h?(Q=a&&(0,E.jsx)(`div`,{role:`cell`,className:`col-span-full`,children:(0,E.jsx)(fe,{d:n,id:h})}),t[98]=n,t[99]=a,t[100]=h,t[101]=Q):Q=t[101];let $;return t[102]!==g||t[103]!==k||t[104]!==F||t[105]!==z||t[106]!==Z||t[107]!==Q||t[108]!==S||t[109]!==C||t[110]!==w||t[111]!==D?($=(0,E.jsxs)(`div`,{role:S,className:C,children:[w,D,g,k,F,z,Z,Q]}),t[102]=g,t[103]=k,t[104]=F,t[105]=z,t[106]=Z,t[107]=Q,t[108]=S,t[109]=C,t[110]=w,t[111]=D,t[112]=$):$=t[112],$}function X(e){let t=(0,T.c)(16),{stand:n,gewaehlt:r,startet:a,onProtokoll:o,onFrage:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,E.jsxs)(`div`,{role:`row`,className:i(`etikett hidden pb-2 text-[10.5px] tracking-[0.14em] text-text-3 xl:grid`,le),children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Dienst`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Zustand`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Neustarts`}),(0,E.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktionen`})]}),t[0]=c):c=t[0];let l;if(t[1]!==r||t[2]!==s||t[3]!==o||t[4]!==n.services||t[5]!==n.speicher_gesamt||t[6]!==a){let e;t[8]!==r||t[9]!==s||t[10]!==o||t[11]!==n.speicher_gesamt||t[12]!==a?(e=e=>(0,E.jsx)(Y,{d:e,gesamt:n.speicher_gesamt,offen:r===e.unit,startet:a,onProtokoll:()=>o(e.unit),onFrage:()=>s(e)},e.unit),t[8]=r,t[9]=s,t[10]=o,t[11]=n.speicher_gesamt,t[12]=a,t[13]=e):e=t[13],l=L(n.services).map(e),t[1]=r,t[2]=s,t[3]=o,t[4]=n.services,t[5]=n.speicher_gesamt,t[6]=a,t[7]=l}else l=t[7];let u;return t[14]===l?u=t[15]:(u=(0,E.jsxs)(`div`,{role:`table`,"aria-label":`Dienste der KI-Box`,className:`flex flex-col`,children:[c,l]}),t[14]=l,t[15]=u),u}function Z(e){let t=(0,T.c)(8),{dienste:n,stand:r}=e,i;t[0]===n?i=t[1]:(i=n.filter(te),t[0]=n,t[1]=i);let a=i.length,o;if(t[2]!==n||t[3]!==a||t[4]!==r){let e=n.filter($),i;t[6]===r?i=t[7]:(i=r>0&&(0,E.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,J.format(r)]}),t[6]=r,t[7]=i),o=(0,E.jsxs)(`span`,{className:`flex flex-wrap items-center gap-3`,children:[i,a>0?(0,E.jsx)(s,{art:`rot`,children:a===1?`1 Problem`:`${a} Probleme`}):e.length>0?(0,E.jsx)(s,{art:`bernstein`,children:e.some(Q)?`Startet gerade`:`Stoppt gerade`}):(0,E.jsx)(s,{art:`gruen`,children:`Alles in Ordnung`})]}),t[2]=n,t[3]=a,t[4]=r,t[5]=o}else o=t[5];return o}function Q(e){return P(e)===`startet`}function $(e){return I(e)===1}function pe(){let e=h(),t=g(),[n,r]=(0,w.useState)(null),[i,a]=(0,w.useState)(null),[o,s]=(0,w.useState)(!1),[c,u]=(0,w.useState)(null);async function d(t){if(!c){u(t.unit);try{let e=await b(`/api/maintenance/restart`,{service:t.unit});e.ok?_(`erfolg`,q(t)):_(`fehler`,`${t.name} ließ sich nicht starten: ${y(e)}`)}catch(e){t.unit===`mission-control-2`&&e instanceof p?_(`info`,`Der Box-Wart startet neu. Die Seite ist gleich wieder da.`):_(`fehler`,e.message)}finally{u(null),e.invalidateQueries({queryKey:[`dienste`]}),e.invalidateQueries({queryKey:[`protokoll`,t.unit]})}}}if(t.isPending)return(0,E.jsx)(l,{text:`Die Dienste werden gelesen …`});if(!t.data)return(0,E.jsx)(l,{fehler:!0,text:`Die Dienste lassen sich gerade nicht lesen: ${t.error?.message??`keine Daten`}`});let f=t.data,m=i?K(i):null,x=f.speicher_gesamt?`den ${v(f.speicher_gesamt)}`:`dem Arbeitsspeicher`,T=f.kerne?`allen ${f.kerne} Kernen`:`allen Kernen`;return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsxs)(C,{titel:`Dienste`,rechts:(0,E.jsx)(Z,{dienste:f.services,stand:t.dataUpdatedAt}),children:[(0,E.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Die Dienste der KI-Box: ob sie laufen, was sie gerade an CPU und Speicher brauchen, seit wann sie laufen und was sie zuletzt ins Protokoll geschrieben haben. Probleme stehen oben.`}),f.services.length===0?(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Dienste gefunden.`}):(0,E.jsx)(X,{stand:f,gewaehlt:n,startet:c,onProtokoll:e=>r(n===e?null:e),onFrage:e=>{a(e),s(!0)}}),(0,E.jsxs)(`p`,{className:`m-0 text-xs leading-relaxed text-text-3`,children:[`CPU: Anteil an `,T,` der Box, gemessen zwischen zwei Abfragen (alle zehn Sekunden). Speicher: was systemd dem Dienst zurechnet; der Balken zeigt den Anteil an `,x,` der Box. Bei der Engine zählen die geladenen Modelle mit — sie liegen im Grafikspeicher, den systemd keinem Dienst zurechnet. Neustarts: wie oft systemd den Dienst nach einem Absturz von selbst wieder gestartet hat. „Schläft“ heißt: mit Absicht abgeschaltet, kein Fehler.`]}),(0,E.jsx)(S,{offen:o&&!!m,titel:m?.titel??``,text:m?.text??``,knopf:m?.knopf??``,gefahr:m?.knopf===`Neu starten`,gesperrt:c!==null,onJa:()=>{s(!1),i&&d(i)},onNein:()=>s(!1)})]}),(0,E.jsx)(j,{})]})}export{pe as DiensteSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Einstellungen-BE1LOt0Z.js b/frontend/dist/assets/Einstellungen-Dw85frtI.js similarity index 75% rename from frontend/dist/assets/Einstellungen-BE1LOt0Z.js rename to frontend/dist/assets/Einstellungen-Dw85frtI.js index 02edbe9..6845b5a 100644 --- a/frontend/dist/assets/Einstellungen-BE1LOt0Z.js +++ b/frontend/dist/assets/Einstellungen-Dw85frtI.js @@ -1 +1 @@ -import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{Dn as o,Gt as s,M as c,Mt as l,On as u,Ot as d,Ut as f,Vt as p,Xt as m,Z as h,bt as g,dt as _,gn as v,hn as y,in as b,nt as x,st as S,tt as C,xn as w}from"./index-CJ1jXWsM.js";import{t as T}from"./button-DwYvdWVr.js";import{t as E}from"./Bestaetigen-6C3zYuEE.js";var D={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};D.node;var O=r(D),k=i(),A=t(e(),1),j=n(),M=[`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`,`Sonntag`],N=Array.from({length:48},(e,t)=>`${String(Math.floor(t/2)).padStart(2,`0`)}:${t%2?`30`:`00`}`),P=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function F(e){let t=e?new Date(e):null;return t&&!Number.isNaN(t.getTime())?P.format(t):`–`}function I(e,t){let n=Number(t.slice(0,2)),r=n*60+179,i=e;r>=1440&&(r-=1440,i=e%7+1);let a=e=>String(e).padStart(2,`0`),o=`${a(n)}:00`,s=`${a(Math.floor(r/60))}:${a(r%60)}`;return i===e?`${M[e-1]} ${o}–${s}`:`${M[e-1]} ${o} – ${M[i-1]} ${s}`}function L(e){let t=(0,k.c)(6),{titel:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,j.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,j.jsxs)(`section`,{"aria-label":n,className:`flex flex-col gap-3 border-t border-white/[0.06] pt-4 first:border-t-0 first:pt-0`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function R(e){let t=(0,k.c)(22),{titel:n,text:r,farbe:i,children:o}=e,s=i===`box`?`var(--box)`:i===`homelab`?`var(--lab)`:null,c=i===`box`?`text-box-text`:i===`homelab`?`text-lab-text`:`text-foreground`,l=i===`box`?`[--rand:color-mix(in_srgb,var(--box)_28%,transparent)]`:i===`homelab`?`[--rand:color-mix(in_srgb,var(--lab)_28%,transparent)]`:``,u;t[0]===l?u=t[1]:(u=a(`flaeche relative flex min-w-0 flex-col gap-4 overflow-hidden rounded-3xl p-5 sm:p-6`,l),t[0]=l,t[1]=u);let d;t[2]===s?d=t[3]:(d=s&&(0,j.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute -top-40 -left-32 size-[400px] rounded-full`,style:{background:`radial-gradient(closest-side, color-mix(in srgb, ${s} 16%, transparent), transparent)`}}),t[2]=s,t[3]=d);let f;t[4]===c?f=t[5]:(f=a(`text-[19px] leading-tight font-semibold`,c),t[4]=c,t[5]=f);let p;t[6]!==f||t[7]!==n?(p=(0,j.jsx)(`h2`,{className:f,children:n}),t[6]=f,t[7]=n,t[8]=p):p=t[8];let m;t[9]===r?m=t[10]:(m=(0,j.jsx)(`p`,{className:`text-sm text-text-3`,children:r}),t[9]=r,t[10]=m);let h;t[11]!==p||t[12]!==m?(h=(0,j.jsxs)(`div`,{className:`relative flex flex-col gap-1`,children:[p,m]}),t[11]=p,t[12]=m,t[13]=h):h=t[13];let g;t[14]===o?g=t[15]:(g=(0,j.jsx)(`div`,{className:`relative flex min-w-0 flex-col gap-4`,children:o}),t[14]=o,t[15]=g);let _;return t[16]!==u||t[17]!==d||t[18]!==h||t[19]!==g||t[20]!==n?(_=(0,j.jsxs)(`section`,{"aria-label":n,className:u,children:[d,h,g]}),t[16]=u,t[17]=d,t[18]=h,t[19]=g,t[20]=n,t[21]=_):_=t[21],_}function z(e){let t=(0,k.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,j.jsx)(`p`,{className:`text-sm text-bernstein`,children:n}),t[0]=n,t[1]=r),r}function B(e){let t=(0,k.c)(3),{laedt:n,fehler:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],e}let i=r?`: ${r}`:`.`,a;return t[1]===i?a=t[2]:(a=(0,j.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Lässt sich gerade nicht lesen`,i]}),t[1]=i,t[2]=a),a}function V({offen:e}){let t=u(),n=o({queryKey:[`geheimnisse`],queryFn:()=>y(`/api/maintenance/geheimnisse`),enabled:e}),[r,i]=(0,A.useState)(``),[a,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(!1);async function d(e){if(!a){s(!0),l(!1);try{await v(`/api/maintenance/geheimnisse`,{schluessel:`hf_token`,wert:e}),b(`erfolg`,e?`Hugging-Face-Zugang gespeichert.`:`Hugging-Face-Zugang gelöscht.`),i(``),t.invalidateQueries({queryKey:[`geheimnisse`]})}catch(e){b(`fehler`,e.message)}finally{s(!1)}}}let f=n.data,p;return p=n.isPending?`Wird gelesen …`:f?f.hf_token_gesetzt?`Ist hinterlegt.`:`Fehlt.`:`Lässt sich gerade nicht lesen${n.error?`: ${n.error.message}`:`.`}`,(0,j.jsxs)(L,{titel:`Hugging-Face-Zugang`,children:[(0,j.jsxs)(`p`,{className:`text-sm text-text-2`,"aria-live":`polite`,children:[(0,j.jsx)(`span`,{className:!f&&!n.isPending?`text-rot-text`:void 0,children:p}),` Nötig für gesperrte Modelle und schnellere Downloads.`,f?.hf_token_aus_env?` Er kommt aus der Dienst-Einstellung und lässt sich hier nicht löschen.`:``]}),f?.schreibbar===!1&&(0,j.jsx)(`p`,{className:`text-sm text-bernstein`,children:`Die Box kann den Zugang gerade nicht speichern: Ihre Ablage ist nicht beschreibbar.`}),(0,j.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),r.trim()&&d(r.trim())},children:[(0,j.jsx)(`label`,{htmlFor:`hf-token`,className:`sr-only`,children:`Hugging-Face-Zugang`}),(0,j.jsx)(`input`,{id:`hf-token`,type:`password`,autoComplete:`off`,value:r,onChange:e=>i(e.target.value),placeholder:`hf_…`,className:`h-11 min-w-0 flex-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-cyan/60 focus:bg-white/[0.06]`}),(0,j.jsx)(T,{type:`submit`,disabled:!r.trim()||f?.schreibbar===!1||a,children:a?`Speichert …`:`Speichern`})]}),f?.hf_token_gesetzt&&!f.hf_token_aus_env&&(c?(0,j.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsx)(T,{variant:`gefahr`,size:`sm`,disabled:a,onClick:()=>d(null),children:`Wirklich löschen?`}),(0,j.jsx)(T,{variant:`ghost`,size:`sm`,onClick:()=>l(!1),children:`Nein`})]}):(0,j.jsx)(T,{variant:`ghost`,size:`sm`,className:`self-start`,disabled:a,onClick:()=>l(!0),children:`Zugang löschen`}))]})}function H(e){let t=(0,k.c)(24),{ziel:n,name:r}=e,i=f(),a=i.data,o=null;if(i.isPending){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Sendet …`}),t[0]=e):e=t[0],o=e}else if(a?.gesendet){let e=a.weg===`hermes`?`über Hermes`:`direkt an die Telegram-Bot-API`,n=a.kennung?`, Kennung ${a.kennung}`:``,r;t[1]!==e||t[2]!==n?(r=(0,j.jsxs)(`p`,{role:`status`,className:`text-sm text-gruen`,children:[`Gesendet `,e,n,`. Schau in Telegram nach.`]}),t[1]=e,t[2]=n,t[3]=r):r=t[3],o=r}else if(a){let e=a.grund??a.detail??`ohne Angabe eines Grundes.`,n;t[4]===e?n=t[5]:(n=(0,j.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Nicht gesendet: `,e]}),t[4]=e,t[5]=n),o=n}else if(i.error){let e;t[6]===i.error.message?e=t[7]:(e=(0,j.jsx)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:i.error.message}),t[6]=i.error.message,t[7]=e),o=e}let s;t[8]===r?s=t[9]:(s=(0,j.jsx)(`span`,{className:`text-[15px]`,children:r}),t[8]=r,t[9]=s);let c;t[10]!==i||t[11]!==n?(c=()=>i.mutate(n),t[10]=i,t[11]=n,t[12]=c):c=t[12];let l=`Testmeldung von ${r} senden`,u=i.isPending?`Sendet …`:`Test senden`,d;t[13]!==c||t[14]!==l||t[15]!==u||t[16]!==i.isPending?(d=(0,j.jsx)(T,{variant:`outline`,size:`sm`,disabled:i.isPending,onClick:c,"aria-label":l,children:u}),t[13]=c,t[14]=l,t[15]=u,t[16]=i.isPending,t[17]=d):d=t[17];let p;t[18]!==s||t[19]!==d?(p=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,d]}),t[18]=s,t[19]=d,t[20]=p):p=t[20];let m;return t[21]!==o||t[22]!==p?(m=(0,j.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[p,o]}),t[21]=o,t[22]=p,t[23]=m):m=t[23],m}function U(){let e=(0,k.c)(9),t=g().data,n=t?.rolle??`box`,r=n===`box`?`homelab`:`box`,i=t?.instanz??(n===`box`?`Box-Wart`:`Homelab`),a;e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i?(a=[{ziel:n,name:i}],t?.partner.eingerichtet&&a.push({ziel:r,name:t.partner.name}),a.sort(G),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=a):a=e[4];let o,s;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Dringende Hinweise gehen zusätzlich per Telegram raus, alles andere bleibt hier; was nachts anfällt, kommt um 07:00 als eine Morgenmeldung. Einfache Probleme wie einen abgestürzten Dienst behebt der Wächter selbst und schreibt es in den Verlauf.`}),s=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Test schickt eine kurze Meldung über den echten Meldeweg, als dringend, damit sie auch nachts sofort kommt.`}),e[5]=o,e[6]=s):(o=e[5],s=e[6]);let c;return e[7]===a?c=e[8]:(c=(0,j.jsxs)(L,{titel:`Telegram`,children:[o,s,a.map(W)]}),e[7]=a,e[8]=c),c}function W(e){return(0,j.jsx)(H,{ziel:e.ziel,name:e.name},e.ziel)}function G(e,t){return Number(e.ziel!==`box`)-Number(t.ziel!==`box`)}function K(e){let t=(0,k.c)(87),{e:n,laedt:r,fehler:i}=e,a=s(),[o,c]=(0,A.useState)(null),[l,u]=(0,A.useState)(!1);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,j.jsx)(L,{titel:`Update-Zeitfenster`,children:(0,j.jsx)(B,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let d=n.update_fenster,f,p,m,h,g,_,v,y,b,x,S,C,w,D,O,P,R;if(t[3]!==n.schaltbar||t[4]!==o||t[5]!==d.naechster_lauf||t[6]!==d.neustart_fenster||t[7]!==d.tag||t[8]!==d.tag_name||t[9]!==d.timer_aktiv||t[10]!==d.uhrzeit||t[11]!==d.wirksam){R=o??{tag:d.tag,uhrzeit:d.uhrzeit},p=R.tag!==d.tag||R.uhrzeit!==d.uhrzeit;let e=N.includes(R.uhrzeit)?N:[...N,R.uhrzeit].sort();f=L,g=`Update-Zeitfenster`;let r;t[29]===d.naechster_lauf?r=t[30]:(r=d.naechster_lauf?` (nächster Lauf ${F(d.naechster_lauf)})`:``,t[29]=d.naechster_lauf,t[30]=r),t[31]!==d.neustart_fenster||t[32]!==d.tag_name||t[33]!==d.uhrzeit||t[34]!==r?(_=(0,j.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Die Box aktualisiert sich jeden `,d.tag_name,` um `,d.uhrzeit,` Uhr`,r,`. Neu gestartet wird sie danach nur`,` `,d.neustart_fenster,`.`]}),t[31]=d.neustart_fenster,t[32]=d.tag_name,t[33]=d.uhrzeit,t[34]=r,t[35]=_):_=t[35],t[36]!==n.schaltbar||t[37]!==d.timer_aktiv?(v=n.schaltbar&&!d.timer_aktiv&&(0,j.jsx)(z,{children:`Der Update-Timer läuft gerade nicht; er übernimmt das Fenster beim nächsten Start.`}),t[36]=n.schaltbar,t[37]=d.timer_aktiv,t[38]=v):v=t[38],t[39]!==n.schaltbar||t[40]!==d.wirksam?(y=n.schaltbar&&!d.wirksam&&(0,j.jsx)(z,{children:`Der Timer läuft noch nach einem anderen Plan als eingestellt. Einmal speichern gleicht es an.`}),t[39]=n.schaltbar,t[40]=d.wirksam,t[41]=y):y=t[41],P=`flex flex-wrap items-end gap-2`;let i=R.tag,a;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(a=M.map(J),t[42]=a):a=t[42],h=(0,j.jsxs)(`label`,{className:`flex flex-col gap-1 text-xs text-text-3`,children:[`Tag`,(0,j.jsx)(`select`,{className:`h-11 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] text-foreground outline-none focus:border-cyan/60 focus:bg-white/[0.06]`,value:i,disabled:!n.schaltbar,"aria-label":`Wochentag`,onChange:e=>c({...R,tag:Number(e.target.value)}),children:a})]}),D=`flex flex-col gap-1 text-xs text-text-3`,O=`Uhrzeit`,m=`h-11 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] text-foreground outline-none focus:border-cyan/60 focus:bg-white/[0.06]`,b=R.uhrzeit,x=!n.schaltbar,S=`Uhrzeit`,C=e=>c({...R,uhrzeit:e.target.value}),w=e.map(q),t[3]=n.schaltbar,t[4]=o,t[5]=d.naechster_lauf,t[6]=d.neustart_fenster,t[7]=d.tag,t[8]=d.tag_name,t[9]=d.timer_aktiv,t[10]=d.uhrzeit,t[11]=d.wirksam,t[12]=f,t[13]=p,t[14]=m,t[15]=h,t[16]=g,t[17]=_,t[18]=v,t[19]=y,t[20]=b,t[21]=x,t[22]=S,t[23]=C,t[24]=w,t[25]=D,t[26]=O,t[27]=P,t[28]=R}else f=t[12],p=t[13],m=t[14],h=t[15],g=t[16],_=t[17],v=t[18],y=t[19],b=t[20],x=t[21],S=t[22],C=t[23],w=t[24],D=t[25],O=t[26],P=t[27],R=t[28];let V;t[43]!==m||t[44]!==b||t[45]!==x||t[46]!==S||t[47]!==C||t[48]!==w?(V=(0,j.jsx)(`select`,{className:m,value:b,disabled:x,"aria-label":S,onChange:C,children:w}),t[43]=m,t[44]=b,t[45]=x,t[46]=S,t[47]=C,t[48]=w,t[49]=V):V=t[49];let H;t[50]!==V||t[51]!==D||t[52]!==O?(H=(0,j.jsxs)(`label`,{className:D,children:[O,V]}),t[50]=V,t[51]=D,t[52]=O,t[53]=H):H=t[53];let U=!n.schaltbar||a.isPending||!p&&d.wirksam,W;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>u(!0),t[54]=W):W=t[54];let G=a.isPending?`Speichert …`:`Speichern`,K;t[55]!==U||t[56]!==G?(K=(0,j.jsx)(T,{disabled:U,onClick:W,children:G}),t[55]=U,t[56]=G,t[57]=K):K=t[57];let Y;t[58]!==h||t[59]!==H||t[60]!==K||t[61]!==P?(Y=(0,j.jsxs)(`div`,{className:P,children:[h,H,K]}),t[58]=h,t[59]=H,t[60]=K,t[61]=P,t[62]=Y):Y=t[62];let X=n.schaltbar?``:` Einstellen lässt es sich nur auf der Box.`,Z;t[63]===X?Z=t[64]:(Z=(0,j.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Am besten nachts nach der Sicherung (03:30) und vor der Morgenmeldung (07:00).`,X]}),t[63]=X,t[64]=Z);let ee;t[65]!==R.tag||t[66]!==R.uhrzeit?(ee=I(R.tag,R.uhrzeit),t[65]=R.tag,t[66]=R.uhrzeit,t[67]=ee):ee=t[67];let te=`Der Update-Lauf startet ab jetzt jeden ${M[R.tag-1]} um ${R.uhrzeit} Uhr. Neu gestartet wird die Box nur ${ee}. Ein Termin, der dadurch schon vorbei ist, wird nicht nachgeholt: Der erste Lauf ist der nächste reguläre.`,ne;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>u(!1),t[68]=ne):ne=t[68];let Q;t[69]!==l||t[70]!==a||t[71]!==R?(Q=()=>{l&&(a.mutate(R,{onSuccess:()=>c(null)}),u(!1))},t[69]=l,t[70]=a,t[71]=R,t[72]=Q):Q=t[72];let $;t[73]!==l||t[74]!==a.isPending||t[75]!==te||t[76]!==Q?($=(0,j.jsx)(E,{offen:l,titel:`Update-Zeitfenster ändern?`,text:te,knopf:`Speichern`,gesperrt:a.isPending,onNein:ne,onJa:Q}),t[73]=l,t[74]=a.isPending,t[75]=te,t[76]=Q,t[77]=$):$=t[77];let re;return t[78]!==f||t[79]!==g||t[80]!==_||t[81]!==v||t[82]!==y||t[83]!==Y||t[84]!==Z||t[85]!==$?(re=(0,j.jsxs)(f,{titel:g,children:[_,v,y,Y,Z,$]}),t[78]=f,t[79]=g,t[80]=_,t[81]=v,t[82]=y,t[83]=Y,t[84]=Z,t[85]=$,t[86]=re):re=t[86],re}function q(e){return(0,j.jsx)(`option`,{value:e,children:e},e)}function J(e,t){return(0,j.jsx)(`option`,{value:t+1,children:e},e)}function Y(e){let t=(0,k.c)(37),{e:n,laedt:r,fehler:i}=e,a=l(),[o,s]=(0,A.useState)(null);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,j.jsx)(L,{titel:`Modell-Radar`,children:(0,j.jsx)(B,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let c=n.radar,u=c.zustand===`an`||c.zustand===`unbekannt`&&c.an,d;t[3]===c.naechster_lauf?d=t[4]:(d=c.naechster_lauf?` (nächster Lauf ${F(c.naechster_lauf)})`:``,t[3]=c.naechster_lauf,t[4]=d);let f=`An. Es sucht jede Nacht ab 00:30 nach besseren Modellen${d}.`,p=c.an?`Eingeschaltet.`:`Ausgeschaltet.`,m;t[5]!==f||t[6]!==p?(m={an:f,schlaeft:`Schläft. Es sucht und testet keine Modelle, bis du es wieder einschaltest.`,aus:`Gestoppt, steht aber noch im Autostart: Nach einem Neustart der Box liefe es wieder.`,unbekannt:p},t[5]=f,t[6]=p,t[7]=m):m=t[7];let h=m[c.zustand],g;t[8]===h?g=t[9]:(g=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:h}),t[8]=h,t[9]=g);let _;t[10]!==n.schaltbar||t[11]!==c.an||t[12]!==c.wirksam?(_=n.schaltbar&&!c.wirksam&&(0,j.jsxs)(z,{children:[`Eingestellt ist „`,c.an?`an`:`aus`,`“, systemd zeigt etwas anderes. Noch einmal schalten gleicht es an.`]}),t[10]=n.schaltbar,t[11]=c.an,t[12]=c.wirksam,t[13]=_):_=t[13];let v=u?`outline`:`default`,y=!n.schaltbar||a.isPending,b;t[14]===u?b=t[15]:(b=()=>s(!u),t[14]=u,t[15]=b);let x=a.isPending?`Schaltet …`:u?`Ausschalten`:`Einschalten`,S;t[16]!==b||t[17]!==x||t[18]!==v||t[19]!==y?(S=(0,j.jsx)(T,{variant:v,size:`sm`,className:`self-start`,disabled:y,onClick:b,children:x}),t[16]=b,t[17]=x,t[18]=v,t[19]=y,t[20]=S):S=t[20];let C=o!==null,w=o?`Modell-Radar einschalten?`:`Modell-Radar ausschalten?`,D=o?`Das Radar sucht ab heute Nacht um 00:30 wieder nach besseren Modellen und testet höchstens eines pro Woche. Ein verpasster Lauf wird nicht nachgeholt, tagsüber lädt es also nichts.`:`Das Radar sucht und testet dann keine neuen Modelle mehr, bis du es wieder einschaltest. Ein Nachttest, der gerade läuft, endet noch. Auch ein Deploy schaltet es nicht wieder ein.`,O=o?`Einschalten`:`Ausschalten`,M;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>s(null),t[21]=M):M=t[21];let N;t[22]!==o||t[23]!==a?(N=()=>{o!==null&&(a.mutate(o),s(null))},t[22]=o,t[23]=a,t[24]=N):N=t[24];let P;t[25]!==a.isPending||t[26]!==C||t[27]!==w||t[28]!==D||t[29]!==O||t[30]!==N?(P=(0,j.jsx)(E,{offen:C,titel:w,text:D,knopf:O,gesperrt:a.isPending,onNein:M,onJa:N}),t[25]=a.isPending,t[26]=C,t[27]=w,t[28]=D,t[29]=O,t[30]=N,t[31]=P):P=t[31];let I;return t[32]!==S||t[33]!==P||t[34]!==g||t[35]!==_?(I=(0,j.jsxs)(L,{titel:`Modell-Radar`,children:[g,_,S,P]}),t[32]=S,t[33]=P,t[34]=g,t[35]=_,t[36]=I):I=t[36],I}function X(e){let t=(0,k.c)(25),{name:n,stand:r,laedt:i,fehler:a}=e,o;if(i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`span`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],o=e}else if(a){let e;t[1]===a?e=t[2]:(e=(0,j.jsxs)(`span`,{className:`text-sm text-rot-text`,children:[`Nicht lesbar: `,a]}),t[1]=a,t[2]=e),o=e}else if(r?.commit){let e;t[4]===r.commit?e=t[5]:(e=(0,j.jsx)(`span`,{className:`ziffern text-foreground`,children:r.commit}),t[4]=r.commit,t[5]=e);let n=r.betreff?` · ${r.betreff}`:``,i;t[6]!==e||t[7]!==n?(i=(0,j.jsxs)(`span`,{className:`text-sm text-text-2`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=i):i=t[8];let a;t[9]!==r.deploy_zeit||t[10]!==r.quelle?(a=r.quelle===`deploy`?`Live seit ${F(r.deploy_zeit)}`:`Aus git gelesen, ohne Deploy`,t[9]=r.deploy_zeit,t[10]=r.quelle,t[11]=a):a=t[11];let s;t[12]===r.commit_datum?s=t[13]:(s=r.commit_datum?` · Commit vom ${F(r.commit_datum)}`:``,t[12]=r.commit_datum,t[13]=s);let c;t[14]!==a||t[15]!==s?(c=(0,j.jsxs)(`span`,{className:`text-xs text-text-3`,children:[a,s]}),t[14]=a,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==i||t[18]!==c?(l=(0,j.jsxs)(j.Fragment,{children:[i,c]}),t[17]=i,t[18]=c,t[19]=l):l=t[19],o=l}else{let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`span`,{className:`text-sm text-text-2`,children:`Unbekannt: keine Stand-Datei und kein git.`}),t[3]=e):e=t[3],o=e}let s;t[20]===n?s=t[21]:(s=(0,j.jsx)(`span`,{className:`text-[15px]`,children:n}),t[20]=n,t[21]=s);let c;return t[22]!==o||t[23]!==s?(c=(0,j.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[s,o]}),t[22]=o,t[23]=s,t[24]=c):c=t[24],c}function Z(e,t){return!e||!t?null:e.startsWith(t)||t.startsWith(e)}function ee(e){let t=(0,k.c)(21),{offen:n}=e,r=g().data,i=!!r?.partner.eingerichtet,[a,o]=p(n,i),s=a.data?.stand?.commit,c=o.data?.stand?.commit,l;t[0]!==s||t[1]!==c?(l=Z(s,c),t[0]=s,t[1]=c,t[2]=l):l=t[2];let u=l,d=a.data?.instanz??r?.instanz??`Diese Instanz`,f=a.data?.stand,m=a.error?.message,h;t[3]!==a.isPending||t[4]!==d||t[5]!==f||t[6]!==m?(h=(0,j.jsx)(X,{name:d,stand:f,laedt:a.isPending,fehler:m}),t[3]=a.isPending,t[4]=d,t[5]=f,t[6]=m,t[7]=h):h=t[7];let _;t[8]!==r?.partner||t[9]!==o.data?.instanz||t[10]!==o.data?.stand||t[11]!==o.error?.message||t[12]!==o.isPending||t[13]!==i?(_=i&&(0,j.jsx)(X,{name:o.data?.instanz??r?.partner.name??`Partner`,stand:o.data?.stand,laedt:o.isPending,fehler:o.error?.message}),t[8]=r?.partner,t[9]=o.data?.instanz,t[10]=o.data?.stand,t[11]=o.error?.message,t[12]=o.isPending,t[13]=i,t[14]=_):_=t[14];let v;t[15]===u?v=t[16]:(v=u===!1&&(0,j.jsx)(z,{children:`Die beiden Instanzen laufen mit verschiedenen Ständen. Der nächste Deploy der Box zieht den Homelab-Teil mit.`}),t[15]=u,t[16]=v);let y;return t[17]!==h||t[18]!==_||t[19]!==v?(y=(0,j.jsxs)(L,{titel:`Instanzen`,children:[h,_,v]}),t[17]=h,t[18]=_,t[19]=v,t[20]=y):y=t[20],y}function te(e){let t=(0,k.c)(52),{h:n}=e,r=x(),i=C(),[a,o]=(0,A.useState)(``),[s,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(null),f=n.arcane,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p={hinterlegt:(0,j.jsx)(c,{art:`gruen`,children:`hinterlegt`}),umgebung:(0,j.jsx)(c,{art:`gruen`,children:`aus der Dienst-Einstellung`}),fehlt:(0,j.jsx)(c,{art:`bernstein`,children:`fehlt`})},t[0]=p):p=t[0];let m=p[f.schluessel],h;t[1]===f.url?h=t[2]:(h=f.url&&(0,j.jsxs)(`a`,{href:f.url,target:`_blank`,rel:`noopener`,className:`ml-auto inline-flex items-center gap-1 text-cyan hover:underline`,children:[`Arcane öffnen `,(0,j.jsx)(w,{className:`size-3.5`,"aria-hidden":!0})]}),t[1]=f.url,t[2]=h);let g;t[3]!==m||t[4]!==h?(g=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-text-2`,children:[`API-Schlüssel `,m,h]}),t[3]=m,t[4]=h,t[5]=g):g=t[5];let _;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Mit Schlüssel sieht der Orchestrator, welche Docker-Images neuer sind. Anlegen in Arcane unter Einstellungen → API-Schlüssel; Lesen reicht, solange Docker-Updates nur als Probelauf laufen.`}),t[6]=_):_=t[6];let v;t[7]!==f.schluessel||t[8]!==r||t[9]!==a?(v=f.schluessel!==`umgebung`&&(0,j.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),a.trim()&&r.mutate(a.trim(),{onSuccess:()=>o(``)})},children:[(0,j.jsx)(`label`,{htmlFor:`arcane-schluessel`,className:`sr-only`,children:`Arcane-API-Schlüssel`}),(0,j.jsxs)(`span`,{className:`relative min-w-0 flex-1`,children:[(0,j.jsx)(O,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-text-3`,"aria-hidden":!0}),(0,j.jsx)(`input`,{id:`arcane-schluessel`,type:`password`,autoComplete:`off`,value:a,onChange:e=>o(e.target.value),placeholder:f.schluessel===`hinterlegt`?`Neuen Schlüssel eintragen …`:`Schlüssel aus Arcane einfügen …`,className:`h-11 w-full rounded-xl border border-white/12 bg-white/[0.04] pr-3 pl-9 text-[15px] outline-none focus:border-lab/60 focus:bg-white/[0.06]`})]}),(0,j.jsx)(T,{type:`submit`,disabled:!a.trim()||r.isPending,children:r.isPending?`Prüft …`:`Prüfen und speichern`})]}),t[7]=f.schluessel,t[8]=r,t[9]=a,t[10]=v):v=t[10];let y;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,j.jsx)(`p`,{className:`text-xs text-text-3`,children:`Der Schlüssel wird vor dem Speichern an Arcane geprüft und nie wieder angezeigt. Er liegt nur im Homelab-Teil.`}),t[11]=y):y=t[11];let b;t[12]!==f.schluessel||t[13]!==s||t[14]!==r?(b=f.schluessel===`hinterlegt`&&(s?(0,j.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsx)(T,{variant:`gefahr`,size:`sm`,disabled:r.isPending,onClick:()=>{r.mutate(null),l(!1)},children:`Wirklich entfernen?`}),(0,j.jsx)(T,{variant:`ghost`,size:`sm`,onClick:()=>l(!1),children:`Nein`})]}):(0,j.jsx)(T,{variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>l(!0),children:`Schlüssel entfernen`})),t[12]=f.schluessel,t[13]=s,t[14]=r,t[15]=b):b=t[15];let S;t[16]!==g||t[17]!==v||t[18]!==b?(S=(0,j.jsxs)(L,{titel:`Arcane (Docker)`,children:[g,_,v,y,b]}),t[16]=g,t[17]=v,t[18]=b,t[19]=S):S=t[19];let D=f.echt?`Echt: „Jetzt updaten“ bei Arcane zieht neue Images und startet die Container neu.`:`Probelauf: Arcane zeigt nur, was es tun würde — kein Container wird angefasst.`,M=f.echt_quelle===`umgebung`?` Festgelegt in der Dienst-Einstellung (MC_ARCANE_ECHT).`:``,N;t[20]!==D||t[21]!==M?(N=(0,j.jsxs)(`p`,{className:`text-sm text-text-2`,children:[D,M]}),t[20]=D,t[21]=M,t[22]=N):N=t[22];let P=f.echt?`outline`:`default`,F=f.echt_quelle===`umgebung`||i.isPending||f.schluessel===`fehlt`,I;t[23]===f.echt?I=t[24]:(I=()=>d(!f.echt),t[23]=f.echt,t[24]=I);let R=i.isPending?`Schaltet …`:f.echt?`Zurück auf Probelauf`:`Echt schalten`,z;t[25]!==P||t[26]!==F||t[27]!==I||t[28]!==R?(z=(0,j.jsx)(T,{variant:P,size:`sm`,className:`self-start`,disabled:F,onClick:I,children:R}),t[25]=P,t[26]=F,t[27]=I,t[28]=R,t[29]=z):z=t[29];let B;t[30]===f.schluessel?B=t[31]:(B=f.schluessel===`fehlt`&&(0,j.jsx)(`p`,{className:`text-xs text-text-3`,children:`Erst den Schlüssel eintragen.`}),t[30]=f.schluessel,t[31]=B);let V=u!==null,H=u?`Docker-Updates echt ausführen?`:`Zurück auf Probelauf?`,U=u?`Ab jetzt zieht „Jetzt updaten“ bei Arcane neue Images und startet die betroffenen Container neu. Vorher wird ein Snapshot der VM angelegt, soweit möglich. Das lässt sich hier jederzeit zurückschalten.`:`Docker-Updates zeigen dann wieder nur, was Arcane tun würde.`,W=u?`Echt schalten`:`Probelauf`,G=!!u,K;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>d(null),t[32]=K):K=t[32];let q;t[33]!==i||t[34]!==u?(q=()=>{u!==null&&(i.mutate(u),d(null))},t[33]=i,t[34]=u,t[35]=q):q=t[35];let J;t[36]!==i.isPending||t[37]!==V||t[38]!==H||t[39]!==U||t[40]!==W||t[41]!==G||t[42]!==q?(J=(0,j.jsx)(E,{offen:V,titel:H,text:U,knopf:W,gefahr:G,gesperrt:i.isPending,onNein:K,onJa:q}),t[36]=i.isPending,t[37]=V,t[38]=H,t[39]=U,t[40]=W,t[41]=G,t[42]=q,t[43]=J):J=t[43];let Y;t[44]!==N||t[45]!==z||t[46]!==B||t[47]!==J?(Y=(0,j.jsxs)(L,{titel:`Docker-Updates`,children:[N,z,B,J]}),t[44]=N,t[45]=z,t[46]=B,t[47]=J,t[48]=Y):Y=t[48];let X;return t[49]!==Y||t[50]!==S?(X=(0,j.jsxs)(j.Fragment,{children:[S,Y]}),t[49]=Y,t[50]=S,t[51]=X):X=t[51],X}function ne(e){let t=(0,k.c)(44),{h:n}=e,r=h(),[i,o]=(0,A.useState)(``),[s,l]=(0,A.useState)(``),[u,d]=(0,A.useState)(!1),f=n.adguard;if(!f)return null;let p;t[0]!==f.benutzer||t[1]!==f.zugang?(p=f.zugang===`hinterlegt`?(0,j.jsxs)(c,{art:`gruen`,children:[`hinterlegt`,f.benutzer?` · ${f.benutzer}`:``]}):(0,j.jsx)(c,{art:`grau`,children:`keiner`}),t[0]=f.benutzer,t[1]=f.zugang,t[2]=p):p=t[2];let m;t[3]===f.url?m=t[4]:(m=f.url&&(0,j.jsxs)(`a`,{href:f.url,target:`_blank`,rel:`noopener`,className:`ml-auto inline-flex items-center gap-1 text-cyan hover:underline`,children:[`AdGuard öffnen `,(0,j.jsx)(w,{className:`size-3.5`,"aria-hidden":!0})]}),t[3]=f.url,t[4]=m);let g;t[5]!==p||t[6]!==m?(g=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-text-2`,children:[`Zugang `,p,m]}),t[5]=p,t[6]=m,t[7]=g):g=t[7];let _;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Mit einem Zugang zeigt die Kachel von AdGuard, wie viele Anfragen es blockt. Er wird nur zum Lesen der Statistik benutzt — am besten ein eigener Benutzer dafür.`}),t[8]=_):_=t[8];let v;t[9]!==i||t[10]!==s||t[11]!==r?(v=e=>{e.preventDefault(),i.trim()&&s&&r.mutate({benutzer:i.trim(),passwort:s},{onSuccess:()=>{l(``),o(``)}})},t[9]=i,t[10]=s,t[11]=r,t[12]=v):v=t[12];let y;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,j.jsx)(`label`,{htmlFor:`adguard-benutzer`,className:`sr-only`,children:`AdGuard-Benutzer`}),t[13]=y):y=t[13];let b;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>o(e.target.value),t[14]=b):b=t[14];let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=a(`h-11 w-full rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-lab/60 focus:bg-white/[0.06]`,`min-w-0 flex-1 basis-40`),t[15]=x):x=t[15];let S;t[16]===i?S=t[17]:(S=(0,j.jsx)(`input`,{id:`adguard-benutzer`,autoComplete:`off`,value:i,onChange:b,placeholder:`Benutzer`,className:x}),t[16]=i,t[17]=S);let C;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,j.jsx)(`label`,{htmlFor:`adguard-passwort`,className:`sr-only`,children:`AdGuard-Passwort`}),t[18]=C):C=t[18];let E;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>l(e.target.value),t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=a(`h-11 w-full rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-lab/60 focus:bg-white/[0.06]`,`min-w-0 flex-1 basis-40`),t[20]=D):D=t[20];let O;t[21]===s?O=t[22]:(O=(0,j.jsx)(`input`,{id:`adguard-passwort`,type:`password`,autoComplete:`new-password`,value:s,onChange:E,placeholder:`Passwort`,className:D}),t[21]=s,t[22]=O);let M;t[23]!==i||t[24]!==s||t[25]!==r.isPending?(M=!i.trim()||!s||r.isPending,t[23]=i,t[24]=s,t[25]=r.isPending,t[26]=M):M=t[26];let N=r.isPending?`Prüft …`:`Prüfen und speichern`,P;t[27]!==M||t[28]!==N?(P=(0,j.jsx)(T,{type:`submit`,disabled:M,children:N}),t[27]=M,t[28]=N,t[29]=P):P=t[29];let F;t[30]!==O||t[31]!==P||t[32]!==v||t[33]!==S?(F=(0,j.jsxs)(`form`,{className:`flex flex-wrap gap-2`,onSubmit:v,children:[y,S,C,O,P]}),t[30]=O,t[31]=P,t[32]=v,t[33]=S,t[34]=F):F=t[34];let I;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,j.jsx)(`p`,{className:`text-xs text-text-3`,children:`Vor dem Speichern fragt der Homelab-Teil AdGuard einmal damit. Das Passwort wird nie wieder angezeigt und liegt nur im Homelab-Teil.`}),t[35]=I):I=t[35];let R;t[36]!==f.zugang||t[37]!==u||t[38]!==r?(R=f.zugang===`hinterlegt`&&(u?(0,j.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsx)(T,{variant:`gefahr`,size:`sm`,disabled:r.isPending,onClick:()=>{r.mutate(null),d(!1)},children:`Wirklich entfernen?`}),(0,j.jsx)(T,{variant:`ghost`,size:`sm`,onClick:()=>d(!1),children:`Nein`})]}):(0,j.jsx)(T,{variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>d(!0),children:`Zugang entfernen`})),t[36]=f.zugang,t[37]=u,t[38]=r,t[39]=R):R=t[39];let z;return t[40]!==F||t[41]!==R||t[42]!==g?(z=(0,j.jsxs)(L,{titel:`AdGuard Home`,children:[g,_,F,I,R]}),t[40]=F,t[41]=R,t[42]=g,t[43]=z):z=t[43],z}function Q(e){let t=(0,k.c)(21),{h:n}=e,r=n.ausfuehrer,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,j.jsx)(`dt`,{className:`text-text-3`,children:`Ausführer`}),t[0]=i):i=t[0];let a=r.verbunden?`text-gruen-text`:`text-rot-text`,o=r.verbunden?`verbunden`:`meldet sich nicht`,s;t[1]===r.zuletzt?s=t[2]:(s=r.zuletzt?` · zuletzt ${m(new Date(r.zuletzt*1e3).toISOString()).toLowerCase()}`:``,t[1]=r.zuletzt,t[2]=s);let c;t[3]!==a||t[4]!==o||t[5]!==s?(c=(0,j.jsxs)(`dd`,{className:a,children:[o,s]}),t[3]=a,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,j.jsx)(`dt`,{className:`text-text-3`,children:`Modus`}),t[7]=l):l=t[7];let u=r.nur_lesen?`nur lesen — Updates sind gesperrt`:`voll: Snapshots, Sicherungen und Updates`,d;t[8]===u?d=t[9]:(d=(0,j.jsx)(`dd`,{className:`text-text-2`,children:u}),t[8]=u,t[9]=d);let f;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,j.jsx)(`dt`,{className:`text-text-3`,children:`Sicherungen`}),t[10]=f):f=t[10];let p=r.sicherung_speicher?`auf „${r.sicherung_speicher}“ (wo kein Snapshot geht)`:`kein Speicher gefunden`,h;t[11]===p?h=t[12]:(h=(0,j.jsx)(`dd`,{className:`text-text-2`,children:p}),t[11]=p,t[12]=h);let g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,j.jsx)(`dt`,{className:`text-text-3`,children:`Wartezeit`}),t[13]=g):g=t[13];let _=n.karenz_h>0?`${n.karenz_h} Stunden nach einer Änderung am Update-Skript einer App`:`aus`,v;t[14]===_?v=t[15]:(v=(0,j.jsx)(`dd`,{className:`text-text-2`,children:_}),t[14]=_,t[15]=v);let y;return t[16]!==h||t[17]!==v||t[18]!==c||t[19]!==d?(y=(0,j.jsx)(L,{titel:`Ausführer und Updates`,children:(0,j.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-2 text-sm`,children:[i,c,l,d,f,h,g,v]})}),t[16]=h,t[17]=v,t[18]=c,t[19]=d,t[20]=y):y=t[20],y}function $(){let e=(0,k.c)(8),t=g().data,n=d().data,r=t?.rolle===`homelab`||!!(n?.eingerichtet&&n.erreichbar),i=_(r),a;if(!r){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht.`}),e[0]=t):t=e[0],a=t}else if(i.data){let t;e[4]===i.data?t=e[5]:(t=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(te,{h:i.data}),(0,j.jsx)(ne,{h:i.data}),(0,j.jsx)(Q,{h:i.data})]}),e[4]=i.data,e[5]=t),a=t}else{let t=i.error?.message,n;e[1]!==i.isPending||e[2]!==t?(n=(0,j.jsx)(B,{laedt:i.isPending,fehler:t}),e[1]=i.isPending,e[2]=t,e[3]=n):n=e[3],a=n}let o;return e[6]===a?o=e[7]:(o=(0,j.jsx)(R,{titel:`Homelab`,farbe:`homelab`,text:`Arcane und Docker, AdGuard, der Ausführer auf dem Proxmox-Host, Rückwege.`,children:a}),e[6]=a,e[7]=o),o}function re(){let e=(0,k.c)(18),t=S(!0),n=t.error?.message,r;e[0]!==t.data||e[1]!==t.isPending||e[2]!==n?(r={e:t.data,laedt:t.isPending,fehler:n},e[0]=t.data,e[1]=t.isPending,e[2]=n,e[3]=r):r=e[3];let i=r,a,o;e[4]===i?(a=e[5],o=e[6]):(a=(0,j.jsx)(K,{...i}),o=(0,j.jsx)(Y,{...i}),e[4]=i,e[5]=a,e[6]=o);let s;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(V,{offen:!0}),e[7]=s):s=e[7];let c;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,j.jsxs)(L,{titel:`Hermes`,children:[(0,j.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:`flex h-11 items-center gap-2 self-start rounded-xl border border-white/12 bg-white/[0.04] px-4 text-[15px] font-semibold hover:border-white/20 hover:bg-white/[0.08]`,children:[(0,j.jsx)(w,{className:`size-4`,"aria-hidden":!0}),` Hermes-Dashboard öffnen`]}),(0,j.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat, Sitzungen und Cron-Jobs verwaltet Hermes selbst. Es fragt nach seiner eigenen Anmeldung.`})]}),e[8]=c):c=e[8];let l;e[9]!==a||e[10]!==o?(l=(0,j.jsxs)(R,{titel:`KI-Box`,farbe:`box`,text:`Wann sie sich aktualisiert, das Modell-Radar und Zugänge.`,children:[a,o,s,c]}),e[9]=a,e[10]=o,e[11]=l):l=e[11];let u;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,j.jsx)($,{}),e[12]=u):u=e[12];let d;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,j.jsx)(R,{titel:`Meldungen`,text:`Telegram, Morgenmeldung und was sofort kommt.`,children:(0,j.jsx)(U,{})}),e[13]=d):d=e[13];let f;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,j.jsx)(R,{titel:`Software-Stand`,text:`Welcher Stand auf beiden Instanzen läuft.`,children:(0,j.jsx)(ee,{offen:!0})}),e[14]=f):f=e[14];let p;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,j.jsxs)(`p`,{className:`text-xs text-text-3 xl:col-span-2`,children:[`Logos der Dienste: `,(0,j.jsx)(`a`,{href:`https://selfh.st/icons`,target:`_blank`,rel:`noopener`,className:`underline-offset-4 hover:underline`,children:`selfh.st/icons`}),`, Lizenz CC BY 4.0. Die Marken gehören ihren Inhabern und dienen hier nur dem Wiedererkennen.`]}),e[15]=p):p=e[15];let m;return e[16]===l?m=e[17]:(m=(0,j.jsxs)(`div`,{className:`grid gap-5 md:gap-6 xl:grid-cols-2`,children:[l,u,d,f,p]}),e[16]=l,e[17]=m),m}export{re as EinstellungenSeite}; \ No newline at end of file +import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{$t as o,An as s,Ft as c,Jt as l,Kt as u,M as d,Wt as f,Z as p,ft as m,jn as h,jt as g,nt as _,sn as v,st as y,tt as b,vn as x,wn as S,xt as C,yn as w}from"./index-CiJU28k0.js";import{t as T}from"./button-DwYvdWVr.js";import{t as E}from"./Bestaetigen-BGcVQso2.js";var D={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};D.node;var O=r(D),k=i(),A=t(e(),1),j=n(),M=[`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`,`Sonntag`],N=Array.from({length:48},(e,t)=>`${String(Math.floor(t/2)).padStart(2,`0`)}:${t%2?`30`:`00`}`),P=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,year:`numeric`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function F(e){let t=e?new Date(e):null;return t&&!Number.isNaN(t.getTime())?P.format(t):`–`}function I(e,t){let n=Number(t.slice(0,2)),r=n*60+179,i=e;r>=1440&&(r-=1440,i=e%7+1);let a=e=>String(e).padStart(2,`0`),o=`${a(n)}:00`,s=`${a(Math.floor(r/60))}:${a(r%60)}`;return i===e?`${M[e-1]} ${o}–${s}`:`${M[e-1]} ${o} – ${M[i-1]} ${s}`}function L(e){let t=(0,k.c)(6),{titel:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,j.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-2`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i||t[4]!==n?(a=(0,j.jsxs)(`section`,{"aria-label":n,className:`flex flex-col gap-3 border-t border-white/[0.06] pt-4 first:border-t-0 first:pt-0`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=n,t[5]=a):a=t[5],a}function R(e){let t=(0,k.c)(22),{titel:n,text:r,farbe:i,children:o}=e,s=i===`box`?`var(--box)`:i===`homelab`?`var(--lab)`:null,c=i===`box`?`text-box-text`:i===`homelab`?`text-lab-text`:`text-foreground`,l=i===`box`?`[--rand:color-mix(in_srgb,var(--box)_28%,transparent)]`:i===`homelab`?`[--rand:color-mix(in_srgb,var(--lab)_28%,transparent)]`:``,u;t[0]===l?u=t[1]:(u=a(`flaeche relative flex min-w-0 flex-col gap-4 overflow-hidden rounded-3xl p-5 sm:p-6`,l),t[0]=l,t[1]=u);let d;t[2]===s?d=t[3]:(d=s&&(0,j.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute -top-40 -left-32 size-[400px] rounded-full`,style:{background:`radial-gradient(closest-side, color-mix(in srgb, ${s} 16%, transparent), transparent)`}}),t[2]=s,t[3]=d);let f;t[4]===c?f=t[5]:(f=a(`text-[19px] leading-tight font-semibold`,c),t[4]=c,t[5]=f);let p;t[6]!==f||t[7]!==n?(p=(0,j.jsx)(`h2`,{className:f,children:n}),t[6]=f,t[7]=n,t[8]=p):p=t[8];let m;t[9]===r?m=t[10]:(m=(0,j.jsx)(`p`,{className:`text-sm text-text-3`,children:r}),t[9]=r,t[10]=m);let h;t[11]!==p||t[12]!==m?(h=(0,j.jsxs)(`div`,{className:`relative flex flex-col gap-1`,children:[p,m]}),t[11]=p,t[12]=m,t[13]=h):h=t[13];let g;t[14]===o?g=t[15]:(g=(0,j.jsx)(`div`,{className:`relative flex min-w-0 flex-col gap-4`,children:o}),t[14]=o,t[15]=g);let _;return t[16]!==u||t[17]!==d||t[18]!==h||t[19]!==g||t[20]!==n?(_=(0,j.jsxs)(`section`,{"aria-label":n,className:u,children:[d,h,g]}),t[16]=u,t[17]=d,t[18]=h,t[19]=g,t[20]=n,t[21]=_):_=t[21],_}function z(e){let t=(0,k.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,j.jsx)(`p`,{className:`text-sm text-bernstein`,children:n}),t[0]=n,t[1]=r),r}function B(e){let t=(0,k.c)(3),{laedt:n,fehler:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],e}let i=r?`: ${r}`:`.`,a;return t[1]===i?a=t[2]:(a=(0,j.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Lässt sich gerade nicht lesen`,i]}),t[1]=i,t[2]=a),a}function V({offen:e}){let t=h(),n=s({queryKey:[`geheimnisse`],queryFn:()=>x(`/api/maintenance/geheimnisse`),enabled:e}),[r,i]=(0,A.useState)(``),[a,o]=(0,A.useState)(!1),[c,l]=(0,A.useState)(!1);async function u(e){if(!a){o(!0),l(!1);try{await w(`/api/maintenance/geheimnisse`,{schluessel:`hf_token`,wert:e}),v(`erfolg`,e?`Hugging-Face-Zugang gespeichert.`:`Hugging-Face-Zugang gelöscht.`),i(``),t.invalidateQueries({queryKey:[`geheimnisse`]})}catch(e){v(`fehler`,e.message)}finally{o(!1)}}}let d=n.data,f;return f=n.isPending?`Wird gelesen …`:d?d.hf_token_gesetzt?`Ist hinterlegt.`:`Fehlt.`:`Lässt sich gerade nicht lesen${n.error?`: ${n.error.message}`:`.`}`,(0,j.jsxs)(L,{titel:`Hugging-Face-Zugang`,children:[(0,j.jsxs)(`p`,{className:`text-sm text-text-2`,"aria-live":`polite`,children:[(0,j.jsx)(`span`,{className:!d&&!n.isPending?`text-rot-text`:void 0,children:f}),` Nötig für gesperrte Modelle und schnellere Downloads.`,d?.hf_token_aus_env?` Er kommt aus der Dienst-Einstellung und lässt sich hier nicht löschen.`:``]}),d?.schreibbar===!1&&(0,j.jsx)(`p`,{className:`text-sm text-bernstein`,children:`Die Box kann den Zugang gerade nicht speichern: Ihre Ablage ist nicht beschreibbar.`}),(0,j.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),r.trim()&&u(r.trim())},children:[(0,j.jsx)(`label`,{htmlFor:`hf-token`,className:`sr-only`,children:`Hugging-Face-Zugang`}),(0,j.jsx)(`input`,{id:`hf-token`,type:`password`,autoComplete:`off`,value:r,onChange:e=>i(e.target.value),placeholder:`hf_…`,className:`h-11 min-w-0 flex-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-cyan/60 focus:bg-white/[0.06]`}),(0,j.jsx)(T,{type:`submit`,disabled:!r.trim()||d?.schreibbar===!1||a,children:a?`Speichert …`:`Speichern`})]}),d?.hf_token_gesetzt&&!d.hf_token_aus_env&&(c?(0,j.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsx)(T,{variant:`gefahr`,size:`sm`,disabled:a,onClick:()=>u(null),children:`Wirklich löschen?`}),(0,j.jsx)(T,{variant:`ghost`,size:`sm`,onClick:()=>l(!1),children:`Nein`})]}):(0,j.jsx)(T,{variant:`ghost`,size:`sm`,className:`self-start`,disabled:a,onClick:()=>l(!0),children:`Zugang löschen`}))]})}function H(e){let t=(0,k.c)(24),{ziel:n,name:r}=e,i=u(),a=i.data,o=null;if(i.isPending){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Sendet …`}),t[0]=e):e=t[0],o=e}else if(a?.gesendet){let e=a.weg===`hermes`?`über Hermes`:`direkt an die Telegram-Bot-API`,n=a.kennung?`, Kennung ${a.kennung}`:``,r;t[1]!==e||t[2]!==n?(r=(0,j.jsxs)(`p`,{role:`status`,className:`text-sm text-gruen`,children:[`Gesendet `,e,n,`. Schau in Telegram nach.`]}),t[1]=e,t[2]=n,t[3]=r):r=t[3],o=r}else if(a){let e=a.grund??a.detail??`ohne Angabe eines Grundes.`,n;t[4]===e?n=t[5]:(n=(0,j.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Nicht gesendet: `,e]}),t[4]=e,t[5]=n),o=n}else if(i.error){let e;t[6]===i.error.message?e=t[7]:(e=(0,j.jsx)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:i.error.message}),t[6]=i.error.message,t[7]=e),o=e}let s;t[8]===r?s=t[9]:(s=(0,j.jsx)(`span`,{className:`text-[15px]`,children:r}),t[8]=r,t[9]=s);let c;t[10]!==i||t[11]!==n?(c=()=>i.mutate(n),t[10]=i,t[11]=n,t[12]=c):c=t[12];let l=`Testmeldung von ${r} senden`,d=i.isPending?`Sendet …`:`Test senden`,f;t[13]!==c||t[14]!==l||t[15]!==d||t[16]!==i.isPending?(f=(0,j.jsx)(T,{variant:`outline`,size:`sm`,disabled:i.isPending,onClick:c,"aria-label":l,children:d}),t[13]=c,t[14]=l,t[15]=d,t[16]=i.isPending,t[17]=f):f=t[17];let p;t[18]!==s||t[19]!==f?(p=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,f]}),t[18]=s,t[19]=f,t[20]=p):p=t[20];let m;return t[21]!==o||t[22]!==p?(m=(0,j.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[p,o]}),t[21]=o,t[22]=p,t[23]=m):m=t[23],m}function U(){let e=(0,k.c)(9),t=C().data,n=t?.rolle??`box`,r=n===`box`?`homelab`:`box`,i=t?.instanz??(n===`box`?`Box-Wart`:`Homelab`),a;e[0]!==r||e[1]!==n||e[2]!==t||e[3]!==i?(a=[{ziel:n,name:i}],t?.partner.eingerichtet&&a.push({ziel:r,name:t.partner.name}),a.sort(G),e[0]=r,e[1]=n,e[2]=t,e[3]=i,e[4]=a):a=e[4];let o,s;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Dringende Hinweise gehen zusätzlich per Telegram raus, alles andere bleibt hier; was nachts anfällt, kommt um 07:00 als eine Morgenmeldung. Einfache Probleme wie einen abgestürzten Dienst behebt der Wächter selbst und schreibt es in den Verlauf.`}),s=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Test schickt eine kurze Meldung über den echten Meldeweg, als dringend, damit sie auch nachts sofort kommt.`}),e[5]=o,e[6]=s):(o=e[5],s=e[6]);let c;return e[7]===a?c=e[8]:(c=(0,j.jsxs)(L,{titel:`Telegram`,children:[o,s,a.map(W)]}),e[7]=a,e[8]=c),c}function W(e){return(0,j.jsx)(H,{ziel:e.ziel,name:e.name},e.ziel)}function G(e,t){return Number(e.ziel!==`box`)-Number(t.ziel!==`box`)}function K(e){let t=(0,k.c)(87),{e:n,laedt:r,fehler:i}=e,a=l(),[o,s]=(0,A.useState)(null),[c,u]=(0,A.useState)(!1);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,j.jsx)(L,{titel:`Update-Zeitfenster`,children:(0,j.jsx)(B,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let d=n.update_fenster,f,p,m,h,g,_,v,y,b,x,S,C,w,D,O,P,R;if(t[3]!==n.schaltbar||t[4]!==o||t[5]!==d.naechster_lauf||t[6]!==d.neustart_fenster||t[7]!==d.tag||t[8]!==d.tag_name||t[9]!==d.timer_aktiv||t[10]!==d.uhrzeit||t[11]!==d.wirksam){R=o??{tag:d.tag,uhrzeit:d.uhrzeit},p=R.tag!==d.tag||R.uhrzeit!==d.uhrzeit;let e=N.includes(R.uhrzeit)?N:[...N,R.uhrzeit].sort();f=L,g=`Update-Zeitfenster`;let r;t[29]===d.naechster_lauf?r=t[30]:(r=d.naechster_lauf?` (nächster Lauf ${F(d.naechster_lauf)})`:``,t[29]=d.naechster_lauf,t[30]=r),t[31]!==d.neustart_fenster||t[32]!==d.tag_name||t[33]!==d.uhrzeit||t[34]!==r?(_=(0,j.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Die Box aktualisiert sich jeden `,d.tag_name,` um `,d.uhrzeit,` Uhr`,r,`. Neu gestartet wird sie danach nur`,` `,d.neustart_fenster,`.`]}),t[31]=d.neustart_fenster,t[32]=d.tag_name,t[33]=d.uhrzeit,t[34]=r,t[35]=_):_=t[35],t[36]!==n.schaltbar||t[37]!==d.timer_aktiv?(v=n.schaltbar&&!d.timer_aktiv&&(0,j.jsx)(z,{children:`Der Update-Timer läuft gerade nicht; er übernimmt das Fenster beim nächsten Start.`}),t[36]=n.schaltbar,t[37]=d.timer_aktiv,t[38]=v):v=t[38],t[39]!==n.schaltbar||t[40]!==d.wirksam?(y=n.schaltbar&&!d.wirksam&&(0,j.jsx)(z,{children:`Der Timer läuft noch nach einem anderen Plan als eingestellt. Einmal speichern gleicht es an.`}),t[39]=n.schaltbar,t[40]=d.wirksam,t[41]=y):y=t[41],P=`flex flex-wrap items-end gap-2`;let i=R.tag,a;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(a=M.map(J),t[42]=a):a=t[42],h=(0,j.jsxs)(`label`,{className:`flex flex-col gap-1 text-xs text-text-3`,children:[`Tag`,(0,j.jsx)(`select`,{className:`h-11 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] text-foreground outline-none focus:border-cyan/60 focus:bg-white/[0.06]`,value:i,disabled:!n.schaltbar,"aria-label":`Wochentag`,onChange:e=>s({...R,tag:Number(e.target.value)}),children:a})]}),D=`flex flex-col gap-1 text-xs text-text-3`,O=`Uhrzeit`,m=`h-11 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] text-foreground outline-none focus:border-cyan/60 focus:bg-white/[0.06]`,b=R.uhrzeit,x=!n.schaltbar,S=`Uhrzeit`,C=e=>s({...R,uhrzeit:e.target.value}),w=e.map(q),t[3]=n.schaltbar,t[4]=o,t[5]=d.naechster_lauf,t[6]=d.neustart_fenster,t[7]=d.tag,t[8]=d.tag_name,t[9]=d.timer_aktiv,t[10]=d.uhrzeit,t[11]=d.wirksam,t[12]=f,t[13]=p,t[14]=m,t[15]=h,t[16]=g,t[17]=_,t[18]=v,t[19]=y,t[20]=b,t[21]=x,t[22]=S,t[23]=C,t[24]=w,t[25]=D,t[26]=O,t[27]=P,t[28]=R}else f=t[12],p=t[13],m=t[14],h=t[15],g=t[16],_=t[17],v=t[18],y=t[19],b=t[20],x=t[21],S=t[22],C=t[23],w=t[24],D=t[25],O=t[26],P=t[27],R=t[28];let V;t[43]!==m||t[44]!==b||t[45]!==x||t[46]!==S||t[47]!==C||t[48]!==w?(V=(0,j.jsx)(`select`,{className:m,value:b,disabled:x,"aria-label":S,onChange:C,children:w}),t[43]=m,t[44]=b,t[45]=x,t[46]=S,t[47]=C,t[48]=w,t[49]=V):V=t[49];let H;t[50]!==V||t[51]!==D||t[52]!==O?(H=(0,j.jsxs)(`label`,{className:D,children:[O,V]}),t[50]=V,t[51]=D,t[52]=O,t[53]=H):H=t[53];let U=!n.schaltbar||a.isPending||!p&&d.wirksam,W;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>u(!0),t[54]=W):W=t[54];let G=a.isPending?`Speichert …`:`Speichern`,K;t[55]!==U||t[56]!==G?(K=(0,j.jsx)(T,{disabled:U,onClick:W,children:G}),t[55]=U,t[56]=G,t[57]=K):K=t[57];let Y;t[58]!==h||t[59]!==H||t[60]!==K||t[61]!==P?(Y=(0,j.jsxs)(`div`,{className:P,children:[h,H,K]}),t[58]=h,t[59]=H,t[60]=K,t[61]=P,t[62]=Y):Y=t[62];let X=n.schaltbar?``:` Einstellen lässt es sich nur auf der Box.`,Z;t[63]===X?Z=t[64]:(Z=(0,j.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Am besten nachts nach der Sicherung (03:30) und vor der Morgenmeldung (07:00).`,X]}),t[63]=X,t[64]=Z);let ee;t[65]!==R.tag||t[66]!==R.uhrzeit?(ee=I(R.tag,R.uhrzeit),t[65]=R.tag,t[66]=R.uhrzeit,t[67]=ee):ee=t[67];let te=`Der Update-Lauf startet ab jetzt jeden ${M[R.tag-1]} um ${R.uhrzeit} Uhr. Neu gestartet wird die Box nur ${ee}. Ein Termin, der dadurch schon vorbei ist, wird nicht nachgeholt: Der erste Lauf ist der nächste reguläre.`,ne;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(ne=()=>u(!1),t[68]=ne):ne=t[68];let Q;t[69]!==c||t[70]!==a||t[71]!==R?(Q=()=>{c&&(a.mutate(R,{onSuccess:()=>s(null)}),u(!1))},t[69]=c,t[70]=a,t[71]=R,t[72]=Q):Q=t[72];let $;t[73]!==c||t[74]!==a.isPending||t[75]!==te||t[76]!==Q?($=(0,j.jsx)(E,{offen:c,titel:`Update-Zeitfenster ändern?`,text:te,knopf:`Speichern`,gesperrt:a.isPending,onNein:ne,onJa:Q}),t[73]=c,t[74]=a.isPending,t[75]=te,t[76]=Q,t[77]=$):$=t[77];let re;return t[78]!==f||t[79]!==g||t[80]!==_||t[81]!==v||t[82]!==y||t[83]!==Y||t[84]!==Z||t[85]!==$?(re=(0,j.jsxs)(f,{titel:g,children:[_,v,y,Y,Z,$]}),t[78]=f,t[79]=g,t[80]=_,t[81]=v,t[82]=y,t[83]=Y,t[84]=Z,t[85]=$,t[86]=re):re=t[86],re}function q(e){return(0,j.jsx)(`option`,{value:e,children:e},e)}function J(e,t){return(0,j.jsx)(`option`,{value:t+1,children:e},e)}function Y(e){let t=(0,k.c)(37),{e:n,laedt:r,fehler:i}=e,a=c(),[o,s]=(0,A.useState)(null);if(!n){let e;return t[0]!==i||t[1]!==r?(e=(0,j.jsx)(L,{titel:`Modell-Radar`,children:(0,j.jsx)(B,{laedt:r,fehler:i})}),t[0]=i,t[1]=r,t[2]=e):e=t[2],e}let l=n.radar,u=l.zustand===`an`||l.zustand===`unbekannt`&&l.an,d;t[3]===l.naechster_lauf?d=t[4]:(d=l.naechster_lauf?` (nächster Lauf ${F(l.naechster_lauf)})`:``,t[3]=l.naechster_lauf,t[4]=d);let f=`An. Es sucht jede Nacht ab 00:30 nach besseren Modellen${d}.`,p=l.an?`Eingeschaltet.`:`Ausgeschaltet.`,m;t[5]!==f||t[6]!==p?(m={an:f,schlaeft:`Schläft. Es sucht und testet keine Modelle, bis du es wieder einschaltest.`,aus:`Gestoppt, steht aber noch im Autostart: Nach einem Neustart der Box liefe es wieder.`,unbekannt:p},t[5]=f,t[6]=p,t[7]=m):m=t[7];let h=m[l.zustand],g;t[8]===h?g=t[9]:(g=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:h}),t[8]=h,t[9]=g);let _;t[10]!==n.schaltbar||t[11]!==l.an||t[12]!==l.wirksam?(_=n.schaltbar&&!l.wirksam&&(0,j.jsxs)(z,{children:[`Eingestellt ist „`,l.an?`an`:`aus`,`“, systemd zeigt etwas anderes. Noch einmal schalten gleicht es an.`]}),t[10]=n.schaltbar,t[11]=l.an,t[12]=l.wirksam,t[13]=_):_=t[13];let v=u?`outline`:`default`,y=!n.schaltbar||a.isPending,b;t[14]===u?b=t[15]:(b=()=>s(!u),t[14]=u,t[15]=b);let x=a.isPending?`Schaltet …`:u?`Ausschalten`:`Einschalten`,S;t[16]!==b||t[17]!==x||t[18]!==v||t[19]!==y?(S=(0,j.jsx)(T,{variant:v,size:`sm`,className:`self-start`,disabled:y,onClick:b,children:x}),t[16]=b,t[17]=x,t[18]=v,t[19]=y,t[20]=S):S=t[20];let C=o!==null,w=o?`Modell-Radar einschalten?`:`Modell-Radar ausschalten?`,D=o?`Das Radar sucht ab heute Nacht um 00:30 wieder nach besseren Modellen und testet höchstens eines pro Woche. Ein verpasster Lauf wird nicht nachgeholt, tagsüber lädt es also nichts.`:`Das Radar sucht und testet dann keine neuen Modelle mehr, bis du es wieder einschaltest. Ein Nachttest, der gerade läuft, endet noch. Auch ein Deploy schaltet es nicht wieder ein.`,O=o?`Einschalten`:`Ausschalten`,M;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>s(null),t[21]=M):M=t[21];let N;t[22]!==o||t[23]!==a?(N=()=>{o!==null&&(a.mutate(o),s(null))},t[22]=o,t[23]=a,t[24]=N):N=t[24];let P;t[25]!==a.isPending||t[26]!==C||t[27]!==w||t[28]!==D||t[29]!==O||t[30]!==N?(P=(0,j.jsx)(E,{offen:C,titel:w,text:D,knopf:O,gesperrt:a.isPending,onNein:M,onJa:N}),t[25]=a.isPending,t[26]=C,t[27]=w,t[28]=D,t[29]=O,t[30]=N,t[31]=P):P=t[31];let I;return t[32]!==S||t[33]!==P||t[34]!==g||t[35]!==_?(I=(0,j.jsxs)(L,{titel:`Modell-Radar`,children:[g,_,S,P]}),t[32]=S,t[33]=P,t[34]=g,t[35]=_,t[36]=I):I=t[36],I}function X(e){let t=(0,k.c)(25),{name:n,stand:r,laedt:i,fehler:a}=e,o;if(i){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`span`,{className:`text-sm text-text-2`,children:`Wird gelesen …`}),t[0]=e):e=t[0],o=e}else if(a){let e;t[1]===a?e=t[2]:(e=(0,j.jsxs)(`span`,{className:`text-sm text-rot-text`,children:[`Nicht lesbar: `,a]}),t[1]=a,t[2]=e),o=e}else if(r?.commit){let e;t[4]===r.commit?e=t[5]:(e=(0,j.jsx)(`span`,{className:`ziffern text-foreground`,children:r.commit}),t[4]=r.commit,t[5]=e);let n=r.betreff?` · ${r.betreff}`:``,i;t[6]!==e||t[7]!==n?(i=(0,j.jsxs)(`span`,{className:`text-sm text-text-2`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=i):i=t[8];let a;t[9]!==r.deploy_zeit||t[10]!==r.quelle?(a=r.quelle===`deploy`?`Live seit ${F(r.deploy_zeit)}`:`Aus git gelesen, ohne Deploy`,t[9]=r.deploy_zeit,t[10]=r.quelle,t[11]=a):a=t[11];let s;t[12]===r.commit_datum?s=t[13]:(s=r.commit_datum?` · Commit vom ${F(r.commit_datum)}`:``,t[12]=r.commit_datum,t[13]=s);let c;t[14]!==a||t[15]!==s?(c=(0,j.jsxs)(`span`,{className:`text-xs text-text-3`,children:[a,s]}),t[14]=a,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==i||t[18]!==c?(l=(0,j.jsxs)(j.Fragment,{children:[i,c]}),t[17]=i,t[18]=c,t[19]=l):l=t[19],o=l}else{let e;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,j.jsx)(`span`,{className:`text-sm text-text-2`,children:`Unbekannt: keine Stand-Datei und kein git.`}),t[3]=e):e=t[3],o=e}let s;t[20]===n?s=t[21]:(s=(0,j.jsx)(`span`,{className:`text-[15px]`,children:n}),t[20]=n,t[21]=s);let c;return t[22]!==o||t[23]!==s?(c=(0,j.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[s,o]}),t[22]=o,t[23]=s,t[24]=c):c=t[24],c}function Z(e,t){return!e||!t?null:e.startsWith(t)||t.startsWith(e)}function ee(e){let t=(0,k.c)(21),{offen:n}=e,r=C().data,i=!!r?.partner.eingerichtet,[a,o]=f(n,i),s=a.data?.stand?.commit,c=o.data?.stand?.commit,l;t[0]!==s||t[1]!==c?(l=Z(s,c),t[0]=s,t[1]=c,t[2]=l):l=t[2];let u=l,d=a.data?.instanz??r?.instanz??`Diese Instanz`,p=a.data?.stand,m=a.error?.message,h;t[3]!==a.isPending||t[4]!==d||t[5]!==p||t[6]!==m?(h=(0,j.jsx)(X,{name:d,stand:p,laedt:a.isPending,fehler:m}),t[3]=a.isPending,t[4]=d,t[5]=p,t[6]=m,t[7]=h):h=t[7];let g;t[8]!==r?.partner||t[9]!==o.data?.instanz||t[10]!==o.data?.stand||t[11]!==o.error?.message||t[12]!==o.isPending||t[13]!==i?(g=i&&(0,j.jsx)(X,{name:o.data?.instanz??r?.partner.name??`Partner`,stand:o.data?.stand,laedt:o.isPending,fehler:o.error?.message}),t[8]=r?.partner,t[9]=o.data?.instanz,t[10]=o.data?.stand,t[11]=o.error?.message,t[12]=o.isPending,t[13]=i,t[14]=g):g=t[14];let _;t[15]===u?_=t[16]:(_=u===!1&&(0,j.jsx)(z,{children:`Die beiden Instanzen laufen mit verschiedenen Ständen. Der nächste Deploy der Box zieht den Homelab-Teil mit.`}),t[15]=u,t[16]=_);let v;return t[17]!==h||t[18]!==g||t[19]!==_?(v=(0,j.jsxs)(L,{titel:`Instanzen`,children:[h,g,_]}),t[17]=h,t[18]=g,t[19]=_,t[20]=v):v=t[20],v}function te(e){let t=(0,k.c)(52),{h:n}=e,r=_(),i=b(),[a,o]=(0,A.useState)(``),[s,c]=(0,A.useState)(!1),[l,u]=(0,A.useState)(null),f=n.arcane,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p={hinterlegt:(0,j.jsx)(d,{art:`gruen`,children:`hinterlegt`}),umgebung:(0,j.jsx)(d,{art:`gruen`,children:`aus der Dienst-Einstellung`}),fehlt:(0,j.jsx)(d,{art:`bernstein`,children:`fehlt`})},t[0]=p):p=t[0];let m=p[f.schluessel],h;t[1]===f.url?h=t[2]:(h=f.url&&(0,j.jsxs)(`a`,{href:f.url,target:`_blank`,rel:`noopener`,className:`ml-auto inline-flex items-center gap-1 text-cyan hover:underline`,children:[`Arcane öffnen `,(0,j.jsx)(S,{className:`size-3.5`,"aria-hidden":!0})]}),t[1]=f.url,t[2]=h);let g;t[3]!==m||t[4]!==h?(g=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-text-2`,children:[`API-Schlüssel `,m,h]}),t[3]=m,t[4]=h,t[5]=g):g=t[5];let v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Mit Schlüssel sieht der Orchestrator, welche Docker-Images neuer sind. Anlegen in Arcane unter Einstellungen → API-Schlüssel; Lesen reicht, solange Docker-Updates nur als Probelauf laufen.`}),t[6]=v):v=t[6];let y;t[7]!==f.schluessel||t[8]!==r||t[9]!==a?(y=f.schluessel!==`umgebung`&&(0,j.jsxs)(`form`,{className:`flex gap-2`,onSubmit:e=>{e.preventDefault(),a.trim()&&r.mutate(a.trim(),{onSuccess:()=>o(``)})},children:[(0,j.jsx)(`label`,{htmlFor:`arcane-schluessel`,className:`sr-only`,children:`Arcane-API-Schlüssel`}),(0,j.jsxs)(`span`,{className:`relative min-w-0 flex-1`,children:[(0,j.jsx)(O,{className:`pointer-events-none absolute top-1/2 left-3 size-4 -translate-y-1/2 text-text-3`,"aria-hidden":!0}),(0,j.jsx)(`input`,{id:`arcane-schluessel`,type:`password`,autoComplete:`off`,value:a,onChange:e=>o(e.target.value),placeholder:f.schluessel===`hinterlegt`?`Neuen Schlüssel eintragen …`:`Schlüssel aus Arcane einfügen …`,className:`h-11 w-full rounded-xl border border-white/12 bg-white/[0.04] pr-3 pl-9 text-[15px] outline-none focus:border-lab/60 focus:bg-white/[0.06]`})]}),(0,j.jsx)(T,{type:`submit`,disabled:!a.trim()||r.isPending,children:r.isPending?`Prüft …`:`Prüfen und speichern`})]}),t[7]=f.schluessel,t[8]=r,t[9]=a,t[10]=y):y=t[10];let x;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,j.jsx)(`p`,{className:`text-xs text-text-3`,children:`Der Schlüssel wird vor dem Speichern an Arcane geprüft und nie wieder angezeigt. Er liegt nur im Homelab-Teil.`}),t[11]=x):x=t[11];let C;t[12]!==f.schluessel||t[13]!==s||t[14]!==r?(C=f.schluessel===`hinterlegt`&&(s?(0,j.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsx)(T,{variant:`gefahr`,size:`sm`,disabled:r.isPending,onClick:()=>{r.mutate(null),c(!1)},children:`Wirklich entfernen?`}),(0,j.jsx)(T,{variant:`ghost`,size:`sm`,onClick:()=>c(!1),children:`Nein`})]}):(0,j.jsx)(T,{variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>c(!0),children:`Schlüssel entfernen`})),t[12]=f.schluessel,t[13]=s,t[14]=r,t[15]=C):C=t[15];let w;t[16]!==g||t[17]!==y||t[18]!==C?(w=(0,j.jsxs)(L,{titel:`Arcane (Docker)`,children:[g,v,y,x,C]}),t[16]=g,t[17]=y,t[18]=C,t[19]=w):w=t[19];let D=f.echt?`Echt: „Jetzt updaten“ bei Arcane zieht neue Images und startet die Container neu.`:`Probelauf: Arcane zeigt nur, was es tun würde — kein Container wird angefasst.`,M=f.echt_quelle===`umgebung`?` Festgelegt in der Dienst-Einstellung (MC_ARCANE_ECHT).`:``,N;t[20]!==D||t[21]!==M?(N=(0,j.jsxs)(`p`,{className:`text-sm text-text-2`,children:[D,M]}),t[20]=D,t[21]=M,t[22]=N):N=t[22];let P=f.echt?`outline`:`default`,F=f.echt_quelle===`umgebung`||i.isPending||f.schluessel===`fehlt`,I;t[23]===f.echt?I=t[24]:(I=()=>u(!f.echt),t[23]=f.echt,t[24]=I);let R=i.isPending?`Schaltet …`:f.echt?`Zurück auf Probelauf`:`Echt schalten`,z;t[25]!==P||t[26]!==F||t[27]!==I||t[28]!==R?(z=(0,j.jsx)(T,{variant:P,size:`sm`,className:`self-start`,disabled:F,onClick:I,children:R}),t[25]=P,t[26]=F,t[27]=I,t[28]=R,t[29]=z):z=t[29];let B;t[30]===f.schluessel?B=t[31]:(B=f.schluessel===`fehlt`&&(0,j.jsx)(`p`,{className:`text-xs text-text-3`,children:`Erst den Schlüssel eintragen.`}),t[30]=f.schluessel,t[31]=B);let V=l!==null,H=l?`Docker-Updates echt ausführen?`:`Zurück auf Probelauf?`,U=l?`Ab jetzt zieht „Jetzt updaten“ bei Arcane neue Images und startet die betroffenen Container neu. Vorher wird ein Snapshot der VM angelegt, soweit möglich. Das lässt sich hier jederzeit zurückschalten.`:`Docker-Updates zeigen dann wieder nur, was Arcane tun würde.`,W=l?`Echt schalten`:`Probelauf`,G=!!l,K;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>u(null),t[32]=K):K=t[32];let q;t[33]!==i||t[34]!==l?(q=()=>{l!==null&&(i.mutate(l),u(null))},t[33]=i,t[34]=l,t[35]=q):q=t[35];let J;t[36]!==i.isPending||t[37]!==V||t[38]!==H||t[39]!==U||t[40]!==W||t[41]!==G||t[42]!==q?(J=(0,j.jsx)(E,{offen:V,titel:H,text:U,knopf:W,gefahr:G,gesperrt:i.isPending,onNein:K,onJa:q}),t[36]=i.isPending,t[37]=V,t[38]=H,t[39]=U,t[40]=W,t[41]=G,t[42]=q,t[43]=J):J=t[43];let Y;t[44]!==N||t[45]!==z||t[46]!==B||t[47]!==J?(Y=(0,j.jsxs)(L,{titel:`Docker-Updates`,children:[N,z,B,J]}),t[44]=N,t[45]=z,t[46]=B,t[47]=J,t[48]=Y):Y=t[48];let X;return t[49]!==Y||t[50]!==w?(X=(0,j.jsxs)(j.Fragment,{children:[w,Y]}),t[49]=Y,t[50]=w,t[51]=X):X=t[51],X}function ne(e){let t=(0,k.c)(44),{h:n}=e,r=p(),[i,o]=(0,A.useState)(``),[s,c]=(0,A.useState)(``),[l,u]=(0,A.useState)(!1),f=n.adguard;if(!f)return null;let m;t[0]!==f.benutzer||t[1]!==f.zugang?(m=f.zugang===`hinterlegt`?(0,j.jsxs)(d,{art:`gruen`,children:[`hinterlegt`,f.benutzer?` · ${f.benutzer}`:``]}):(0,j.jsx)(d,{art:`grau`,children:`keiner`}),t[0]=f.benutzer,t[1]=f.zugang,t[2]=m):m=t[2];let h;t[3]===f.url?h=t[4]:(h=f.url&&(0,j.jsxs)(`a`,{href:f.url,target:`_blank`,rel:`noopener`,className:`ml-auto inline-flex items-center gap-1 text-cyan hover:underline`,children:[`AdGuard öffnen `,(0,j.jsx)(S,{className:`size-3.5`,"aria-hidden":!0})]}),t[3]=f.url,t[4]=h);let g;t[5]!==m||t[6]!==h?(g=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-sm text-text-2`,children:[`Zugang `,m,h]}),t[5]=m,t[6]=h,t[7]=g):g=t[7];let _;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Mit einem Zugang zeigt die Kachel von AdGuard, wie viele Anfragen es blockt. Er wird nur zum Lesen der Statistik benutzt — am besten ein eigener Benutzer dafür.`}),t[8]=_):_=t[8];let v;t[9]!==i||t[10]!==s||t[11]!==r?(v=e=>{e.preventDefault(),i.trim()&&s&&r.mutate({benutzer:i.trim(),passwort:s},{onSuccess:()=>{c(``),o(``)}})},t[9]=i,t[10]=s,t[11]=r,t[12]=v):v=t[12];let y;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,j.jsx)(`label`,{htmlFor:`adguard-benutzer`,className:`sr-only`,children:`AdGuard-Benutzer`}),t[13]=y):y=t[13];let b;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>o(e.target.value),t[14]=b):b=t[14];let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=a(`h-11 w-full rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-lab/60 focus:bg-white/[0.06]`,`min-w-0 flex-1 basis-40`),t[15]=x):x=t[15];let C;t[16]===i?C=t[17]:(C=(0,j.jsx)(`input`,{id:`adguard-benutzer`,autoComplete:`off`,value:i,onChange:b,placeholder:`Benutzer`,className:x}),t[16]=i,t[17]=C);let w;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,j.jsx)(`label`,{htmlFor:`adguard-passwort`,className:`sr-only`,children:`AdGuard-Passwort`}),t[18]=w):w=t[18];let E;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>c(e.target.value),t[19]=E):E=t[19];let D;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=a(`h-11 w-full rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-lab/60 focus:bg-white/[0.06]`,`min-w-0 flex-1 basis-40`),t[20]=D):D=t[20];let O;t[21]===s?O=t[22]:(O=(0,j.jsx)(`input`,{id:`adguard-passwort`,type:`password`,autoComplete:`new-password`,value:s,onChange:E,placeholder:`Passwort`,className:D}),t[21]=s,t[22]=O);let M;t[23]!==i||t[24]!==s||t[25]!==r.isPending?(M=!i.trim()||!s||r.isPending,t[23]=i,t[24]=s,t[25]=r.isPending,t[26]=M):M=t[26];let N=r.isPending?`Prüft …`:`Prüfen und speichern`,P;t[27]!==M||t[28]!==N?(P=(0,j.jsx)(T,{type:`submit`,disabled:M,children:N}),t[27]=M,t[28]=N,t[29]=P):P=t[29];let F;t[30]!==O||t[31]!==P||t[32]!==v||t[33]!==C?(F=(0,j.jsxs)(`form`,{className:`flex flex-wrap gap-2`,onSubmit:v,children:[y,C,w,O,P]}),t[30]=O,t[31]=P,t[32]=v,t[33]=C,t[34]=F):F=t[34];let I;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,j.jsx)(`p`,{className:`text-xs text-text-3`,children:`Vor dem Speichern fragt der Homelab-Teil AdGuard einmal damit. Das Passwort wird nie wieder angezeigt und liegt nur im Homelab-Teil.`}),t[35]=I):I=t[35];let R;t[36]!==f.zugang||t[37]!==l||t[38]!==r?(R=f.zugang===`hinterlegt`&&(l?(0,j.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[(0,j.jsx)(T,{variant:`gefahr`,size:`sm`,disabled:r.isPending,onClick:()=>{r.mutate(null),u(!1)},children:`Wirklich entfernen?`}),(0,j.jsx)(T,{variant:`ghost`,size:`sm`,onClick:()=>u(!1),children:`Nein`})]}):(0,j.jsx)(T,{variant:`ghost`,size:`sm`,className:`self-start`,onClick:()=>u(!0),children:`Zugang entfernen`})),t[36]=f.zugang,t[37]=l,t[38]=r,t[39]=R):R=t[39];let z;return t[40]!==F||t[41]!==R||t[42]!==g?(z=(0,j.jsxs)(L,{titel:`AdGuard Home`,children:[g,_,F,I,R]}),t[40]=F,t[41]=R,t[42]=g,t[43]=z):z=t[43],z}function Q(e){let t=(0,k.c)(21),{h:n}=e,r=n.ausfuehrer,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,j.jsx)(`dt`,{className:`text-text-3`,children:`Ausführer`}),t[0]=i):i=t[0];let a=r.verbunden?`text-gruen-text`:`text-rot-text`,s=r.verbunden?`verbunden`:`meldet sich nicht`,c;t[1]===r.zuletzt?c=t[2]:(c=r.zuletzt?` · zuletzt ${o(new Date(r.zuletzt*1e3).toISOString()).toLowerCase()}`:``,t[1]=r.zuletzt,t[2]=c);let l;t[3]!==a||t[4]!==s||t[5]!==c?(l=(0,j.jsxs)(`dd`,{className:a,children:[s,c]}),t[3]=a,t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,j.jsx)(`dt`,{className:`text-text-3`,children:`Modus`}),t[7]=u):u=t[7];let d=r.nur_lesen?`nur lesen — Updates sind gesperrt`:`voll: Snapshots, Sicherungen und Updates`,f;t[8]===d?f=t[9]:(f=(0,j.jsx)(`dd`,{className:`text-text-2`,children:d}),t[8]=d,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,j.jsx)(`dt`,{className:`text-text-3`,children:`Sicherungen`}),t[10]=p):p=t[10];let m=r.sicherung_speicher?`auf „${r.sicherung_speicher}“ (wo kein Snapshot geht)`:`kein Speicher gefunden`,h;t[11]===m?h=t[12]:(h=(0,j.jsx)(`dd`,{className:`text-text-2`,children:m}),t[11]=m,t[12]=h);let g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,j.jsx)(`dt`,{className:`text-text-3`,children:`Wartezeit`}),t[13]=g):g=t[13];let _=n.karenz_h>0?`${n.karenz_h} Stunden nach einer Änderung am Update-Skript einer App`:`aus`,v;t[14]===_?v=t[15]:(v=(0,j.jsx)(`dd`,{className:`text-text-2`,children:_}),t[14]=_,t[15]=v);let y;return t[16]!==h||t[17]!==v||t[18]!==l||t[19]!==f?(y=(0,j.jsx)(L,{titel:`Ausführer und Updates`,children:(0,j.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] gap-x-4 gap-y-2 text-sm`,children:[i,l,u,f,p,h,g,v]})}),t[16]=h,t[17]=v,t[18]=l,t[19]=f,t[20]=y):y=t[20],y}function $(){let e=(0,k.c)(8),t=C().data,n=g().data,r=t?.rolle===`homelab`||!!(n?.eingerichtet&&n.erreichbar),i=m(r),a;if(!r){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,j.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht.`}),e[0]=t):t=e[0],a=t}else if(i.data){let t;e[4]===i.data?t=e[5]:(t=(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(te,{h:i.data}),(0,j.jsx)(ne,{h:i.data}),(0,j.jsx)(Q,{h:i.data})]}),e[4]=i.data,e[5]=t),a=t}else{let t=i.error?.message,n;e[1]!==i.isPending||e[2]!==t?(n=(0,j.jsx)(B,{laedt:i.isPending,fehler:t}),e[1]=i.isPending,e[2]=t,e[3]=n):n=e[3],a=n}let o;return e[6]===a?o=e[7]:(o=(0,j.jsx)(R,{titel:`Homelab`,farbe:`homelab`,text:`Arcane und Docker, AdGuard, der Ausführer auf dem Proxmox-Host, Rückwege.`,children:a}),e[6]=a,e[7]=o),o}function re(){let e=(0,k.c)(18),t=y(!0),n=t.error?.message,r;e[0]!==t.data||e[1]!==t.isPending||e[2]!==n?(r={e:t.data,laedt:t.isPending,fehler:n},e[0]=t.data,e[1]=t.isPending,e[2]=n,e[3]=r):r=e[3];let i=r,a,o;e[4]===i?(a=e[5],o=e[6]):(a=(0,j.jsx)(K,{...i}),o=(0,j.jsx)(Y,{...i}),e[4]=i,e[5]=a,e[6]=o);let s;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(V,{offen:!0}),e[7]=s):s=e[7];let c;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,j.jsxs)(L,{titel:`Hermes`,children:[(0,j.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:`flex h-11 items-center gap-2 self-start rounded-xl border border-white/12 bg-white/[0.04] px-4 text-[15px] font-semibold hover:border-white/20 hover:bg-white/[0.08]`,children:[(0,j.jsx)(S,{className:`size-4`,"aria-hidden":!0}),` Hermes-Dashboard öffnen`]}),(0,j.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat, Sitzungen und Cron-Jobs verwaltet Hermes selbst. Es fragt nach seiner eigenen Anmeldung.`})]}),e[8]=c):c=e[8];let l;e[9]!==a||e[10]!==o?(l=(0,j.jsxs)(R,{titel:`KI-Box`,farbe:`box`,text:`Wann sie sich aktualisiert, das Modell-Radar und Zugänge.`,children:[a,o,s,c]}),e[9]=a,e[10]=o,e[11]=l):l=e[11];let u;e[12]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,j.jsx)($,{}),e[12]=u):u=e[12];let d;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,j.jsx)(R,{titel:`Meldungen`,text:`Telegram, Morgenmeldung und was sofort kommt.`,children:(0,j.jsx)(U,{})}),e[13]=d):d=e[13];let f;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,j.jsx)(R,{titel:`Software-Stand`,text:`Welcher Stand auf beiden Instanzen läuft.`,children:(0,j.jsx)(ee,{offen:!0})}),e[14]=f):f=e[14];let p;e[15]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,j.jsxs)(`p`,{className:`text-xs text-text-3 xl:col-span-2`,children:[`Logos der Dienste: `,(0,j.jsx)(`a`,{href:`https://selfh.st/icons`,target:`_blank`,rel:`noopener`,className:`underline-offset-4 hover:underline`,children:`selfh.st/icons`}),`, Lizenz CC BY 4.0. Die Marken gehören ihren Inhabern und dienen hier nur dem Wiedererkennen.`]}),e[15]=p):p=e[15];let m;return e[16]===l?m=e[17]:(m=(0,j.jsxs)(`div`,{className:`grid gap-5 md:gap-6 xl:grid-cols-2`,children:[l,u,d,f,p]}),e[16]=l,e[17]=m),m}export{re as EinstellungenSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Homelab-6IZiUZgt.js b/frontend/dist/assets/Homelab-6IZiUZgt.js new file mode 100644 index 0000000..9cc4e1e --- /dev/null +++ b/frontend/dist/assets/Homelab-6IZiUZgt.js @@ -0,0 +1 @@ +import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{t as o}from"./chevron-right-DF8ikrVh.js";import{n as s,t as c}from"./undo-2-B8COJmAr.js";import{t as l}from"./search-RXhRizww.js";import{$t as u,B as d,Bt as f,En as p,G as m,H as h,Ht as g,J as _,K as v,L as y,M as b,N as x,O as S,On as C,Ot as w,Q as T,R as E,Rt as D,S as O,Tn as k,U as A,V as j,W as M,Y as N,Zt as P,_ as F,b as I,dt as ee,ht as te,in as L,j as R,jt as z,kn as ne,kt as re,mt as B,n as V,pt as H,q as U,r as W,s as ie,t as ae,ut as oe,v as se,vt as ce,x as le,xt as ue,y as de,yt as fe,z as pe,zt as me}from"./index-CiJU28k0.js";import{t as G}from"./button-DwYvdWVr.js";import{t as K}from"./Bestaetigen-BGcVQso2.js";import{t as q}from"./Panel-uT1S5ZGr.js";import{n as he,t as ge}from"./Lagekopf-DKe__zE4.js";var _e={name:`circle-dashed`,size:24,node:[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]};_e.node;var ve=r(_e),ye={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};ye.node;var be=r(ye),xe={name:`skip-forward`,size:24,node:[[`path`,{d:`M21 4v16`,key:`7j8fe9`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`,key:`zs4d6`}]]};xe.node;var Se=r(xe),J=i(),Y=n(),Ce={neu:{text:`Update verfügbar`,klasse:`text-cyan-text`},lokal:{text:`lokal gebaut`,klasse:`text-text-3`},aktuell:{text:`aktuell`,klasse:`text-text-3`},unbekannt:{text:`Update-Stand unklar`,klasse:`text-bernstein`}};function we(e){return e.zustand===`restarting`||e.gesund===!1?`rot`:e.zustand===`running`?`ok`:`aus`}function Te(e){return e.gesund===!1?`ungesund`:e.zustand===`restarting`?`startet immer wieder neu`:e.zustand===`running`?e.gesund?`läuft, gesund`:`läuft`:e.zustand===`exited`?`beendet`:e.zustand===`paused`?`angehalten`:e.zustand}var Ee=e=>(e??``).split(`/`).at(-1)?.split(`:`)[0]??``;function De(e){let t=(0,J.c)(36),{c:n}=e,r=Ce[n.update]??Ce.unbekannt,i;t[0]!==n.dienst||t[1]!==n.image?(i=R({art:`container`,name:n.dienst??Ee(n.image)}),t[0]=n.dienst,t[1]=n.image,t[2]=i):i=t[2];let o;t[3]===n?o=t[4]:(o=we(n),t[3]=n,t[4]=o);let s;t[5]!==i||t[6]!==o?(s=(0,Y.jsx)(S,{bild:i,groesse:`sm`,punkt:o}),t[5]=i,t[6]=o,t[7]=s):s=t[7];let c;t[8]===n.name?c=t[9]:(c=(0,Y.jsx)(`span`,{className:`truncate text-[14.5px] font-medium`,children:n.name}),t[8]=n.name,t[9]=c);let l;t[10]===n.image?l=t[11]:(l=(0,Y.jsx)(`span`,{className:`truncate text-[12.5px] text-text-3`,children:n.image}),t[10]=n.image,t[11]=l);let u;t[12]!==c||t[13]!==l?(u=(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col`,children:[c,l]}),t[12]=c,t[13]=l,t[14]=u):u=t[14];let d;t[15]===n?d=t[16]:(d=we(n)===`rot`?`text-rot-text`:`text-text-2`,t[15]=n,t[16]=d);let f;t[17]===d?f=t[18]:(f=a(`text-[13px]`,d),t[17]=d,t[18]=f);let p;t[19]===n?p=t[20]:(p=Te(n),t[19]=n,t[20]=p);let m;t[21]!==f||t[22]!==p?(m=(0,Y.jsx)(`span`,{className:f,children:p}),t[21]=f,t[22]=p,t[23]=m):m=t[23];let h;t[24]===r.klasse?h=t[25]:(h=a(`text-[12px]`,r.klasse),t[24]=r.klasse,t[25]=h);let g;t[26]!==h||t[27]!==r.text?(g=(0,Y.jsx)(`span`,{className:h,children:r.text}),t[26]=h,t[27]=r.text,t[28]=g):g=t[28];let _;t[29]!==m||t[30]!==g?(_=(0,Y.jsxs)(`span`,{className:`flex shrink-0 flex-col items-end text-right`,children:[m,g]}),t[29]=m,t[30]=g,t[31]=_):_=t[31];let v;return t[32]!==_||t[33]!==s||t[34]!==u?(v=(0,Y.jsxs)(`li`,{className:`flex min-w-0 items-center gap-3 border-t border-white/[0.06] py-2.5 first:border-t-0`,children:[s,u,_]}),t[32]=_,t[33]=s,t[34]=u,t[35]=v):v=t[35],v}function Oe(e){let t=(0,J.c)(4),{lage:n}=e;if(!n.verfuegbar||n.stacks.length===0)return null;let r;t[0]===n.stacks?r=t[1]:(r=n.stacks.map(ke),t[0]=n.stacks,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,Y.jsx)(`div`,{className:`grid gap-3 md:grid-cols-2 2xl:grid-cols-3`,children:r}),t[2]=r,t[3]=i),i}function ke(e){let t=e.container.filter(Me).length,n=e.container.filter(je).length;return(0,Y.jsxs)(`section`,{"aria-label":`Stack ${e.name}`,className:`flaeche-innen flex min-w-0 flex-col rounded-2xl px-4 py-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 pb-1`,children:[(0,Y.jsx)(`h3`,{className:`m-0 truncate text-[15px] font-semibold`,children:e.name}),(0,Y.jsxs)(`span`,{className:`shrink-0 text-[12.5px] text-text-3`,children:[t,` von `,e.container.length,` laufen`,n?` · ${n} mit Update`:``]})]}),(0,Y.jsx)(`ul`,{className:`m-0 list-none p-0`,children:e.container.map(Ae)})]},e.name)}function Ae(e){return(0,Y.jsx)(De,{c:e},e.id)}function je(e){return e.update===`neu`}function Me(e){return e.zustand===`running`}var Ne=`md:grid-cols-[minmax(0,1.35fr)_110px_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1fr)_90px]`,Pe=e=>(e/1e9).toFixed(1).replace(`.`,`,`);function Fe(e){let t=(0,J.c)(20),{wert:n,gelb:r,rot:i,zusatz:o,unter:s}=e;if(n==null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let c=n>=i?`var(--rot)`:n>=r?`var(--bernstein)`:`color-mix(in srgb, var(--lab) 80%, transparent)`,l=n>=i?`text-rot-text`:n>=r?`text-bernstein`:`text-text-2`,u;t[1]===l?u=t[2]:(u=a(`ziffern text-sm`,l),t[1]=l,t[2]=u);let d;t[3]===n?d=t[4]:(d=Math.round(n),t[3]=n,t[4]=d);let f;t[5]===o?f=t[6]:(f=o&&(0,Y.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,o]}),t[5]=o,t[6]=f);let p;t[7]!==u||t[8]!==d||t[9]!==f?(p=(0,Y.jsxs)(`span`,{className:u,children:[d,` %`,f]}),t[7]=u,t[8]=d,t[9]=f,t[10]=p):p=t[10];let m=`${Math.min(100,Math.max(2,n))}%`,h;t[11]!==c||t[12]!==m?(h=(0,Y.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,Y.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:m,background:c}})}),t[11]=c,t[12]=m,t[13]=h):h=t[13];let g;t[14]===s?g=t[15]:(g=s&&(0,Y.jsx)(`span`,{className:a(`text-xs`,F[s.stufe]),children:s.text}),t[14]=s,t[15]=g);let _;return t[16]!==p||t[17]!==h||t[18]!==g?(_=(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1.5`,children:[p,h,g]}),t[16]=p,t[17]=h,t[18]=g,t[19]=_):_=t[19],_}function Ie(e){if(e.erreichbar===!1)return 0;let t=m(e);return t!==null&&t>=.8?1:e.art===`proxmox-host`?2:3}function Le(e){let t=(0,J.c)(4),{ziele:n,messwerte:r}=e,i;if(t[0]!==r||t[1]!==n){let e=new Map((r??[]).map(Be)),o=new Map((r??[]).map(ze)),s=[...n].sort(Re),c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Y.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,Ne),children:[(0,Y.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Netz`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Platte`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`})]}),t[3]=c):c=t[3],i=(0,Y.jsxs)(`div`,{role:`table`,"aria-label":`Zustand der Geräte`,className:`flex flex-col`,children:[c,s.map(t=>{let n=e.get(t.id),r=n?.platte??(m(t)===null?null:m(t)*100),i=n?.ram_used&&n.ram_total?`${Pe(n.ram_used)} / ${Pe(n.ram_total)} GB`:void 0;return(0,Y.jsxs)(`div`,{id:`geraet-${t.id}`,role:`row`,className:a(`grid scroll-mt-24 grid-cols-2 gap-x-4 gap-y-2 border-t border-white/[0.06] py-3 md:items-center`,Ne),children:[(0,Y.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-3 md:col-span-1`,children:[(0,Y.jsx)(S,{bild:R(t),groesse:`sm`,punkt:t.erreichbar===!1?`rot`:t.erreichbar?`ok`:null}),(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Y.jsx)(C,{to:`/homelab/monitoring`,hash:t.id,className:`text-[15px] font-semibold break-words hover:text-lab-text`,children:t.name}),E(t)!==t.name&&(0,Y.jsx)(`span`,{className:`text-[13px] text-text-3`,children:E(t)})]})]}),(0,Y.jsxs)(`span`,{role:`cell`,className:a(`flex items-center gap-1.5 text-[13px]`,t.erreichbar===!1?`text-rot-text`:`text-text-3`),children:[t.erreichbar!==null&&(0,Y.jsx)(`span`,{"aria-hidden":!0,className:a(`size-1.5 rounded-full`,t.erreichbar?`bg-gruen`:`bg-rot`)}),t.erreichbar===null?`–`:t.erreichbar?`erreichbar`:`antwortet nicht`]}),(0,Y.jsxs)(`span`,{role:`cell`,children:[(0,Y.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`CPU `}),(0,Y.jsx)(Fe,{wert:n?.cpu,gelb:85,rot:95})]}),(0,Y.jsxs)(`span`,{role:`cell`,children:[(0,Y.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Speicher `}),(0,Y.jsx)(Fe,{wert:n?.ram,gelb:85,rot:95,zusatz:i})]}),(0,Y.jsxs)(`span`,{role:`cell`,children:[(0,Y.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Platte `}),(0,Y.jsx)(Fe,{wert:r,gelb:80,rot:90,unter:se(o.get(t.id))})]}),(0,Y.jsxs)(`span`,{role:`cell`,className:`ziffern text-sm text-text-2`,children:[(0,Y.jsx)(`span`,{className:`font-sans text-xs text-text-3 md:hidden`,children:`Läuft seit `}),O(n?.uptime_s)]})]},t.id)})]}),t[0]=r,t[1]=n,t[2]=i}else i=t[2];return i}function Re(e,t){return Ie(e)-Ie(t)}function ze(e){return[e.id,e.prognose?.platte]}function Be(e){return[e.id,e.aktuell]}function Ve(e){let t=(0,J.c)(15),{lage:n,ziele:r,imUpdate:i,onAnsehen:a,onGeraet:o}=e,s=n.art,c=n.oben,l=n.mitte,u=n.unten,f=n.ziel!==null,p;if(t[0]!==i||t[1]!==o||t[2]!==r){let e;t[4]!==i||t[5]!==o?(e=e=>{let t=h(e,i.has(e.id)),n=pe(e.kennzahl);return(0,Y.jsx)(ge,{bild:R(e),name:d(e),wert:t.wert,zustand:t.zustand,zahl:n?{text:n,stufe:e.kennzahl?.stufe}:null,onClick:()=>o(e,t.zustand===`info`)},e.id)},t[4]=i,t[5]=o,t[6]=e):e=t[6],p=r.map(e),t[0]=i,t[1]=o,t[2]=r,t[3]=p}else p=t[3];let m;return t[7]!==n.art||t[8]!==n.mitte||t[9]!==n.oben||t[10]!==n.unten||t[11]!==a||t[12]!==f||t[13]!==p?(m=(0,Y.jsx)(he,{art:s,oben:c,mitte:l,unten:u,aktiv:f,onAnsehen:a,label:`Lage im Homelab`,children:p}),t[7]=n.art,t[8]=n.mitte,t[9]=n.oben,t[10]=n.unten,t[11]=a,t[12]=f,t[13]=p,t[14]=m):m=t[14],m}var X=t(e(),1),He={skript:`Updates über das Community-Script`,"eigene-oberflaeche":`Updates über die eigene Oberfläche der App`,pakete:`Updates über die Pakete im Gast`};function Ue(e){let t=(0,J.c)(60),{g:n,gesperrt:r,onWahl:i}=e,a=n.app?.kennung??n.hostname??n.name,o;t[0]!==n.art||t[1]!==a?(o=R({art:n.art,name:a}),t[0]=n.art,t[1]=a,t[2]=o):o=t[2];let s=o,c=n.app?`${n.app.name}${n.app.quelle?` (GitHub ${n.app.quelle})`:``}`:`App unbekannt`,l=n.app?He[n.app.weg]??n.app.weg:null,d=n.app?.adresse?`Weboberfläche ${n.app.adresse} wird geprüft`:n.app?`Weboberfläche nicht gefunden, keine Webprüfung`:null,f;t[3]!==c||t[4]!==l||t[5]!==d?(f=[c,l,d].filter(Boolean),t[3]=c,t[4]=l,t[5]=d,t[6]=f):f=t[6];let p=f,m=n.status===`running`?`ok`:`aus`,h;t[7]!==s||t[8]!==m?(h=(0,Y.jsx)(S,{bild:s,groesse:`md`,punkt:m}),t[7]=s,t[8]=m,t[9]=h):h=t[9];let g;t[10]===n.name?g=t[11]:(g=(0,Y.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[10]=n.name,t[11]=g);let _=n.art===`container`?`Container`:`VM`,v=n.hostname&&n.hostname!==n.name?` · „${n.hostname}“`:``,y;t[12]===n.erstmals?y=t[13]:(y=n.erstmals?` · entdeckt ${u(new Date(n.erstmals*1e3).toISOString()).toLowerCase()}`:``,t[12]=n.erstmals,t[13]=y);let b;t[14]!==n.vmid||t[15]!==_||t[16]!==v||t[17]!==y?(b=(0,Y.jsxs)(`span`,{className:`text-[13px] text-text-3`,children:[_,` `,n.vmid,v,y]}),t[14]=n.vmid,t[15]=_,t[16]=v,t[17]=y,t[18]=b):b=t[18];let x;t[19]!==b||t[20]!==g?(x=(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[g,b]}),t[19]=b,t[20]=g,t[21]=x):x=t[21];let C;t[22]!==x||t[23]!==h?(C=(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[h,x]}),t[22]=x,t[23]=h,t[24]=C):C=t[24];let w;t[25]===p?w=t[26]:(w=p.map(We),t[25]=p,t[26]=w);let T;t[27]!==n.community_script||t[28]!==n.freigegeben?(T=n.freigegeben&&(0,Y.jsxs)(`li`,{children:[`Schon freigegeben (Etikett `,n.community_script?`community-script`:`watcher`,`).`]}),t[27]=n.community_script,t[28]=n.freigegeben,t[29]=T):T=t[29];let E;t[30]===n.ohne_sicherung?E=t[31]:(E=n.ohne_sicherung&&(0,Y.jsx)(`li`,{className:`text-bernstein`,children:`In keinem Sicherungsauftrag — in Proxmox: Rechenzentrum → Backup → den Auftrag bearbeiten.`}),t[30]=n.ohne_sicherung,t[31]=E);let D;t[32]!==w||t[33]!==T||t[34]!==E?(D=(0,Y.jsxs)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0 text-sm text-text-2`,children:[w,T,E]}),t[32]=w,t[33]=T,t[34]=E,t[35]=D):D=t[35];let O;t[36]!==n.ausgeschlossen||t[37]!==n.freigegeben||t[38]!==r||t[39]!==i?(O=!n.freigegeben&&!n.ausgeschlossen&&(0,Y.jsx)(G,{size:`sm`,disabled:r,onClick:()=>i(`freigeben`),children:`Für Updates freigeben`}),t[36]=n.ausgeschlossen,t[37]=n.freigegeben,t[38]=r,t[39]=i,t[40]=O):O=t[40];let k=n.freigegeben?`default`:`outline`,A;t[41]===i?A=t[42]:(A=()=>i(`beobachten`),t[41]=i,t[42]=A);let j=n.freigegeben?`Übernehmen`:`Nur beobachten`,M;t[43]!==r||t[44]!==k||t[45]!==A||t[46]!==j?(M=(0,Y.jsx)(G,{variant:k,size:`sm`,disabled:r,onClick:A,children:j}),t[43]=r,t[44]=k,t[45]=A,t[46]=j,t[47]=M):M=t[47];let N;t[48]!==n.ausgeschlossen||t[49]!==r||t[50]!==i?(N=!n.ausgeschlossen&&(0,Y.jsx)(G,{variant:`ghost`,size:`sm`,disabled:r,onClick:()=>i(`ausschliessen`),children:`Nicht anfassen`}),t[48]=n.ausgeschlossen,t[49]=r,t[50]=i,t[51]=N):N=t[51];let P;t[52]!==O||t[53]!==M||t[54]!==N?(P=(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[O,M,N]}),t[52]=O,t[53]=M,t[54]=N,t[55]=P):P=t[55];let F;return t[56]!==C||t[57]!==D||t[58]!==P?(F=(0,Y.jsxs)(`li`,{className:`flaeche-innen flex flex-col gap-3 rounded-2xl p-4`,children:[C,D,P]}),t[56]=C,t[57]=D,t[58]=P,t[59]=F):F=t[59],F}function We(e){return(0,Y.jsx)(`li`,{children:e},e)}var Ge={freigeben:{titel:`Für Updates freigeben?`,text:`Der Orchestrator setzt in Proxmox das Etikett „watcher“. Danach darf er dort Snapshots anlegen und Updates einspielen — immer erst nach deinem Klick, mit Snapshot vorher und Rückweg bei Rot.`,knopf:`Freigeben`},beobachten:{titel:`Nur beobachten?`,text:``,knopf:`Übernehmen`},ausschliessen:{titel:`Nicht anfassen?`,text:`Der Orchestrator setzt in Proxmox das Etikett „watcher-aus“ und lässt das Gerät dann auch bei „Alle aktualisieren“ aus.`,knopf:`Nicht anfassen`}};function Ke(e){let t=(0,J.c)(29),{s:n,gesperrt:r,onWahl:i}=e,a;t[0]===n.name?a=t[1]:(a=R({art:`container`,name:n.name}),t[0]=n.name,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,Y.jsx)(S,{bild:a,groesse:`md`,punkt:`ok`}),t[2]=a,t[3]=o);let s;t[4]===n.name?s=t[5]:(s=(0,Y.jsxs)(`span`,{className:`text-[15px] font-semibold break-words`,children:[`Docker-Stack `,n.name]}),t[4]=n.name,t[5]=s);let c;t[6]===n.erstmals?c=t[7]:(c=n.erstmals?` · entdeckt ${u(new Date(n.erstmals*1e3).toISOString()).toLowerCase()}`:``,t[6]=n.erstmals,t[7]=c);let l;t[8]===c?l=t[9]:(l=(0,Y.jsxs)(`span`,{className:`text-[13px] text-text-3`,children:[`unter Arcane`,c]}),t[8]=c,t[9]=l);let d;t[10]!==s||t[11]!==l?(d=(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[s,l]}),t[10]=s,t[11]=l,t[12]=d):d=t[12];let f;t[13]!==o||t[14]!==d?(f=(0,Y.jsxs)(`div`,{className:`flex items-start gap-3`,children:[o,d]}),t[13]=o,t[14]=d,t[15]=f):f=t[15];let p;t[16]===n.container?p=t[17]:(p=n.container.join(`, `)||`–`,t[16]=n.container,t[17]=p);let m;t[18]===p?m=t[19]:(m=(0,Y.jsxs)(`p`,{className:`m-0 text-sm break-words text-text-2`,children:[`Container: `,p]}),t[18]=p,t[19]=m);let h;t[20]===i?h=t[21]:(h=()=>i(`beobachten`),t[20]=i,t[21]=h);let g;t[22]!==r||t[23]!==h?(g=(0,Y.jsx)(G,{size:`sm`,className:`self-start`,disabled:r,onClick:h,children:`Übernehmen`}),t[22]=r,t[23]=h,t[24]=g):g=t[24];let _;return t[25]!==g||t[26]!==f||t[27]!==m?(_=(0,Y.jsxs)(`li`,{className:`flaeche-innen flex flex-col gap-3 rounded-2xl p-4`,children:[f,m,g]}),t[25]=g,t[26]=f,t[27]=m,t[28]=_):_=t[28],_}function qe(e){let t=(0,J.c)(38),{geraete:n,stacks:r,gesperrt:i,onWahl:o}=e,s;t[0]===r?s=t[1]:(s=r===void 0?[]:r,t[0]=r,t[1]=s);let c=s,[l,u]=(0,X.useState)(null),d=n.length+c.length;if(d===0)return null;let f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=a(`-mt-2 text-[15px] text-text-2`),t[2]=f):f=t[2];let p=d===1?`Eins kennt`:`${d} kennt`,m=d===1?` es`:` sie`,h;t[3]!==p||t[4]!==m?(h=(0,Y.jsxs)(`p`,{className:f,children:[p,` der Orchestrator noch nicht. Entscheide, ob er`,m,` nur beobachtet oder auch aktualisieren darf.`]}),t[3]=p,t[4]=m,t[5]=h):h=t[5];let g;if(t[6]!==n||t[7]!==i||t[8]!==o){let e;t[10]!==i||t[11]!==o?(e=e=>(0,Y.jsx)(Ue,{g:e,gesperrt:i,onWahl:t=>t===`beobachten`?o(e.id,t):u({g:e,wahl:t})},e.id),t[10]=i,t[11]=o,t[12]=e):e=t[12],g=n.map(e),t[6]=n,t[7]=i,t[8]=o,t[9]=g}else g=t[9];let _;if(t[13]!==i||t[14]!==o||t[15]!==c){let e;t[17]!==i||t[18]!==o?(e=e=>(0,Y.jsx)(Ke,{s:e,gesperrt:i,onWahl:t=>o(e.id,t)},e.id),t[17]=i,t[18]=o,t[19]=e):e=t[19],_=c.map(e),t[13]=i,t[14]=o,t[15]=c,t[16]=_}else _=t[16];let v;t[20]!==g||t[21]!==_?(v=(0,Y.jsxs)(`ul`,{className:`m-0 grid list-none gap-3 p-0 md:grid-cols-2`,children:[g,_]}),t[20]=g,t[21]=_,t[22]=v):v=t[22];let y=!!l,b=l?`${l.g.name}: ${Ge[l.wahl].titel}`:``,x=l?Ge[l.wahl].text:``,S=l?Ge[l.wahl].knopf:``,C;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>u(null),t[23]=C):C=t[23];let w;t[24]!==l||t[25]!==o?(w=()=>{l&&o(l.g.id,l.wahl),u(null)},t[24]=l,t[25]=o,t[26]=w):w=t[26];let T;t[27]!==i||t[28]!==y||t[29]!==b||t[30]!==x||t[31]!==S||t[32]!==w?(T=(0,Y.jsx)(K,{offen:y,titel:b,text:x,knopf:S,gesperrt:i,onNein:C,onJa:w}),t[27]=i,t[28]=y,t[29]=b,t[30]=x,t[31]=S,t[32]=w,t[33]=T):T=t[33];let E;return t[34]!==T||t[35]!==h||t[36]!==v?(E=(0,Y.jsxs)(q,{titel:`Neu entdeckt`,id:`neu`,children:[h,v,T]}),t[34]=T,t[35]=h,t[36]=v,t[37]=E):E=t[37],E}var Je=`md:grid-cols-[minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,1.1fr)_minmax(0,1.1fr)]`,Ye=e=>u(new Date(e*1e3).toISOString()).toLowerCase();function Xe(e){let t=(0,J.c)(8),{titel:n,children:r,className:i}=e,o;t[0]===i?o=t[1]:(o=a(`text-sm text-text-2`,i),t[0]=i,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,Y.jsxs)(`span`,{className:`text-xs text-text-3 md:hidden`,children:[n,` `]}),t[2]=n,t[3]=s);let c;return t[4]!==r||t[5]!==o||t[6]!==s?(c=(0,Y.jsxs)(`span`,{role:`cell`,className:o,children:[s,r]}),t[4]=r,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function Ze(e){let t=(0,J.c)(39),{g:n}=e,r=n.geprueft?.zustand===`failed`,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=a(`grid grid-cols-2 gap-x-4 gap-y-1.5 border-t border-white/[0.06] py-3 md:items-start`,Je),t[0]=i):i=t[0];let o;t[1]===n.name?o=t[2]:(o=(0,Y.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[1]=n.name,t[2]=o);let s;t[3]===n.auftrag?s=t[4]:(s=!n.auftrag&&(0,Y.jsx)(`span`,{className:`text-[13px] text-bernstein`,children:`in keinem Sicherungsauftrag`}),t[3]=n.auftrag,t[4]=s);let c;t[5]!==o||t[6]!==s?(c=(0,Y.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 flex-col md:col-span-1`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7];let l=n.auftrag&&!n.frisch&&`text-bernstein`,u;t[8]===l?u=t[9]:(u=a(l),t[8]=l,t[9]=u);let d;t[10]===n.zuletzt?d=t[11]:(d=n.zuletzt?(0,Y.jsx)(`span`,{className:`ziffern`,children:L(n.zuletzt)}):`noch nie`,t[10]=n.zuletzt,t[11]=d);let f;t[12]!==u||t[13]!==d?(f=(0,Y.jsx)(Xe,{titel:`Gesichert`,className:u,children:d}),t[12]=u,t[13]=d,t[14]=f):f=t[14];let p=r&&`text-rot-text`,m;t[15]===p?m=t[16]:(m=a(p),t[15]=p,t[16]=m);let h;t[17]!==r||t[18]!==n.geprueft?(h=n.geprueft?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`ziffern`,children:Ye(n.geprueft.zeit)}),r?` · beschädigt`:` · in Ordnung`]}):(0,Y.jsx)(`span`,{className:`text-text-3`,children:`noch nicht`}),t[17]=r,t[18]=n.geprueft,t[19]=h):h=t[19];let g;t[20]!==r||t[21]!==n.defekt.length?(g=n.defekt.length>0&&!r&&(0,Y.jsx)(`span`,{className:`block text-xs text-bernstein`,children:n.defekt.length===1?`eine ältere Sicherung beschädigt`:`${n.defekt.length} ältere Sicherungen beschädigt`}),t[20]=r,t[21]=n.defekt.length,t[22]=g):g=t[22];let _;t[23]!==m||t[24]!==h||t[25]!==g?(_=(0,Y.jsxs)(Xe,{titel:`Vom PBS geprüft`,className:m,children:[h,g]}),t[23]=m,t[24]=h,t[25]=g,t[26]=_):_=t[26];let v=n.probe&&!n.probe.ok&&`text-rot-text`,y;t[27]===v?y=t[28]:(y=a(v),t[27]=v,t[28]=y);let b;t[29]===n.probe?b=t[30]:(b=n.probe?(0,Y.jsxs)(Y.Fragment,{children:[n.probe.ok?`gelungen`:`gescheitert`,` `,(0,Y.jsx)(`span`,{className:`ziffern`,children:L(n.probe.zeit)}),n.probe.fehler&&(0,Y.jsx)(`span`,{className:`block text-xs break-words`,children:n.probe.fehler})]}):(0,Y.jsx)(`span`,{className:`text-text-3`,children:`noch keine`}),t[29]=n.probe,t[30]=b);let x;t[31]!==y||t[32]!==b?(x=(0,Y.jsx)(Xe,{titel:`Probe`,className:y,children:b}),t[31]=y,t[32]=b,t[33]=x):x=t[33];let S;return t[34]!==_||t[35]!==x||t[36]!==c||t[37]!==f?(S=(0,Y.jsxs)(`div`,{role:`row`,className:i,children:[c,f,_,x]}),t[34]=_,t[35]=x,t[36]=c,t[37]=f,t[38]=S):S=t[38],S}function Qe(e,t){let n=t.filter(e=>!e.auftrag).length,r=[n?`${n} ohne Auftrag`:`alle ${t.length} in einem Auftrag`],i=t.filter(e=>e.probe&&!e.probe.ok).length;return i?r.push(`Probe bei ${i} gescheitert`):e.probe?.zeit&&r.push(`Probe ${L(e.probe.zeit)}`),r.join(` · `)}function $e(e){let t=(0,J.c)(27),{s:n,onProbe:r,probeGesperrt:i}=e,s=i!==void 0&&i,c;t[0]===n.geraete?c=t[1]:(c=n.geraete??[],t[0]=n.geraete,t[1]=c);let l=c;if(l.length===0)return null;let u;t[2]===l?u=t[3]:(u=l.some(tt),t[2]=l,t[3]=u);let d=u,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Y.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Y.jsx)(o,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Sicherungen je Gerät`]}),t[4]=f):f=t[4];let p=d?`text-bernstein`:`text-text-2`,m;t[5]===p?m=t[6]:(m=a(`text-right text-sm`,p),t[5]=p,t[6]=m);let h;t[7]!==l||t[8]!==n?(h=Qe(n,l),t[7]=l,t[8]=n,t[9]=h):h=t[9];let g;t[10]!==m||t[11]!==h?(g=(0,Y.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[f,(0,Y.jsx)(`span`,{className:m,children:h})]}),t[10]=m,t[11]=h,t[12]=g):g=t[12];let _;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,Y.jsx)(`p`,{className:`m-0 pb-1 text-sm text-text-2`,children:`Der PBS prüft die Sicherungen selbst (Prüfauftrag im PBS). Die Probe öffnet einmal die Woche die jüngste Sicherung jedes Geräts, nur lesend: Die Konfiguration muss sich daraus lesen lassen, bei Containern auch der Dateibaum.`}),t[13]=_):_=t[13];let v;t[14]!==r||t[15]!==s?(v=r&&(0,Y.jsx)(G,{variant:`outline`,size:`sm`,className:`my-2`,disabled:s,onClick:r,children:`Jetzt prüfen`}),t[14]=r,t[15]=s,t[16]=v):v=t[16];let y;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Y.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pt-1 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,Je),children:[(0,Y.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Gesichert`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Vom PBS geprüft`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Probe`})]}),t[17]=y):y=t[17];let b;t[18]===l?b=t[19]:(b=l.map(et),t[18]=l,t[19]=b);let x;t[20]===b?x=t[21]:(x=(0,Y.jsxs)(`div`,{role:`table`,"aria-label":`Sicherungen je Gerät`,className:`flex flex-col`,children:[y,b]}),t[20]=b,t[21]=x);let S;return t[22]!==d||t[23]!==v||t[24]!==x||t[25]!==g?(S=(0,Y.jsxs)(`details`,{open:d,className:`flaeche-innen group rounded-2xl px-4 open:pb-3`,children:[g,_,v,x]}),t[22]=d,t[23]=v,t[24]=x,t[25]=g,t[26]=S):S=t[26],S}function et(e){return(0,Y.jsx)(Ze,{g:e},e.ziel)}function tt(e){return!e.auftrag||e.defekt.length>0||e.probe&&!e.probe.ok}var Z={ok:`gruen`,gelb:`bernstein`,rot:`rot`,keine:`grau`},nt={ok:`color-mix(in srgb, var(--lab) 80%, transparent)`,gelb:`var(--bernstein)`,rot:`var(--rot)`},rt=e=>u(new Date(e*1e3).toISOString());function it(e){let t=(0,J.c)(11),{anteil:n,stufe:r,name:i}=e,a;t[0]===n?a=t[1]:(a=Math.round(n*100),t[0]=n,t[1]=a);let o=a,s=`${i}: ${o} % belegt`,c=`${Math.min(100,Math.max(2,o))}%`,l=nt[r],u;t[2]!==c||t[3]!==l?(u=(0,Y.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:c,background:l}}),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[80%] w-px bg-bernstein/70`}),f=(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[90%] w-px bg-rot/80`}),t[5]=d,t[6]=f):(d=t[5],f=t[6]);let p;return t[7]!==o||t[8]!==s||t[9]!==u?(p=(0,Y.jsxs)(`div`,{role:`meter`,"aria-label":s,"aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,className:`relative h-2 w-full overflow-hidden rounded-full bg-white/[0.07]`,children:[u,d,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=p):p=t[10],p}function at(e){let t=(0,J.c)(11),{v:n}=e;if(n?.grund===`gleich`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsx)(`p`,{className:`text-xs text-text-3`,children:`Belegung gleichbleibend`}),t[0]=e):e=t[0],e}let r;t[1]===n?r=t[2]:(r=I(n),t[1]=n,t[2]=r);let i=r;if(!i)return null;let o=F[le(n)],s;t[3]===o?s=t[4]:(s=a(`ziffern text-xs`,o),t[3]=o,t[4]=s);let c;t[5]===n?c=t[6]:(c=de(n),t[5]=n,t[6]=c);let l;return t[7]!==s||t[8]!==c||t[9]!==i?(l=(0,Y.jsxs)(`p`,{className:s,children:[c,` · `,i]}),t[7]=s,t[8]=c,t[9]=i,t[10]=l):l=t[10],l}function Q(e){let t=(0,J.c)(16),{titel:n,unter:r,chip:i,chipText:a,children:o}=e,s;t[0]===n?s=t[1]:(s=(0,Y.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n}),t[0]=n,t[1]=s);let c;t[2]===r?c=t[3]:(c=r&&(0,Y.jsx)(`span`,{className:`text-sm break-words text-text-3`,children:r}),t[2]=r,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,Y.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==a?(u=(0,Y.jsx)(b,{art:i,children:a}),t[7]=i,t[8]=a,t[9]=u):u=t[9];let d;t[10]!==l||t[11]!==u?(d=(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==o||t[14]!==d?(f=(0,Y.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 flex-col gap-3 rounded-2xl p-4`,children:[d,o]}),t[13]=o,t[14]=d,t[15]=f):f=t[15],f}function ot(e){let t=(0,J.c)(34),{p:n}=e,r;t[0]===n.anteil?r=t[1]:(r=Math.round(n.anteil*100),t[0]=n.anteil,t[1]=r);let i=r,o=`Speicherpool ${n.speicher}`,s=Z[n.stufe],c=ae[n.stufe],l=Math.max(n.anteil,n.meta_anteil??0),u=`Speicherpool ${n.speicher}`,d;t[2]!==n.stufe||t[3]!==l||t[4]!==u?(d=(0,Y.jsx)(it,{anteil:l,stufe:n.stufe,name:u}),t[2]=n.stufe,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f;t[6]===n.belegt?f=t[7]:(f=W(n.belegt),t[6]=n.belegt,t[7]=f);let p;t[8]===n.gesamt?p=t[9]:(p=W(n.gesamt),t[8]=n.gesamt,t[9]=p);let m=n.stufe!==`ok`&&`text-foreground`,h;t[10]===m?h=t[11]:(h=a(m),t[10]=m,t[11]=h);let g;t[12]===n.frei?g=t[13]:(g=W(n.frei),t[12]=n.frei,t[13]=g);let _;t[14]!==h||t[15]!==g?(_=(0,Y.jsxs)(`span`,{className:h,children:[g,` frei`]}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==i||t[18]!==_||t[19]!==f||t[20]!==p?(v=(0,Y.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[i,` % · `,f,` von `,p,` · `,_]}),t[17]=i,t[18]=_,t[19]=f,t[20]=p,t[21]=v):v=t[21];let y;t[22]===n.meta_anteil?y=t[23]:(y=n.meta_anteil!==null&&(0,Y.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Metadaten `,Math.round(n.meta_anteil*100),` % belegt`]}),t[22]=n.meta_anteil,t[23]=y);let b;t[24]===n.vorhersage?b=t[25]:(b=(0,Y.jsx)(at,{v:n.vorhersage}),t[24]=n.vorhersage,t[25]=b);let x;return t[26]!==v||t[27]!==y||t[28]!==b||t[29]!==o||t[30]!==s||t[31]!==c||t[32]!==d?(x=(0,Y.jsxs)(Q,{titel:o,unter:`Platten der Container und VMs`,chip:s,chipText:c,children:[d,v,y,b]}),t[26]=v,t[27]=y,t[28]=b,t[29]=o,t[30]=s,t[31]=c,t[32]=d,t[33]=x):x=t[33],x}function st(e){let t=(0,J.c)(24),{s:n}=e,r=Z[n.stufe],i=ae[n.stufe],a;t[0]!==n.anteil||t[1]!==n.stufe?(a=(0,Y.jsx)(it,{anteil:n.anteil,stufe:n.stufe,name:`Systemplatte des Proxmox-Hosts`}),t[0]=n.anteil,t[1]=n.stufe,t[2]=a):a=t[2];let o;t[3]===n.anteil?o=t[4]:(o=Math.round(n.anteil*100),t[3]=n.anteil,t[4]=o);let s;t[5]===n.belegt?s=t[6]:(s=W(n.belegt),t[5]=n.belegt,t[6]=s);let c;t[7]===n.gesamt?c=t[8]:(c=W(n.gesamt),t[7]=n.gesamt,t[8]=c);let l;t[9]===n.frei?l=t[10]:(l=W(n.frei),t[9]=n.frei,t[10]=l);let u;t[11]!==o||t[12]!==s||t[13]!==c||t[14]!==l?(u=(0,Y.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[o,` % · `,s,` von `,c,` · `,l,` frei`]}),t[11]=o,t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15];let d;t[16]===n.vorhersage?d=t[17]:(d=(0,Y.jsx)(at,{v:n.vorhersage}),t[16]=n.vorhersage,t[17]=d);let f;return t[18]!==r||t[19]!==i||t[20]!==a||t[21]!==u||t[22]!==d?(f=(0,Y.jsxs)(Q,{titel:`Systemplatte`,unter:`Proxmox-Host: Kernel, Sicherungen vor Updates`,chip:r,chipText:i,children:[a,u,d]}),t[18]=r,t[19]=i,t[20]=a,t[21]=u,t[22]=d,t[23]=f):f=t[23],f}function ct(e){let t=(0,J.c)(22),{n}=e,r=n.problem?n.stufe===`rot`?`gestört`:`unklar`:ae[n.stufe],i=`NAS ${n.server??``}`,o;t[0]===i?o=t[1]:(o=i.trim(),t[0]=i,t[1]=o);let s;t[2]===n.art?s=t[3]:(s=n.art.toUpperCase(),t[2]=n.art,t[3]=s);let c=`${s} · ${n.quelle??`?`} → ${n.ziel}`,l=Z[n.stufe],u;t[4]!==n.anteil||t[5]!==n.belegt||t[6]!==n.gesamt||t[7]!==n.problem||t[8]!==n.server||t[9]!==n.stufe||t[10]!==n.vorhersage?(u=n.problem?(0,Y.jsx)(`p`,{className:a(`text-sm`,n.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:n.problem}):n.anteil!==null&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(it,{anteil:n.anteil,stufe:n.stufe,name:`NAS ${n.server??``}`}),(0,Y.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[Math.round(n.anteil*100),` % · `,W(n.belegt),` von `,W(n.gesamt),` · `,W((n.gesamt??0)-(n.belegt??0)),` frei`]}),(0,Y.jsx)(at,{v:n.vorhersage})]}),t[4]=n.anteil,t[5]=n.belegt,t[6]=n.gesamt,t[7]=n.problem,t[8]=n.server,t[9]=n.stufe,t[10]=n.vorhersage,t[11]=u):u=t[11];let d=n.erreichbar===!1?`antwortet nicht`:`antwortet`,f=n.eingebunden?`auf dem Proxmox-Host eingebunden`:`nicht eingebunden`,p;t[12]!==d||t[13]!==f?(p=(0,Y.jsxs)(`p`,{className:`text-xs text-text-3`,children:[d,` · `,f]}),t[12]=d,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==r||t[16]!==o||t[17]!==c||t[18]!==l||t[19]!==u||t[20]!==p?(m=(0,Y.jsxs)(Q,{titel:o,unter:c,chip:l,chipText:r,children:[u,p]}),t[15]=r,t[16]=o,t[17]=c,t[18]=l,t[19]=u,t[20]=p,t[21]=m):m=t[21],m}function lt(e){let t=(0,J.c)(25),{s:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={ok:`aktuell`,gelb:`Lücke`,rot:`gestört`,keine:`kein Auftrag`},t[0]=r):r=t[0];let i=r[n.stufe],a;t[1]===n?a=t[2]:(a=V(n),t[1]=n,t[2]=a);let o=Z[n.stufe],s;t[3]===n.probleme?s=t[4]:(s=n.probleme.map(mt),t[3]=n.probleme,t[4]=s);let c;t[5]!==n.erfasst||t[6]!==n.stufe||t[7]!==n.stufe_frische||t[8]!==n.zuletzt?(c=(n.stufe_frische??n.stufe)===`ok`&&(0,Y.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Alle `,n.erfasst,` Geräte gesichert`,n.zuletzt?(0,Y.jsxs)(Y.Fragment,{children:[`, zuletzt `,(0,Y.jsx)(`span`,{className:`ziffern`,children:rt(n.zuletzt)})]}):null,`.`]}),t[5]=n.erfasst,t[6]=n.stufe,t[7]=n.stufe_frische,t[8]=n.zuletzt,t[9]=c):c=t[9];let l;t[10]===n.ohne_auftrag?l=t[11]:(l=(n.ohne_auftrag?.length??0)>0&&(0,Y.jsxs)(`p`,{className:`text-sm text-bernstein`,children:[`In keinem Sicherungsauftrag: `,n.ohne_auftrag.map(pt).join(`, `)]}),t[10]=n.ohne_auftrag,t[11]=l);let u;t[12]===n.fehlend?u=t[13]:(u=n.fehlend.length>0&&(0,Y.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm`,children:n.fehlend.map(ft)}),t[12]=n.fehlend,t[13]=u);let d;t[14]===n.ziele?d=t[15]:(d=n.ziele.filter(dt).map(ut),t[14]=n.ziele,t[15]=d);let f;return t[16]!==i||t[17]!==a||t[18]!==o||t[19]!==s||t[20]!==c||t[21]!==l||t[22]!==u||t[23]!==d?(f=(0,Y.jsxs)(Q,{titel:`Sicherungen`,unter:a,chip:o,chipText:i,children:[s,c,l,u,d]}),t[16]=i,t[17]=a,t[18]=o,t[19]=s,t[20]=c,t[21]=l,t[22]=u,t[23]=d,t[24]=f):f=t[24],f}function ut(e){let t=I(e.vorhersage);return(0,Y.jsxs)(`p`,{className:a(`ziffern text-xs`,t?F[le(e.vorhersage)]:`text-text-3`),children:[`Ziel `,e.speicher,`: `,Math.round((e.belegt??0)/(e.gesamt??1)*100),` % belegt`,t?` · ${t}`:e.vorhersage?.grund===`gleich`?` · gleichbleibend`:``,e.vorhersage?.quelle===`pbs`&&(t||e.vorhersage.grund===`gleich`)?` (Schätzung des PBS)`:``]},e.speicher)}function dt(e){return e.gesamt}function ft(e){return(0,Y.jsxs)(`li`,{className:`text-bernstein`,children:[e.name,`: `,e.zuletzt?(0,Y.jsxs)(Y.Fragment,{children:[`zuletzt `,(0,Y.jsx)(`span`,{className:`ziffern`,children:rt(e.zuletzt)})]}):`noch nie gesichert`]},e.ziel)}function pt(e){return e.name}function mt(e){return(0,Y.jsx)(`p`,{className:`text-sm text-rot-text`,children:e},e)}function ht(e){let t=(0,J.c)(53),{daten:n,laeuft:r,gesperrt:i,onAktion:a,snapshotsLink:s,onProbe:c,probeGesperrt:l}=e,u=r===void 0?null:r,d=i!==void 0&&i,[f,p]=(0,X.useState)(null),m;t[0]!==n.pools||t[1]!==n.systemplatte?.stufe?(m=n.pools.some(yt)||(n.systemplatte?.stufe??`ok`)!==`ok`,t[0]=n.pools,t[1]=n.systemplatte?.stufe,t[2]=m):m=t[2];let h=m,g,_,v,y;if(t[3]!==n.empfehlungen||t[4]!==n.nas||t[5]!==n.pools||t[6]!==n.sicherungen||t[7]!==n.systemplatte||t[8]!==d||t[9]!==h||t[10]!==u||t[11]!==a||t[12]!==c||t[13]!==l||t[14]!==s){let e=n.empfehlungen.reduce(vt,0);g=`flex flex-col gap-4`;let r;t[19]===n.pools?r=t[20]:(r=n.pools.map(_t),t[19]=n.pools,t[20]=r);let i;t[21]===n.systemplatte?i=t[22]:(i=n.systemplatte&&(0,Y.jsx)(st,{s:n.systemplatte}),t[21]=n.systemplatte,t[22]=i);let f;t[23]===n.nas?f=t[24]:(f=n.nas.length>0?n.nas.map(gt):(0,Y.jsx)(Q,{titel:`NAS`,chip:`grau`,chipText:`keins`,children:(0,Y.jsx)(`p`,{className:`text-sm text-text-3`,children:`Auf dem Proxmox-Host ist kein Netzlaufwerk eingebunden.`})}),t[23]=n.nas,t[24]=f);let m;t[25]===n.sicherungen?m=t[26]:(m=(0,Y.jsx)(lt,{s:n.sicherungen}),t[25]=n.sicherungen,t[26]=m),t[27]!==f||t[28]!==m||t[29]!==r||t[30]!==i?(_=(0,Y.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 2xl:grid-cols-4`,children:[r,i,f,m]}),t[27]=f,t[28]=m,t[29]=r,t[30]=i,t[31]=_):_=t[31],t[32]!==n.sicherungen||t[33]!==c||t[34]!==l?(v=(0,Y.jsx)($e,{s:n.sicherungen,onProbe:c,probeGesperrt:l}),t[32]=n.sicherungen,t[33]=c,t[34]=l,t[35]=v):v=t[35],y=n.empfehlungen.length>0&&(0,Y.jsxs)(`details`,{open:h,className:`flaeche-innen group rounded-2xl px-4 open:pb-3`,children:[(0,Y.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Y.jsx)(o,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Was Platz bringt`]}),(0,Y.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[n.empfehlungen.length,` `,n.empfehlungen.length===1?`Vorschlag`:`Vorschläge`,e>0&&` · bis zu ${W(e)}`]})]}),(0,Y.jsx)(`ol`,{className:`flex flex-col`,children:n.empfehlungen.map(e=>(0,Y.jsx)(St,{e,laeuft:u,gesperrt:d||!a,onFrage:p,verweis:e.art===`snapshot`?s:null},e.titel))})]}),t[3]=n.empfehlungen,t[4]=n.nas,t[5]=n.pools,t[6]=n.sicherungen,t[7]=n.systemplatte,t[8]=d,t[9]=h,t[10]=u,t[11]=a,t[12]=c,t[13]=l,t[14]=s,t[15]=g,t[16]=_,t[17]=v,t[18]=y}else g=t[15],_=t[16],v=t[17],y=t[18];let b=!!f,x=f?`Proxmox-Host: ${f.label}`:``,S=f?.frage??``,C=f?.label??``,w;t[36]!==f||t[37]!==a?(w=()=>{f&&a&&a(f),p(null)},t[36]=f,t[37]=a,t[38]=w):w=t[38];let T;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>p(null),t[39]=T):T=t[39];let E;t[40]!==d||t[41]!==S||t[42]!==C||t[43]!==w||t[44]!==b||t[45]!==x?(E=(0,Y.jsx)(K,{offen:b,titel:x,text:S,knopf:C,gesperrt:d,onJa:w,onNein:T}),t[40]=d,t[41]=S,t[42]=C,t[43]=w,t[44]=b,t[45]=x,t[46]=E):E=t[46];let D;return t[47]!==E||t[48]!==g||t[49]!==_||t[50]!==v||t[51]!==y?(D=(0,Y.jsxs)(`div`,{className:g,children:[_,v,y,E]}),t[47]=E,t[48]=g,t[49]=_,t[50]=v,t[51]=y,t[52]=D):D=t[52],D}function gt(e){return(0,Y.jsx)(ct,{n:e},e.ziel)}function _t(e){return(0,Y.jsx)(ot,{p:e},e.speicher)}function vt(e,t){return e+(t.platz??0)}function yt(e){return e.stufe!==`ok`}var bt={pool:`Speicherpool`,systemplatte:`Systemplatte des Hosts`};function xt({text:e}){return e.split(/`([^`]+)`/).map((e,t)=>t%2==1?(0,Y.jsx)(`code`,{className:`rounded-md bg-white/[0.07] px-1 font-mono text-[13px] text-foreground [font-variant-ligatures:none]`,children:e},t):e)}function St(e){let t=(0,J.c)(24),{e:n,laeuft:r,gesperrt:i,onFrage:a,verweis:o}=e,s;t[0]===n.titel?s=t[1]:(s=(0,Y.jsx)(`span`,{className:`text-[15px] font-medium break-words`,children:n.titel}),t[0]=n.titel,t[1]=s);let c;t[2]===n.platz?c=t[3]:(c=n.platz?`≈ ${W(n.platz)}`:`Größe unbekannt`,t[2]=n.platz,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,Y.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:c}),t[4]=c,t[5]=l);let u;t[6]!==s||t[7]!==l?(u=(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[s,l]}),t[6]=s,t[7]=l,t[8]=u):u=t[8];let d;t[9]===n.ort?d=t[10]:(d=n.ort&&(0,Y.jsx)(`span`,{className:`etikett text-[10.5px] tracking-[0.14em] text-text-3`,children:bt[n.ort]??n.ort}),t[9]=n.ort,t[10]=d);let f;t[11]===n.text?f=t[12]:(f=(0,Y.jsx)(`p`,{className:`text-sm break-words text-text-2`,children:(0,Y.jsx)(xt,{text:n.text})}),t[11]=n.text,t[12]=f);let p;t[13]!==n.aktion||t[14]!==i||t[15]!==r||t[16]!==a?(p=n.aktion&&(r?(0,Y.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan-text`,children:[`Läuft: `,r]}):(0,Y.jsx)(G,{variant:`outline`,size:`sm`,className:`mt-1 self-start`,disabled:i,onClick:()=>a(n.aktion),children:n.aktion.label})),t[13]=n.aktion,t[14]=i,t[15]=r,t[16]=a,t[17]=p):p=t[17];let m;return t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p||t[22]!==o?(m=(0,Y.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-white/[0.06] py-3 first:border-t-0 first:pt-1`,children:[u,d,f,o,p]}),t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=o,t[23]=m):m=t[23],m}var Ct={snapshot:`Snapshot`,sicherung:`Sicherung`,keiner:`kein Rückweg`};function wt(e){let t=(0,J.c)(24),{anzahl:n,gesperrt:r}=e,[i,a]=(0,X.useState)(!1),o=D(i),s=T(),c;t[0]===o.data?.schritte?c=t[1]:(c=o.data?.schritte??[],t[0]=o.data?.schritte,t[1]=c);let l=c,u=r||n===0||s.isPending,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>a(!0),t[2]=d):d=t[2];let f=n>0?` (${n})`:``,p;t[3]!==u||t[4]!==f?(p=(0,Y.jsxs)(G,{disabled:u,onClick:d,children:[`Alle aktualisieren`,f]}),t[3]=u,t[4]=f,t[5]=p):p=t[5];let m=l.length?`${l.length} Updates starten`:`Starten`,h=s.isPending||o.isPending||l.length===0,g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=()=>a(!1),t[6]=g):g=t[6];let _;t[7]!==i||t[8]!==s?(_=()=>{i&&(s.mutate(void 0),a(!1))},t[7]=i,t[8]=s,t[9]=_):_=t[9];let v;t[10]!==o.data||t[11]!==o.error||t[12]!==o.isPending||t[13]!==l?(v=o.isPending?(0,Y.jsx)(`p`,{className:`text-sm text-text-2`,children:`Die Reihenfolge wird gelesen …`}):o.error?(0,Y.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Der Plan lässt sich nicht lesen: `,o.error.message]}):(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 pb-1`,children:[(0,Y.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:l.map(Tt)}),o.data?.hinweis&&(0,Y.jsx)(`p`,{className:`text-xs text-bernstein`,children:o.data.hinweis})]}),t[10]=o.data,t[11]=o.error,t[12]=o.isPending,t[13]=l,t[14]=v):v=t[14];let y;t[15]!==i||t[16]!==v||t[17]!==m||t[18]!==h||t[19]!==_?(y=(0,Y.jsx)(K,{offen:i,titel:`Alle Homelab-Updates einspielen?`,text:`Die Updates laufen nacheinander, jedes mit Rückweg und Prüfung. Ist eine Prüfung rot, geht dieser Schritt von selbst zurück und der Rest bleibt stehen. AdGuard und NPMplus kommen zuletzt, der Proxmox-Host ganz am Ende; neu gestartet wird er nicht.`,knopf:m,gesperrt:h,onNein:g,onJa:_,children:v}),t[15]=i,t[16]=v,t[17]=m,t[18]=h,t[19]=_,t[20]=y):y=t[20];let b;return t[21]!==y||t[22]!==p?(b=(0,Y.jsxs)(Y.Fragment,{children:[p,y]}),t[21]=y,t[22]=p,t[23]=b):b=t[23],b}function Tt(e,t){return(0,Y.jsxs)(`li`,{className:`grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-baseline gap-2 text-sm`,children:[(0,Y.jsxs)(`span`,{className:`ziffern text-text-3`,children:[t+1,`.`]}),(0,Y.jsxs)(`span`,{className:`min-w-0`,children:[(0,Y.jsx)(`span`,{className:`font-medium text-foreground`,children:e.name}),` `,(0,Y.jsxs)(`span`,{className:`text-text-2`,children:[`· `,e.was]})]}),(0,Y.jsx)(`span`,{className:a(`text-xs`,e.rueckweg_art===`keiner`?`text-bernstein`:`text-text-3`),children:Ct[e.rueckweg_art]})]},`${e.ziel}-${e.baustein}`)}var Et={wartet:{Symbol:ve,farbe:`text-text-3`,text:`wartet`},laeuft:{Symbol:be,farbe:`text-cyan-text`,text:`läuft`},eingespielt:{Symbol:k,farbe:`text-gruen`,text:`eingespielt`},zurueckgerollt:{Symbol:c,farbe:`text-bernstein`,text:`zurückgerollt`},fehler:{Symbol:s,farbe:`text-rot`,text:`Fehler`},uebersprungen:{Symbol:Se,farbe:`text-text-3`,text:`übersprungen`}},Dt={laeuft:{art:`cyan`,text:`läuft`},fertig:{art:`gruen`,text:`fertig`},abgebrochen:{art:`bernstein`,text:`abgebrochen`}};function Ot(e){let t=(0,J.c)(33),{lauf:n,onQuittieren:r}=e,i;t[0]===n.schritte?i=t[1]:(i=n.schritte.filter(At),t[0]=n.schritte,t[1]=i);let a=i.length,o=Dt[n.status],s;t[2]!==a||t[3]!==n.schritte.length?(s=(0,Y.jsxs)(`span`,{className:`text-[15px] font-semibold text-cyan-text`,children:[`Alle aktualisieren · `,a,` von `,n.schritte.length]}),t[2]=a,t[3]=n.schritte.length,t[4]=s):s=t[4];let c;t[5]===n.start?c=t[6]:(c=u(new Date(n.start*1e3).toISOString()),t[5]=n.start,t[6]=c);let l;t[7]===c?l=t[8]:(l=(0,Y.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:c}),t[7]=c,t[8]=l);let d;t[9]!==o.art||t[10]!==o.text?(d=(0,Y.jsx)(b,{art:o.art,children:o.text}),t[9]=o.art,t[10]=o.text,t[11]=d):d=t[11];let f;t[12]!==l||t[13]!==d?(f=(0,Y.jsxs)(`span`,{className:`flex items-center gap-2`,children:[l,d]}),t[12]=l,t[13]=d,t[14]=f):f=t[14];let p;t[15]!==s||t[16]!==f?(p=(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,f]}),t[15]=s,t[16]=f,t[17]=p):p=t[17];let m=`${a/Math.max(1,n.schritte.length)*100}%`,h;t[18]===m?h=t[19]:(h=(0,Y.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,Y.jsx)(`div`,{className:`h-full rounded-full bg-cyan shadow-[0_0_10px_var(--cyan)] transition-all`,style:{width:m}})}),t[18]=m,t[19]=h);let g;t[20]===n.schritte?g=t[21]:(g=n.schritte.map(kt),t[20]=n.schritte,t[21]=g);let _;t[22]===g?_=t[23]:(_=(0,Y.jsx)(`ol`,{className:`m-0 grid list-none gap-x-6 gap-y-1.5 p-0 sm:grid-cols-2`,children:g}),t[22]=g,t[23]=_);let v;t[24]!==n.status||t[25]!==n.text||t[26]!==r?(v=(n.text||n.status!==`laeuft`&&r)&&(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n.text&&(0,Y.jsx)(`p`,{className:`text-sm text-text-2`,children:n.text}),n.status!==`laeuft`&&r&&(0,Y.jsx)(G,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:r,children:`Ausblenden`})]}),t[24]=n.status,t[25]=n.text,t[26]=r,t[27]=v):v=t[27];let y;return t[28]!==_||t[29]!==v||t[30]!==p||t[31]!==h?(y=(0,Y.jsxs)(`section`,{"aria-label":`Alle aktualisieren`,className:`flex flex-col gap-3 rounded-2xl bg-cyan/[0.06] p-4 ring-1 ring-cyan/30 ring-inset`,children:[p,h,_,v]}),t[28]=_,t[29]=v,t[30]=p,t[31]=h,t[32]=y):y=t[32],y}function kt(e){let t=Et[e.status];return(0,Y.jsxs)(`li`,{className:`flex items-start gap-2 text-sm`,children:[(0,Y.jsx)(t.Symbol,{className:a(`mt-0.5 size-4 shrink-0`,t.farbe,e.status===`laeuft`&&`motion-safe:animate-spin`),"aria-hidden":!0}),(0,Y.jsxs)(`span`,{className:`min-w-0`,children:[(0,Y.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,Y.jsxs)(`span`,{className:`text-text-3`,children:[`· `,e.was,` · `,t.text]}),e.text&&e.status!==`eingespielt`&&(0,Y.jsx)(`span`,{className:`block text-xs text-text-3`,children:e.text})]})]},`${e.ziel}-${e.baustein}`)}function At(e){return![`wartet`,`laeuft`].includes(e.status)}var jt=`md:grid-cols-[minmax(0,1.1fr)_minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,0.9fr)_11.5rem]`;function Mt(e){let t=(0,J.c)(26),{ziel:n,b:r}=e;if(!r){let e=n.art===`proxmox-host`?U(n)?.installiert:null,r;return t[0]===e?r=t[1]:(r=e?(0,Y.jsxs)(`span`,{className:`ziffern text-sm`,children:[`PVE `,e]}):(0,Y.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e,t[1]=r),r}let i;t[2]===r.installiert?i=t[3]:(i=r.installiert?N(r.installiert):`–`,t[2]=r.installiert,t[3]=i);let a=i,o=r.zustand===`aktuell`?`text-foreground`:`text-text-2`,s;t[4]!==a||t[5]!==o?(s=(0,Y.jsx)(`span`,{className:o,children:a}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;t[7]!==r.verfuegbar||t[8]!==r.zustand?(c=r.zustand===`neu`&&r.verfuegbar&&(0,Y.jsxs)(`span`,{className:`text-cyan-text`,children:[`→ `,r.verfuegbar]}),t[7]=r.verfuegbar,t[8]=r.zustand,t[9]=c):c=t[9];let l;t[10]===r.zustand?l=t[11]:(l=r.zustand===`aktuell`&&(0,Y.jsx)(`span`,{className:`font-sans text-xs text-gruen-text`,children:`aktuell`}),t[10]=r.zustand,t[11]=l);let u;t[12]===r.zustand?u=t[13]:(u=r.zustand===`unbekannt`&&(0,Y.jsx)(`span`,{className:`font-sans text-xs text-text-3`,children:`unklar`}),t[12]=r.zustand,t[13]=u);let d;t[14]!==s||t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,Y.jsxs)(`span`,{className:`ziffern flex flex-wrap items-baseline gap-x-2 text-sm`,children:[s,c,l,u]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]!==r.aktion||t[20]!==r.grund||t[21]!==r.zustand?(f=r.zustand===`neu`&&!r.aktion&&r.grund&&(0,Y.jsx)(`span`,{className:`text-xs text-text-3`,children:r.grund}),t[19]=r.aktion,t[20]=r.grund,t[21]=r.zustand,t[22]=f):f=t[22];let p;return t[23]!==d||t[24]!==f?(p=(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[d,f]}),t[23]=d,t[24]=f,t[25]=p):p=t[25],p}function Nt(e){let t=(0,J.c)(22),{b:n,onSuchen:r,gesperrt:i}=e;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let a=n.id===`docker`,o;if(n.zustand===`neu`){let e=n.kurz||`Update bereit`,r;t[1]===e?r=t[2]:(r=(0,Y.jsx)(`span`,{className:`text-cyan-text`,children:e}),t[1]=e,t[2]=r),o=r}else if(n.zustand===`aktuell`){let e=a?`Images aktuell`:`aktuell`,n;t[3]===e?n=t[4]:(n=(0,Y.jsx)(`span`,{className:`text-gruen-text`,children:e}),t[3]=e,t[4]=n),o=n}else{let e;t[5]===n.grund?e=t[6]:(e=A(n.grund),t[5]=n.grund,t[6]=e);let r=e,i=n.grund??void 0,s=a?`Images unklar`:`unklar`,c;t[7]===r?c=t[8]:(c=r&&(0,Y.jsxs)(`span`,{className:`text-text-3`,children:[` · Listen vom `,r]}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==s||t[11]!==c?(l=(0,Y.jsxs)(`span`,{className:`text-text-2`,title:i,children:[s,c]}),t[9]=i,t[10]=s,t[11]=c,t[12]=l):l=t[12],o=l}let s=n.zustand===`unbekannt`?n.aktion:null,c;t[13]===o?c=t[14]:(c=(0,Y.jsx)(`span`,{className:`min-w-0`,children:o}),t[13]=o,t[14]=c);let u;t[15]!==i||t[16]!==r||t[17]!==s?(u=s&&(0,Y.jsx)(G,{variant:`ghost`,size:`icon-sm`,className:`-my-2 shrink-0`,"aria-label":s.label,title:s.label,disabled:i,onClick:()=>r(s),children:(0,Y.jsx)(l,{})}),t[15]=i,t[16]=r,t[17]=s,t[18]=u):u=t[18];let d;return t[19]!==c||t[20]!==u?(d=(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-sm`,children:[c,u]}),t[19]=c,t[20]=u,t[21]=d):d=t[21],d}var Pt={app:`App updaten`,os:`Pakete einspielen`,pakete:`Pakete einspielen`};function Ft(e){let t=(0,J.c)(62),{ziel:n,laeuft:r,gesperrt:i,onFrage:o}=e,s;t[0]===n?s=t[1]:(s=y(n),t[0]=n,t[1]=s);let c=s,l;t[2]===n?l=t[3]:(l=U(n),t[2]=n,t[3]=l);let u=l,d,f,p,m,h,g,b,x,C;if(t[4]!==c||t[5]!==i||t[6]!==r||t[7]!==o||t[8]!==u||t[9]!==n){let e=n.bausteine.filter(It),s=_(n)>=2;g=`row`;let l=s&&`opacity-75`;t[19]===l?b=t[20]:(b=a(`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-white/[0.06] py-3.5 md:items-center`,jt,l),t[19]=l,t[20]=b);let y;t[21]===n?y=t[22]:(y=R(n),t[21]=n,t[22]=y);let w=e.length?`info`:null,T;t[23]!==y||t[24]!==w?(T=(0,Y.jsx)(S,{bild:y,groesse:`sm`,punkt:w}),t[23]=y,t[24]=w,t[25]=T):T=t[25];let D;t[26]===n.name?D=t[27]:(D=(0,Y.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[26]=n.name,t[27]=D);let O;t[28]===n?O=t[29]:(O=E(n)!==n.name&&(0,Y.jsx)(`span`,{className:`text-[13px] text-text-3`,children:E(n)}),t[28]=n,t[29]=O);let k;t[30]!==D||t[31]!==O?(k=(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[D,O]}),t[30]=D,t[31]=O,t[32]=k):k=t[32],t[33]!==T||t[34]!==k?(x=(0,Y.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 items-center gap-3`,children:[T,k]}),t[33]=T,t[34]=k,t[35]=x):x=t[35];let A;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Y.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`App `}),t[36]=A):A=t[36],t[37]!==c||t[38]!==n?(C=(0,Y.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[A,(0,Y.jsx)(Mt,{ziel:n,b:c})]}),t[37]=c,t[38]=n,t[39]=C):C=t[39];let j;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Y.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Pakete `}),t[40]=j):j=t[40];let M=i||!!r,N;t[41]!==o||t[42]!==n?(N=e=>o({ziel:n,aktion:e}),t[41]=o,t[42]=n,t[43]=N):N=t[43],t[44]!==u||t[45]!==M||t[46]!==N?(d=(0,Y.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[j,(0,Y.jsx)(Nt,{b:u,gesperrt:M,onSuchen:N})]}),t[44]=u,t[45]=M,t[46]=N,t[47]=d):d=t[47];let P=e.length?v(n):``;t[48]===P?f=t[49]:(f=(0,Y.jsx)(`span`,{role:`cell`,className:`text-sm text-text-3`,children:P}),t[48]=P,t[49]=f),p=`cell`,m=`flex flex-wrap gap-2 md:flex-col md:items-stretch`,h=r?(0,Y.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan-text`,children:[`Läuft: `,r]}):e.map(e=>(0,Y.jsx)(G,{variant:`outline`,size:`sm`,disabled:i,onClick:()=>e.aktion&&o({ziel:n,aktion:e.aktion}),children:Pt[e.id]??e.aktion?.label??`Updaten`},e.id)),t[4]=c,t[5]=i,t[6]=r,t[7]=o,t[8]=u,t[9]=n,t[10]=d,t[11]=f,t[12]=p,t[13]=m,t[14]=h,t[15]=g,t[16]=b,t[17]=x,t[18]=C}else d=t[10],f=t[11],p=t[12],m=t[13],h=t[14],g=t[15],b=t[16],x=t[17],C=t[18];let w;t[50]!==p||t[51]!==m||t[52]!==h?(w=(0,Y.jsx)(`span`,{role:p,className:m,children:h}),t[50]=p,t[51]=m,t[52]=h,t[53]=w):w=t[53];let T;return t[54]!==d||t[55]!==f||t[56]!==w||t[57]!==g||t[58]!==b||t[59]!==x||t[60]!==C?(T=(0,Y.jsxs)(`div`,{role:g,className:b,children:[x,C,d,f,w]}),t[54]=d,t[55]=f,t[56]=w,t[57]=g,t[58]=b,t[59]=x,t[60]=C,t[61]=T):T=t[61],T}function It(e){return e.zustand===`neu`&&e.aktion}function Lt(e){let t=(0,J.c)(42),{ziele:n,laufend:r,gesperrt:i,onAktion:o}=e,[s,c]=(0,X.useState)(null),l,u,d,f,p,m;if(t[0]!==i||t[1]!==r||t[2]!==n){let e=[...n].sort(zt),o;t[9]===n?o=t[10]:(o=n.filter(Rt),t[9]=n,t[10]=o),l=o.length,u=`table`,d=`Updates je Gerät`,f=`flex flex-col`,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Y.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,jt),children:[(0,Y.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`App`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Pakete`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Rückweg`}),(0,Y.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),t[11]=p):p=t[11];let s;t[12]!==i||t[13]!==r?(s=e=>(0,Y.jsx)(Ft,{ziel:e,laeuft:r.get(e.id)??null,gesperrt:i||r.has(e.id),onFrage:c},e.id),t[12]=i,t[13]=r,t[14]=s):s=t[14],m=e.map(s),t[0]=i,t[1]=r,t[2]=n,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p,t[8]=m}else l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8];let h;t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,Y.jsxs)(`div`,{role:u,"aria-label":d,className:f,children:[p,m]}),t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;t[21]!==l||t[22]!==n.length?(g=l>0&&l===n.length&&(0,Y.jsx)(b,{art:`gruen`,children:`Alles aktuell`}),t[21]=l,t[22]=n.length,t[23]=g):g=t[23];let _=!!s,v=s?`${s.ziel.name}: ${s.aktion.label}`:``,y=s?.aktion.frage??``,x=s?.aktion.label??``,S;t[24]===s?.aktion.pfad?S=t[25]:(S=s?.aktion.pfad.endsWith(`/neustart`),t[24]=s?.aktion.pfad,t[25]=S);let C=!!S,w;t[26]!==s||t[27]!==o?(w=()=>{s&&o(s.aktion),c(null)},t[26]=s,t[27]=o,t[28]=w):w=t[28];let T;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>c(null),t[29]=T):T=t[29];let E;t[30]!==i||t[31]!==y||t[32]!==x||t[33]!==C||t[34]!==w||t[35]!==_||t[36]!==v?(E=(0,Y.jsx)(K,{offen:_,titel:v,text:y,knopf:x,gefahr:C,gesperrt:i,onJa:w,onNein:T}),t[30]=i,t[31]=y,t[32]=x,t[33]=C,t[34]=w,t[35]=_,t[36]=v,t[37]=E):E=t[37];let D;return t[38]!==E||t[39]!==h||t[40]!==g?(D=(0,Y.jsxs)(Y.Fragment,{children:[h,g,E]}),t[38]=E,t[39]=h,t[40]=g,t[41]=D):D=t[41],D}function Rt(e){return _(e)===3}function zt(e,t){return _(e)-_(t)}var Bt=`md:grid-cols-[minmax(0,1.6fr)_minmax(0,1fr)_minmax(0,1.4fr)]`,Vt={ok:`bg-gruen`,gelb:`bg-bernstein`,rot:`bg-rot shadow-[0_0_8px_var(--rot)]`},Ht={ok:`text-text-3`,gelb:`text-bernstein`,rot:`text-rot-text`},Ut=e=>u(new Date(e*1e3).toISOString()).toLowerCase();function Wt(e){if(e<=0)return`abgelaufen`;if(e<86400)return`noch ${Math.max(1,Math.round(e/3600))} Std.`;let t=Math.round(e/86400);return t<60?`noch ${t} ${t===1?`Tag`:`Tage`}`:t<730?`noch ${Math.round(t/30)} Monate`:`noch ${Math.round(t/365)} Jahre`}function Gt(e){let t=(0,J.c)(40),{z:n}=e,r=n.namen.length>1?` und ${n.namen.length-1} weitere`:``,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=a(`grid grid-cols-2 gap-x-4 gap-y-1 border-t border-white/[0.06] py-3 md:items-center`,Bt),t[0]=i):i=t[0];let o=Vt[n.stufe],s;t[1]===o?s=t[2]:(s=a(`mt-1.5 size-2 shrink-0 rounded-full`,o),t[1]=o,t[2]=s);let c;t[3]===s?c=t[4]:(c=(0,Y.jsx)(`span`,{"aria-hidden":!0,className:s}),t[3]=s,t[4]=c);let l;t[5]!==r||t[6]!==n.name?(l=(0,Y.jsxs)(`span`,{className:`text-[15px] font-semibold break-all`,children:[n.name,r]}),t[5]=r,t[6]=n.name,t[7]=l):l=t[7];let u;t[8]!==n.aussteller||t[9]!==n.wo?(u=[n.wo,n.aussteller].filter(Boolean),t[8]=n.aussteller,t[9]=n.wo,t[10]=u):u=t[10];let d=u.join(` · `),f;t[11]===d?f=t[12]:(f=(0,Y.jsx)(`span`,{className:`text-[13px] text-text-3`,children:d}),t[11]=d,t[12]=f);let p;t[13]!==l||t[14]!==f?(p=(0,Y.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[l,f]}),t[13]=l,t[14]=f,t[15]=p):p=t[15];let m;t[16]!==c||t[17]!==p?(m=(0,Y.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-start gap-2.5 md:col-span-1`,children:[c,p]}),t[16]=c,t[17]=p,t[18]=m):m=t[18];let h;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Y.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Gültig bis `}),t[19]=h):h=t[19];let g;t[20]===n.bis?g=t[21]:(g=Ut(n.bis),t[20]=n.bis,t[21]=g);let _;t[22]===g?_=t[23]:(_=(0,Y.jsx)(`span`,{className:`ziffern`,children:g}),t[22]=g,t[23]=_);let v;t[24]===n.rest_s?v=t[25]:(v=Wt(n.rest_s),t[24]=n.rest_s,t[25]=v);let y;t[26]===v?y=t[27]:(y=(0,Y.jsx)(`span`,{className:`block text-xs text-text-3`,children:v}),t[26]=v,t[27]=y);let b;t[28]!==_||t[29]!==y?(b=(0,Y.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[h,_,y]}),t[28]=_,t[29]=y,t[30]=b):b=t[30];let x=Ht[n.stufe],S;t[31]===x?S=t[32]:(S=a(`text-sm`,x),t[31]=x,t[32]=S);let C=n.problem??`in Ordnung`,w;t[33]!==S||t[34]!==C?(w=(0,Y.jsx)(`span`,{role:`cell`,className:S,children:C}),t[33]=S,t[34]=C,t[35]=w):w=t[35];let T;return t[36]!==m||t[37]!==b||t[38]!==w?(T=(0,Y.jsxs)(`div`,{role:`row`,className:i,children:[m,b,w]}),t[36]=m,t[37]=b,t[38]=w,t[39]=T):T=t[39],T}function Kt(e){let t=(0,J.c)(37),{daten:n}=e,r=n.zertifikate;if(!n.gelesen||r.length===0)return null;let i,s,c,l,u,d,f,p,m;if(t[0]!==r){s=r.filter(Xt),i=r.some(Yt),p=s.length>0,m=`flaeche-innen group rounded-2xl px-4 open:pb-3`,d=`flex min-h-12 cursor-pointer list-none flex-wrap items-center justify-between gap-x-3 gap-y-1 py-2 [&::-webkit-details-marker]:hidden`;let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsx)(o,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[10]=e):e=t[10],t[11]===r.length?f=t[12]:(f=(0,Y.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[e,r.length,` Zertifikate`]}),t[11]=r.length,t[12]=f),c=a,l=`text-sm`,u=s.length?Ht[s.some(Jt)?`rot`:`gelb`]:`text-text-2`,t[0]=r,t[1]=i,t[2]=s,t[3]=c,t[4]=l,t[5]=u,t[6]=d,t[7]=f,t[8]=p,t[9]=m}else i=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7],p=t[8],m=t[9];let h;t[13]!==c||t[14]!==l||t[15]!==u?(h=c(l,u),t[13]=c,t[14]=l,t[15]=u,t[16]=h):h=t[16];let g=s.length?`${s.length} mit Problem`:`alle gültig`,_;t[17]!==h||t[18]!==g?(_=(0,Y.jsx)(`span`,{className:h,children:g}),t[17]=h,t[18]=g,t[19]=_):_=t[19];let v;t[20]!==_||t[21]!==d||t[22]!==f?(v=(0,Y.jsxs)(`summary`,{className:d,children:[f,_]}),t[20]=_,t[21]=d,t[22]=f,t[23]=v):v=t[23];let y;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Y.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pt-1 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,Bt),children:[(0,Y.jsx)(`span`,{role:`columnheader`,children:`Für`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Gültig bis`}),(0,Y.jsx)(`span`,{role:`columnheader`,children:`Zustand`})]}),t[24]=y):y=t[24];let b;t[25]===r?b=t[26]:(b=r.map(qt),t[25]=r,t[26]=b);let x;t[27]===b?x=t[28]:(x=(0,Y.jsxs)(`div`,{role:`table`,"aria-label":`Zertifikate`,className:`flex flex-col`,children:[y,b]}),t[27]=b,t[28]=x);let S;t[29]===i?S=t[30]:(S=i&&(0,Y.jsx)(`p`,{className:`m-0 border-t border-white/[0.06] pt-3 text-sm text-text-3`,children:`Die Zertifikate von NPMplus gelten nur knapp eine Woche und werden laufend erneuert — gemeldet wird erst, wenn eine Erneuerung ausbleibt.`}),t[29]=i,t[30]=S);let C;return t[31]!==v||t[32]!==x||t[33]!==S||t[34]!==p||t[35]!==m?(C=(0,Y.jsxs)(`details`,{open:p,className:m,children:[v,x,S]}),t[31]=v,t[32]=x,t[33]=S,t[34]=p,t[35]=m,t[36]=C):C=t[36],C}function qt(e){return(0,Y.jsx)(Gt,{z:e},`${e.quelle}-${e.datei}-${e.name}`)}function Jt(e){return e.stufe===`rot`}function Yt(e){return e.quelle===`npm`&&e.laufzeit_s!==null&&e.laufzeit_s<2592e3}function Xt(e){return e.stufe!==`ok`}var Zt=[`Proxmox-Host`,`AdGuard`,`NPMplus`,`NetBird`,`PVE Scripts Local`,`Gitea`,`PBS`,`Arcane mit Docker`],Qt={eingespielt:{art:`gruen`,text:`eingespielt`},zurueckgerollt:{art:`bernstein`,text:`zurückgerollt`},fehler:{art:`rot`,text:`Fehler`},neustart:{art:`cyan`,text:`Neustart`},aufgeraeumt:{art:`gruen`,text:`aufgeräumt`},offen:{art:`cyan`,text:`Probelauf`}},$=e=>u(new Date(e*1e3).toISOString());function $t(){let e=(0,J.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Homelab-Teil läuft als eigene Instanz in einem kleinen Container auf dem Proxmox-PC. Von dort prüft er auch die KI-Box von außen.`}),n=(0,Y.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Steht er, erscheinen hier alle Geräte mit ihren offenen Updates. Ein Update startest du mit „Jetzt updaten“: Vorher wird gesichert, danach die Erreichbarkeit geprüft, und ist sie rot, geht es von selbst zurück.`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Y.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-3`,children:`Dazu kommen`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Y.jsxs)(Y.Fragment,{children:[t,n,(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[r,(0,Y.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:Zt.map(en)})]}),(0,Y.jsx)(`p`,{className:`text-sm text-text-3`,children:`Der Container wird erst nach deiner Freigabe angelegt.`})]}),e[3]=i):i=e[3],i}function en(e){return(0,Y.jsx)(`li`,{children:(0,Y.jsx)(b,{children:e})},e)}function tn(e){let t=(0,J.c)(9),{partner:n}=e,r;t[0]===n.eingerichtet?r=t[1]:(r=n.eingerichtet?(0,Y.jsx)(b,{art:`rot`,children:`Antwortet nicht`}):(0,Y.jsx)(b,{children:`Noch nicht eingerichtet`}),t[0]=n.eingerichtet,t[1]=r);let i=r,a;t[2]!==n.eingerichtet||t[3]!==n.fehler||t[4]!==n.url?(a=n.eingerichtet?(0,Y.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Homelab-Teil (`,n.url,`) ist `,n.fehler??`nicht erreichbar`,`. Hält das an, meldet der Wächter es nach fünf Minuten auf Telegram.`]}):(0,Y.jsx)($t,{}),t[2]=n.eingerichtet,t[3]=n.fehler,t[4]=n.url,t[5]=a):a=t[5];let o;return t[6]!==i||t[7]!==a?(o=(0,Y.jsx)(q,{titel:`Homelab`,rechts:i,children:a}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function nn(e){let t=(0,J.c)(10),{hinweise:n}=e,r=n.some(an)?`rot`:`bernstein`,i;t[0]!==n.length||t[1]!==r?(i=(0,Y.jsxs)(b,{art:r,children:[n.length,` offen`]}),t[0]=n.length,t[1]=r,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=n.map(rn),t[3]=n,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,Y.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:a}),t[5]=a,t[6]=o);let s;return t[7]!==i||t[8]!==o?(s=(0,Y.jsx)(q,{titel:`Hinweise`,id:`hinweise`,rechts:i,children:o}),t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function rn(e){return(0,Y.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-white/[0.06] py-3 first:border-t-0 first:pt-0`,children:[(0,Y.jsx)(`span`,{className:e.stufe===`rot`?`text-[15px] font-medium text-rot-text`:`text-[15px] font-medium text-bernstein`,children:e.titel}),(0,Y.jsx)(`span`,{className:`text-sm text-text-2`,children:e.text})]},e.id)}function an(e){return e.stufe===`rot`}function on(e){let t=(0,J.c)(8),{laeufe:n}=e,r,i,a;if(t[0]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.filter(cn).slice(0,12);if(e.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch kein Update im Homelab eingespielt.`}),t[4]=e):e=t[4],a=e;break bb0}r=`@container m-0 flex list-none flex-col p-0`,i=e.map(sn)}t[0]=n,t[1]=r,t[2]=i,t[3]=a}else r=t[1],i=t[2],a=t[3];if(a!==Symbol.for(`react.early_return_sentinel`))return a;let o;return t[5]!==r||t[6]!==i?(o=(0,Y.jsx)(`ol`,{className:r,children:i}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function sn(e){let t=e.ergebnis?Qt[e.ergebnis]??{art:`grau`,text:e.ergebnis}:{art:`grau`,text:`unterbrochen`};return(0,Y.jsxs)(`li`,{className:`flex flex-col gap-1.5 border-t border-white/[0.06] py-3 first:border-t-0 first:pt-0`,children:[(0,Y.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,Y.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:$(e.start)}),(0,Y.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:e.name}),(0,Y.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,Y.jsx)(b,{art:t.art,children:t.text})})]}),e.text&&(0,Y.jsx)(`p`,{className:`m-0 text-sm text-text-2 @sm:pl-[124px]`,children:e.text})]},e.id)}function cn(e){return e.status!==`laeuft`&&!ie(e)}function ln(e){let t=(0,J.c)(9),{stand:n}=e;if(!n.ausfuehrer.verbunden){let e;t[0]===n.ausfuehrer.zuletzt?e=t[1]:(e=n.ausfuehrer.zuletzt?` (zuletzt ${$(n.ausfuehrer.zuletzt)})`:``,t[0]=n.ausfuehrer.zuletzt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,Y.jsxs)(`p`,{role:`alert`,className:`rounded-2xl bg-bernstein/[0.08] px-4 py-3 text-[15px] text-bernstein ring-1 ring-bernstein/35 ring-inset`,children:[`Der Ausführer auf dem Proxmox-Host meldet sich nicht`,e,`. Die Geräte zeigen den letzten bekannten Stand; Updates starten erst, wenn er wieder da ist.`]}),t[2]=e,t[3]=r),r}if(!n.bericht){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Ausführer hat noch keinen Bericht geschickt.`}),t[4]=e):e=t[4],e}if(n.bericht.veraltet){let e;t[5]===n.bericht.empfangen?e=t[6]:(e=$(n.bericht.empfangen),t[5]=n.bericht.empfangen,t[6]=e);let r;return t[7]===e?r=t[8]:(r=(0,Y.jsxs)(`p`,{className:`text-[15px] text-bernstein`,children:[`Der letzte Bericht ist von `,e,`; die Angaben können veraltet sein.`]}),t[7]=e,t[8]=r),r}return null}function un(){let e=(0,J.c)(20),t=ue(),n=z(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=oe(r),a=B(r),o=H(r),s=P(),c=null;if(t.isPending||n.isPending){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(x,{text:`Wird gelesen …`}),e[0]=t):t=e[0],c=t}else if(!r){let t;e[1]!==n.data||e[2]!==n.error?.message?(t=n.data?(0,Y.jsx)(tn,{partner:n.data}):(0,Y.jsx)(x,{fehler:!0,text:`Der Partner lässt sich nicht abfragen: ${n.error?.message??`keine Daten`}`}),e[1]=n.data,e[2]=n.error?.message,e[3]=t):t=e[3],c=t}else if(i.isPending){let t;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(x,{text:`Der Homelab-Teil meldet sich gleich …`}),e[4]=t):t=e[4],c=t}else if(!i.data){let t=`Der Homelab-Teil antwortet nicht: ${i.error?.message??`keine Daten`}`,n;e[5]===t?n=e[6]:(n=(0,Y.jsx)(x,{fehler:!0,text:t}),e[5]=t,e[6]=n),c=n}let l;if(e[7]!==a.data?.laeufe){l=new Map;for(let e of a.data?.laeufe??[])e.status===`laeuft`&&l.set(e.ziel,e.schritte.at(-1)??`startet …`);e[7]=a.data?.laeufe,e[8]=l}else l=e[8];let u;e[9]===a.data?.laeufe?u=e[10]:(u=a.data?.laeufe??[],e[9]=a.data?.laeufe,e[10]=u);let d;e[11]===o.data?.hinweise?d=e[12]:(d=o.data?.hinweise??[],e[11]=o.data?.hinweise,e[12]=d);let f;return e[13]!==s||e[14]!==c||e[15]!==i.data||e[16]!==l||e[17]!==u||e[18]!==d?(f={ersatz:c,stand:i.data,laufend:l,laeufe:u,hinweise:d,aktion:s},e[13]=s,e[14]=c,e[15]=i.data,e[16]=l,e[17]=u,e[18]=d,e[19]=f):f=e[19],f}function dn(){let e=(0,J.c)(67),t=ne(),{ersatz:n,stand:r,laufend:i,laeufe:a,hinweise:o,aktion:s}=un(),c=te(`1h`,!!r),l=ce(!!r),u=fe(!!r),d=g(),f=w(!!r),m=ee(!!r),h=re();if(n||!r)return n;let _,v,y;if(e[0]!==o||e[1]!==a||e[2]!==r){_=r.bericht?$(r.bericht.empfangen):null;let t;e[6]===a?t=e[7]:(t=new Set(a.filter(pn).map(fn)),e[6]=a,e[7]=t),v=t,y=j(r,o,v.size,_),e[0]=o,e[1]=a,e[2]=r,e[3]=_,e[4]=v,e[5]=y}else _=e[3],v=e[4],y=e[5];let b=y,x;e[8]!==b.ziel||e[9]!==t?(x=()=>{b.ziel===`updates`?t({to:`/homelab/updates`}):b.ziel&&document.getElementById(b.ziel)?.scrollIntoView({behavior:`smooth`,block:`start`})},e[8]=b.ziel,e[9]=t,e[10]=x):x=e[10];let S;e[11]===t?S=e[12]:(S=(e,n)=>{n?t({to:`/homelab/updates`}):document.getElementById(`geraet-${e.id}`)?.scrollIntoView({behavior:`smooth`,block:`center`})},e[11]=t,e[12]=S);let T;e[13]!==v||e[14]!==b||e[15]!==r.ziele||e[16]!==x||e[17]!==S?(T=(0,Y.jsx)(Ve,{lage:b,ziele:r.ziele,imUpdate:v,onAnsehen:x,onGeraet:S}),e[13]=v,e[14]=b,e[15]=r.ziele,e[16]=x,e[17]=S,e[18]=T):T=e[18];let E;e[19]===r?E=e[20]:(E=(0,Y.jsx)(ln,{stand:r}),e[19]=r,e[20]=E);let D;e[21]===o?D=e[22]:(D=o.length>0&&(0,Y.jsx)(nn,{hinweise:o}),e[21]=o,e[22]=D);let O;e[23]===f.data?.geraete?O=e[24]:(O=f.data?.geraete??[],e[23]=f.data?.geraete,e[24]=O);let k;e[25]===f.data?.docker?k=e[26]:(k=f.data?.docker??[],e[25]=f.data?.docker,e[26]=k);let A=h.isPending||!r.ausfuehrer.verbunden,M;e[27]===h?M=e[28]:(M=(e,t)=>h.mutate({id:e,wahl:t}),e[27]=h,e[28]=M);let N;e[29]!==O||e[30]!==k||e[31]!==A||e[32]!==M?(N=(0,Y.jsx)(qe,{geraete:O,stacks:k,gesperrt:A,onWahl:M}),e[29]=O,e[30]=k,e[31]=A,e[32]=M,e[33]=N):N=e[33];let P;e[34]===_?P=e[35]:(P=_&&(0,Y.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,_]}),e[34]=_,e[35]=P);let F;e[36]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Y.jsxs)(C,{to:`/homelab/monitoring`,className:`inline-flex items-center gap-1 text-sm text-lab-text hover:underline`,children:[`Monitoring `,(0,Y.jsx)(p,{className:`size-3.5`,"aria-hidden":!0})]}),e[36]=F):F=e[36];let I;e[37]===P?I=e[38]:(I=(0,Y.jsxs)(`span`,{className:`flex items-center gap-3`,children:[P,F]}),e[37]=P,e[38]=I);let L=c.data?.geraete,R;e[39]!==r.ziele||e[40]!==L?(R=(0,Y.jsx)(Le,{ziele:r.ziele,messwerte:L}),e[39]=r.ziele,e[40]=L,e[41]=R):R=e[41];let z;e[42]===c.isError?z=e[43]:(z=c.isError&&(0,Y.jsx)(`p`,{className:`text-xs text-text-3`,children:`CPU und Speicher erscheinen, sobald der Ausführer Messwerte schickt.`}),e[42]=c.isError,e[43]=z);let B;e[44]!==I||e[45]!==R||e[46]!==z?(B=(0,Y.jsxs)(q,{titel:`Geräte`,id:`geraete`,rechts:I,children:[R,z]}),e[44]=I,e[45]=R,e[46]=z,e[47]=B):B=e[47];let V;e[48]===m.data?V=e[49]:(V=m.data?.verfuegbar&&m.data.stacks.length>0&&(0,Y.jsx)(q,{titel:`Docker-Dienste`,id:`docker`,children:(0,Y.jsx)(Oe,{lage:m.data})}),e[48]=m.data,e[49]=V);let H;e[50]!==s||e[51]!==i||e[52]!==d||e[53]!==l.data||e[54]!==r.ausfuehrer?(H=l.data?.bericht&&(0,Y.jsx)(q,{titel:`Speicher und Sicherungen`,id:`speicher`,children:(0,Y.jsx)(ht,{daten:l.data,laeuft:i.get(`pve`)??null,gesperrt:s.isPending||i.has(`pve`)||!r.ausfuehrer.verbunden,onAktion:e=>s.mutate(e),onProbe:()=>d.mutate(void 0),probeGesperrt:d.isPending||!r.ausfuehrer.verbunden,snapshotsLink:(0,Y.jsxs)(C,{to:`/homelab/snapshots`,className:`inline-flex min-h-10 items-center gap-1 self-start text-sm text-lab-text hover:underline`,children:[`Zu den Snapshots `,(0,Y.jsx)(p,{className:`size-3.5`,"aria-hidden":!0})]})})}),e[50]=s,e[51]=i,e[52]=d,e[53]=l.data,e[54]=r.ausfuehrer,e[55]=H):H=e[55];let U;e[56]===u.data?U=e[57]:(U=u.data?.gelesen&&u.data.zertifikate.length>0&&(0,Y.jsx)(q,{titel:`Zertifikate`,id:`zertifikate`,children:(0,Y.jsx)(Kt,{daten:u.data})}),e[56]=u.data,e[57]=U);let W;return e[58]!==N||e[59]!==B||e[60]!==V||e[61]!==H||e[62]!==U||e[63]!==T||e[64]!==E||e[65]!==D?(W=(0,Y.jsxs)(Y.Fragment,{children:[T,E,D,N,B,V,H,U]}),e[58]=N,e[59]=B,e[60]=V,e[61]=H,e[62]=U,e[63]=T,e[64]=E,e[65]=D,e[66]=W):W=e[66],W}function fn(e){return e.ziel}function pn(e){return e.status===`laeuft`&&!ie(e)}function mn(){let e=(0,J.c)(30),{ersatz:t,stand:n,laufend:r,laeufe:i,aktion:a}=un(),o=me(!!n),s=f();if(t||!n)return t;let c=o.data?.sammellauf??null,l=c?.status===`laeuft`,u;e[0]===n.ziele?u=e[1]:(u=M(n.ziele).filter(hn),e[0]=n.ziele,e[1]=u);let d=u.length,p=a.isPending||l||!n.ausfuehrer.verbunden,m;e[2]!==d||e[3]!==p?(m=(0,Y.jsx)(wt,{anzahl:d,gesperrt:p}),e[2]=d,e[3]=p,e[4]=m):m=e[4];let h;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Y.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Je Gerät, was läuft und was neu ist. Du startest jedes Update selbst — einzeln oder alle nacheinander. Vorher wird gesichert, danach geprüft; ist die Prüfung rot, geht es von selbst zurück.`}),e[5]=h):h=e[5];let g;e[6]===n?g=e[7]:(g=(0,Y.jsx)(ln,{stand:n}),e[6]=n,e[7]=g);let _;e[8]!==c||e[9]!==s||e[10]!==l||e[11]!==n.bericht?.empfangen?(_=c&&(l||c.ende&&(n.bericht?.empfangen??0)-c.ende<21600)&&(0,Y.jsx)(Ot,{lauf:c,onQuittieren:()=>s.mutate(c.id)}),e[8]=c,e[9]=s,e[10]=l,e[11]=n.bericht?.empfangen,e[12]=_):_=e[12];let v=a.isPending||l||!n.ausfuehrer.verbunden,y;e[13]===a?y=e[14]:(y=e=>a.mutate(e),e[13]=a,e[14]=y);let b;e[15]!==r||e[16]!==n.ziele||e[17]!==v||e[18]!==y?(b=(0,Y.jsx)(Lt,{ziele:n.ziele,laufend:r,gesperrt:v,onAktion:y}),e[15]=r,e[16]=n.ziele,e[17]=v,e[18]=y,e[19]=b):b=e[19];let x;e[20]!==m||e[21]!==g||e[22]!==_||e[23]!==b?(x=(0,Y.jsxs)(q,{titel:`Updates`,rechts:m,children:[h,g,_,b]}),e[20]=m,e[21]=g,e[22]=_,e[23]=b,e[24]=x):x=e[24];let S;e[25]===i?S=e[26]:(S=(0,Y.jsx)(q,{titel:`Verlauf`,children:(0,Y.jsx)(on,{laeufe:i})}),e[25]=i,e[26]=S);let C;return e[27]!==S||e[28]!==x?(C=(0,Y.jsxs)(Y.Fragment,{children:[x,S]}),e[27]=S,e[28]=x,e[29]=C):C=e[29],C}function hn(e){return e.baustein.aktion}export{dn as HomelabSeite,mn as HomelabUpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Homelab-CiUiSfKF.js b/frontend/dist/assets/Homelab-CiUiSfKF.js deleted file mode 100644 index 72d53c7..0000000 --- a/frontend/dist/assets/Homelab-CiUiSfKF.js +++ /dev/null @@ -1 +0,0 @@ -import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{t as o}from"./chevron-right-DF8ikrVh.js";import{n as s,t as c}from"./undo-2-B8COJmAr.js";import{t as l}from"./search-RXhRizww.js";import{B as u,Cn as d,En as f,Ft as p,G as m,H as h,It as g,J as _,Jt as v,K as y,L as b,Lt as x,M as S,N as C,O as w,Ot as T,Q as E,R as D,S as O,Sn as k,Tn as A,U as j,V as M,W as N,Xt as P,Y as ee,_ as F,_t as te,b as ne,bt as re,ft as ie,j as I,mt as ae,n as oe,pt as se,q as L,r as R,s as ce,t as z,tn as B,ut as le,v as ue,vt as de,x as fe,y as pe,z as me,zt as he}from"./index-CJ1jXWsM.js";import{t as V}from"./button-DwYvdWVr.js";import{t as H}from"./Bestaetigen-6C3zYuEE.js";import{t as U}from"./Panel-uT1S5ZGr.js";import{n as ge,t as _e}from"./Lagekopf-_LyvkRPo.js";var ve={name:`circle-dashed`,size:24,node:[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`,key:`5ilxe3`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`,key:`11zvb9`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`,key:`1iw5b2`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`,key:`c0bmvh`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`,key:`1ruxm7`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`,key:`qkgqxc`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`,key:`1mcia2`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`,key:`1fvljs`}]]};ve.node;var ye=r(ve),be={name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]};be.node;var xe=r(be),Se={name:`skip-forward`,size:24,node:[[`path`,{d:`M21 4v16`,key:`7j8fe9`}],[`path`,{d:`M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z`,key:`zs4d6`}]]};Se.node;var Ce=r(Se),W=i(),G=n(),we=`md:grid-cols-[minmax(0,1.35fr)_110px_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1fr)_90px]`,Te=e=>(e/1e9).toFixed(1).replace(`.`,`,`);function K(e){let t=(0,W.c)(20),{wert:n,gelb:r,rot:i,zusatz:o,unter:s}=e;if(n==null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let c=n>=i?`var(--rot)`:n>=r?`var(--bernstein)`:`color-mix(in srgb, var(--lab) 80%, transparent)`,l=n>=i?`text-rot-text`:n>=r?`text-bernstein`:`text-text-2`,u;t[1]===l?u=t[2]:(u=a(`ziffern text-sm`,l),t[1]=l,t[2]=u);let d;t[3]===n?d=t[4]:(d=Math.round(n),t[3]=n,t[4]=d);let f;t[5]===o?f=t[6]:(f=o&&(0,G.jsxs)(`span`,{className:`font-sans text-xs text-text-3`,children:[` · `,o]}),t[5]=o,t[6]=f);let p;t[7]!==u||t[8]!==d||t[9]!==f?(p=(0,G.jsxs)(`span`,{className:u,children:[d,` %`,f]}),t[7]=u,t[8]=d,t[9]=f,t[10]=p):p=t[10];let m=`${Math.min(100,Math.max(2,n))}%`,h;t[11]!==c||t[12]!==m?(h=(0,G.jsx)(`span`,{className:`h-1.5 w-full max-w-40 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,G.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:m,background:c}})}),t[11]=c,t[12]=m,t[13]=h):h=t[13];let g;t[14]===s?g=t[15]:(g=s&&(0,G.jsx)(`span`,{className:a(`text-xs`,F[s.stufe]),children:s.text}),t[14]=s,t[15]=g);let _;return t[16]!==p||t[17]!==h||t[18]!==g?(_=(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1.5`,children:[p,h,g]}),t[16]=p,t[17]=h,t[18]=g,t[19]=_):_=t[19],_}function Ee(e){if(e.erreichbar===!1)return 0;let t=m(e);return t!==null&&t>=.8?1:e.art===`proxmox-host`?2:3}function De(e){let t=(0,W.c)(4),{ziele:n,messwerte:r}=e,i;if(t[0]!==r||t[1]!==n){let e=new Map((r??[]).map(Ae)),o=new Map((r??[]).map(ke)),s=[...n].sort(Oe),c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,G.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,we),children:[(0,G.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Netz`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`CPU`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Speicher`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Platte`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Läuft seit`})]}),t[3]=c):c=t[3],i=(0,G.jsxs)(`div`,{role:`table`,"aria-label":`Zustand der Geräte`,className:`flex flex-col`,children:[c,s.map(t=>{let n=e.get(t.id),r=n?.platte??(m(t)===null?null:m(t)*100),i=n?.ram_used&&n.ram_total?`${Te(n.ram_used)} / ${Te(n.ram_total)} GB`:void 0;return(0,G.jsxs)(`div`,{id:`geraet-${t.id}`,role:`row`,className:a(`grid scroll-mt-24 grid-cols-2 gap-x-4 gap-y-2 border-t border-white/[0.06] py-3 md:items-center`,we),children:[(0,G.jsxs)(`div`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-3 md:col-span-1`,children:[(0,G.jsx)(w,{bild:I(t),groesse:`sm`,punkt:t.erreichbar===!1?`rot`:t.erreichbar?`ok`:null}),(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,G.jsx)(A,{to:`/homelab/monitoring`,hash:t.id,className:`text-[15px] font-semibold break-words hover:text-lab-text`,children:t.name}),D(t)!==t.name&&(0,G.jsx)(`span`,{className:`text-[13px] text-text-3`,children:D(t)})]})]}),(0,G.jsxs)(`span`,{role:`cell`,className:a(`flex items-center gap-1.5 text-[13px]`,t.erreichbar===!1?`text-rot-text`:`text-text-3`),children:[t.erreichbar!==null&&(0,G.jsx)(`span`,{"aria-hidden":!0,className:a(`size-1.5 rounded-full`,t.erreichbar?`bg-gruen`:`bg-rot`)}),t.erreichbar===null?`–`:t.erreichbar?`erreichbar`:`antwortet nicht`]}),(0,G.jsxs)(`span`,{role:`cell`,children:[(0,G.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`CPU `}),(0,G.jsx)(K,{wert:n?.cpu,gelb:85,rot:95})]}),(0,G.jsxs)(`span`,{role:`cell`,children:[(0,G.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Speicher `}),(0,G.jsx)(K,{wert:n?.ram,gelb:85,rot:95,zusatz:i})]}),(0,G.jsxs)(`span`,{role:`cell`,children:[(0,G.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Platte `}),(0,G.jsx)(K,{wert:r,gelb:80,rot:90,unter:ue(o.get(t.id))})]}),(0,G.jsxs)(`span`,{role:`cell`,className:`ziffern text-sm text-text-2`,children:[(0,G.jsx)(`span`,{className:`font-sans text-xs text-text-3 md:hidden`,children:`Läuft seit `}),O(n?.uptime_s)]})]},t.id)})]}),t[0]=r,t[1]=n,t[2]=i}else i=t[2];return i}function Oe(e,t){return Ee(e)-Ee(t)}function ke(e){return[e.id,e.prognose?.platte]}function Ae(e){return[e.id,e.aktuell]}function je(e){let t=(0,W.c)(15),{lage:n,ziele:r,imUpdate:i,onAnsehen:a,onGeraet:o}=e,s=n.art,c=n.oben,l=n.mitte,d=n.unten,f=n.ziel!==null,p;if(t[0]!==i||t[1]!==o||t[2]!==r){let e;t[4]!==i||t[5]!==o?(e=e=>{let t=h(e,i.has(e.id)),n=me(e.kennzahl);return(0,G.jsx)(_e,{bild:I(e),name:u(e),wert:t.wert,zustand:t.zustand,zahl:n?{text:n,stufe:e.kennzahl?.stufe}:null,onClick:()=>o(e,t.zustand===`info`)},e.id)},t[4]=i,t[5]=o,t[6]=e):e=t[6],p=r.map(e),t[0]=i,t[1]=o,t[2]=r,t[3]=p}else p=t[3];let m;return t[7]!==n.art||t[8]!==n.mitte||t[9]!==n.oben||t[10]!==n.unten||t[11]!==a||t[12]!==f||t[13]!==p?(m=(0,G.jsx)(ge,{art:s,oben:c,mitte:l,unten:d,aktiv:f,onAnsehen:a,label:`Lage im Homelab`,children:p}),t[7]=n.art,t[8]=n.mitte,t[9]=n.oben,t[10]=n.unten,t[11]=a,t[12]=f,t[13]=p,t[14]=m):m=t[14],m}var q=t(e(),1),Me=`md:grid-cols-[minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,1.1fr)_minmax(0,1.1fr)]`,Ne=e=>P(new Date(e*1e3).toISOString()).toLowerCase();function J(e){let t=(0,W.c)(8),{titel:n,children:r,className:i}=e,o;t[0]===i?o=t[1]:(o=a(`text-sm text-text-2`,i),t[0]=i,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,G.jsxs)(`span`,{className:`text-xs text-text-3 md:hidden`,children:[n,` `]}),t[2]=n,t[3]=s);let c;return t[4]!==r||t[5]!==o||t[6]!==s?(c=(0,G.jsxs)(`span`,{role:`cell`,className:o,children:[s,r]}),t[4]=r,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function Pe(e){let t=(0,W.c)(39),{g:n}=e,r=n.geprueft?.zustand===`failed`,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=a(`grid grid-cols-2 gap-x-4 gap-y-1.5 border-t border-white/[0.06] py-3 md:items-start`,Me),t[0]=i):i=t[0];let o;t[1]===n.name?o=t[2]:(o=(0,G.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[1]=n.name,t[2]=o);let s;t[3]===n.auftrag?s=t[4]:(s=!n.auftrag&&(0,G.jsx)(`span`,{className:`text-[13px] text-bernstein`,children:`in keinem Sicherungsauftrag`}),t[3]=n.auftrag,t[4]=s);let c;t[5]!==o||t[6]!==s?(c=(0,G.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 flex-col md:col-span-1`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=c):c=t[7];let l=n.auftrag&&!n.frisch&&`text-bernstein`,u;t[8]===l?u=t[9]:(u=a(l),t[8]=l,t[9]=u);let d;t[10]===n.zuletzt?d=t[11]:(d=n.zuletzt?(0,G.jsx)(`span`,{className:`ziffern`,children:B(n.zuletzt)}):`noch nie`,t[10]=n.zuletzt,t[11]=d);let f;t[12]!==u||t[13]!==d?(f=(0,G.jsx)(J,{titel:`Gesichert`,className:u,children:d}),t[12]=u,t[13]=d,t[14]=f):f=t[14];let p=r&&`text-rot-text`,m;t[15]===p?m=t[16]:(m=a(p),t[15]=p,t[16]=m);let h;t[17]!==r||t[18]!==n.geprueft?(h=n.geprueft?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`span`,{className:`ziffern`,children:Ne(n.geprueft.zeit)}),r?` · beschädigt`:` · in Ordnung`]}):(0,G.jsx)(`span`,{className:`text-text-3`,children:`noch nicht`}),t[17]=r,t[18]=n.geprueft,t[19]=h):h=t[19];let g;t[20]!==r||t[21]!==n.defekt.length?(g=n.defekt.length>0&&!r&&(0,G.jsx)(`span`,{className:`block text-xs text-bernstein`,children:n.defekt.length===1?`eine ältere Sicherung beschädigt`:`${n.defekt.length} ältere Sicherungen beschädigt`}),t[20]=r,t[21]=n.defekt.length,t[22]=g):g=t[22];let _;t[23]!==m||t[24]!==h||t[25]!==g?(_=(0,G.jsxs)(J,{titel:`Vom PBS geprüft`,className:m,children:[h,g]}),t[23]=m,t[24]=h,t[25]=g,t[26]=_):_=t[26];let v=n.probe&&!n.probe.ok&&`text-rot-text`,y;t[27]===v?y=t[28]:(y=a(v),t[27]=v,t[28]=y);let b;t[29]===n.probe?b=t[30]:(b=n.probe?(0,G.jsxs)(G.Fragment,{children:[n.probe.ok?`gelungen`:`gescheitert`,` `,(0,G.jsx)(`span`,{className:`ziffern`,children:B(n.probe.zeit)}),n.probe.fehler&&(0,G.jsx)(`span`,{className:`block text-xs break-words`,children:n.probe.fehler})]}):(0,G.jsx)(`span`,{className:`text-text-3`,children:`noch keine`}),t[29]=n.probe,t[30]=b);let x;t[31]!==y||t[32]!==b?(x=(0,G.jsx)(J,{titel:`Probe`,className:y,children:b}),t[31]=y,t[32]=b,t[33]=x):x=t[33];let S;return t[34]!==_||t[35]!==x||t[36]!==c||t[37]!==f?(S=(0,G.jsxs)(`div`,{role:`row`,className:i,children:[c,f,_,x]}),t[34]=_,t[35]=x,t[36]=c,t[37]=f,t[38]=S):S=t[38],S}function Fe(e,t){let n=t.filter(e=>!e.auftrag).length,r=[n?`${n} ohne Auftrag`:`alle ${t.length} in einem Auftrag`],i=t.filter(e=>e.probe&&!e.probe.ok).length;return i?r.push(`Probe bei ${i} gescheitert`):e.probe?.zeit&&r.push(`Probe ${B(e.probe.zeit)}`),r.join(` · `)}function Ie(e){let t=(0,W.c)(27),{s:n,onProbe:r,probeGesperrt:i}=e,s=i!==void 0&&i,c;t[0]===n.geraete?c=t[1]:(c=n.geraete??[],t[0]=n.geraete,t[1]=c);let l=c;if(l.length===0)return null;let u;t[2]===l?u=t[3]:(u=l.some(Re),t[2]=l,t[3]=u);let d=u,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,G.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,G.jsx)(o,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Sicherungen je Gerät`]}),t[4]=f):f=t[4];let p=d?`text-bernstein`:`text-text-2`,m;t[5]===p?m=t[6]:(m=a(`text-right text-sm`,p),t[5]=p,t[6]=m);let h;t[7]!==l||t[8]!==n?(h=Fe(n,l),t[7]=l,t[8]=n,t[9]=h):h=t[9];let g;t[10]!==m||t[11]!==h?(g=(0,G.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[f,(0,G.jsx)(`span`,{className:m,children:h})]}),t[10]=m,t[11]=h,t[12]=g):g=t[12];let _;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,G.jsx)(`p`,{className:`m-0 pb-1 text-sm text-text-2`,children:`Der PBS prüft die Sicherungen selbst (Prüfauftrag im PBS). Die Probe öffnet einmal die Woche die jüngste Sicherung jedes Geräts, nur lesend: Die Konfiguration muss sich daraus lesen lassen, bei Containern auch der Dateibaum.`}),t[13]=_):_=t[13];let v;t[14]!==r||t[15]!==s?(v=r&&(0,G.jsx)(V,{variant:`outline`,size:`sm`,className:`my-2`,disabled:s,onClick:r,children:`Jetzt prüfen`}),t[14]=r,t[15]=s,t[16]=v):v=t[16];let y;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,G.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pt-1 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,Me),children:[(0,G.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Gesichert`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Vom PBS geprüft`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Probe`})]}),t[17]=y):y=t[17];let b;t[18]===l?b=t[19]:(b=l.map(Le),t[18]=l,t[19]=b);let x;t[20]===b?x=t[21]:(x=(0,G.jsxs)(`div`,{role:`table`,"aria-label":`Sicherungen je Gerät`,className:`flex flex-col`,children:[y,b]}),t[20]=b,t[21]=x);let S;return t[22]!==d||t[23]!==v||t[24]!==x||t[25]!==g?(S=(0,G.jsxs)(`details`,{open:d,className:`flaeche-innen group rounded-2xl px-4 open:pb-3`,children:[g,_,v,x]}),t[22]=d,t[23]=v,t[24]=x,t[25]=g,t[26]=S):S=t[26],S}function Le(e){return(0,G.jsx)(Pe,{g:e},e.ziel)}function Re(e){return!e.auftrag||e.defekt.length>0||e.probe&&!e.probe.ok}var Y={ok:`gruen`,gelb:`bernstein`,rot:`rot`,keine:`grau`},ze={ok:`color-mix(in srgb, var(--lab) 80%, transparent)`,gelb:`var(--bernstein)`,rot:`var(--rot)`},Be=e=>P(new Date(e*1e3).toISOString());function X(e){let t=(0,W.c)(11),{anteil:n,stufe:r,name:i}=e,a;t[0]===n?a=t[1]:(a=Math.round(n*100),t[0]=n,t[1]=a);let o=a,s=`${i}: ${o} % belegt`,c=`${Math.min(100,Math.max(2,o))}%`,l=ze[r],u;t[2]!==c||t[3]!==l?(u=(0,G.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:c,background:l}}),t[2]=c,t[3]=l,t[4]=u):u=t[4];let d,f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,G.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[80%] w-px bg-bernstein/70`}),f=(0,G.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-y-0 left-[90%] w-px bg-rot/80`}),t[5]=d,t[6]=f):(d=t[5],f=t[6]);let p;return t[7]!==o||t[8]!==s||t[9]!==u?(p=(0,G.jsxs)(`div`,{role:`meter`,"aria-label":s,"aria-valuenow":o,"aria-valuemin":0,"aria-valuemax":100,className:`relative h-2 w-full overflow-hidden rounded-full bg-white/[0.07]`,children:[u,d,f]}),t[7]=o,t[8]=s,t[9]=u,t[10]=p):p=t[10],p}function Z(e){let t=(0,W.c)(11),{v:n}=e;if(n?.grund===`gleich`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(`p`,{className:`text-xs text-text-3`,children:`Belegung gleichbleibend`}),t[0]=e):e=t[0],e}let r;t[1]===n?r=t[2]:(r=ne(n),t[1]=n,t[2]=r);let i=r;if(!i)return null;let o=F[fe(n)],s;t[3]===o?s=t[4]:(s=a(`ziffern text-xs`,o),t[3]=o,t[4]=s);let c;t[5]===n?c=t[6]:(c=pe(n),t[5]=n,t[6]=c);let l;return t[7]!==s||t[8]!==c||t[9]!==i?(l=(0,G.jsxs)(`p`,{className:s,children:[c,` · `,i]}),t[7]=s,t[8]=c,t[9]=i,t[10]=l):l=t[10],l}function Q(e){let t=(0,W.c)(16),{titel:n,unter:r,chip:i,chipText:a,children:o}=e,s;t[0]===n?s=t[1]:(s=(0,G.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n}),t[0]=n,t[1]=s);let c;t[2]===r?c=t[3]:(c=r&&(0,G.jsx)(`span`,{className:`text-sm break-words text-text-3`,children:r}),t[2]=r,t[3]=c);let l;t[4]!==s||t[5]!==c?(l=(0,G.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[s,c]}),t[4]=s,t[5]=c,t[6]=l):l=t[6];let u;t[7]!==i||t[8]!==a?(u=(0,G.jsx)(S,{art:i,children:a}),t[7]=i,t[8]=a,t[9]=u):u=t[9];let d;t[10]!==l||t[11]!==u?(d=(0,G.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;return t[13]!==o||t[14]!==d?(f=(0,G.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 flex-col gap-3 rounded-2xl p-4`,children:[d,o]}),t[13]=o,t[14]=d,t[15]=f):f=t[15],f}function Ve(e){let t=(0,W.c)(34),{p:n}=e,r;t[0]===n.anteil?r=t[1]:(r=Math.round(n.anteil*100),t[0]=n.anteil,t[1]=r);let i=r,o=`Speicherpool ${n.speicher}`,s=Y[n.stufe],c=z[n.stufe],l=Math.max(n.anteil,n.meta_anteil??0),u=`Speicherpool ${n.speicher}`,d;t[2]!==n.stufe||t[3]!==l||t[4]!==u?(d=(0,G.jsx)(X,{anteil:l,stufe:n.stufe,name:u}),t[2]=n.stufe,t[3]=l,t[4]=u,t[5]=d):d=t[5];let f;t[6]===n.belegt?f=t[7]:(f=R(n.belegt),t[6]=n.belegt,t[7]=f);let p;t[8]===n.gesamt?p=t[9]:(p=R(n.gesamt),t[8]=n.gesamt,t[9]=p);let m=n.stufe!==`ok`&&`text-foreground`,h;t[10]===m?h=t[11]:(h=a(m),t[10]=m,t[11]=h);let g;t[12]===n.frei?g=t[13]:(g=R(n.frei),t[12]=n.frei,t[13]=g);let _;t[14]!==h||t[15]!==g?(_=(0,G.jsxs)(`span`,{className:h,children:[g,` frei`]}),t[14]=h,t[15]=g,t[16]=_):_=t[16];let v;t[17]!==i||t[18]!==_||t[19]!==f||t[20]!==p?(v=(0,G.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[i,` % · `,f,` von `,p,` · `,_]}),t[17]=i,t[18]=_,t[19]=f,t[20]=p,t[21]=v):v=t[21];let y;t[22]===n.meta_anteil?y=t[23]:(y=n.meta_anteil!==null&&(0,G.jsxs)(`p`,{className:`text-xs text-text-3`,children:[`Metadaten `,Math.round(n.meta_anteil*100),` % belegt`]}),t[22]=n.meta_anteil,t[23]=y);let b;t[24]===n.vorhersage?b=t[25]:(b=(0,G.jsx)(Z,{v:n.vorhersage}),t[24]=n.vorhersage,t[25]=b);let x;return t[26]!==v||t[27]!==y||t[28]!==b||t[29]!==o||t[30]!==s||t[31]!==c||t[32]!==d?(x=(0,G.jsxs)(Q,{titel:o,unter:`Platten der Container und VMs`,chip:s,chipText:c,children:[d,v,y,b]}),t[26]=v,t[27]=y,t[28]=b,t[29]=o,t[30]=s,t[31]=c,t[32]=d,t[33]=x):x=t[33],x}function He(e){let t=(0,W.c)(24),{s:n}=e,r=Y[n.stufe],i=z[n.stufe],a;t[0]!==n.anteil||t[1]!==n.stufe?(a=(0,G.jsx)(X,{anteil:n.anteil,stufe:n.stufe,name:`Systemplatte des Proxmox-Hosts`}),t[0]=n.anteil,t[1]=n.stufe,t[2]=a):a=t[2];let o;t[3]===n.anteil?o=t[4]:(o=Math.round(n.anteil*100),t[3]=n.anteil,t[4]=o);let s;t[5]===n.belegt?s=t[6]:(s=R(n.belegt),t[5]=n.belegt,t[6]=s);let c;t[7]===n.gesamt?c=t[8]:(c=R(n.gesamt),t[7]=n.gesamt,t[8]=c);let l;t[9]===n.frei?l=t[10]:(l=R(n.frei),t[9]=n.frei,t[10]=l);let u;t[11]!==o||t[12]!==s||t[13]!==c||t[14]!==l?(u=(0,G.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[o,` % · `,s,` von `,c,` · `,l,` frei`]}),t[11]=o,t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15];let d;t[16]===n.vorhersage?d=t[17]:(d=(0,G.jsx)(Z,{v:n.vorhersage}),t[16]=n.vorhersage,t[17]=d);let f;return t[18]!==r||t[19]!==i||t[20]!==a||t[21]!==u||t[22]!==d?(f=(0,G.jsxs)(Q,{titel:`Systemplatte`,unter:`Proxmox-Host: Kernel, Sicherungen vor Updates`,chip:r,chipText:i,children:[a,u,d]}),t[18]=r,t[19]=i,t[20]=a,t[21]=u,t[22]=d,t[23]=f):f=t[23],f}function Ue(e){let t=(0,W.c)(22),{n}=e,r=n.problem?n.stufe===`rot`?`gestört`:`unklar`:z[n.stufe],i=`NAS ${n.server??``}`,o;t[0]===i?o=t[1]:(o=i.trim(),t[0]=i,t[1]=o);let s;t[2]===n.art?s=t[3]:(s=n.art.toUpperCase(),t[2]=n.art,t[3]=s);let c=`${s} · ${n.quelle??`?`} → ${n.ziel}`,l=Y[n.stufe],u;t[4]!==n.anteil||t[5]!==n.belegt||t[6]!==n.gesamt||t[7]!==n.problem||t[8]!==n.server||t[9]!==n.stufe||t[10]!==n.vorhersage?(u=n.problem?(0,G.jsx)(`p`,{className:a(`text-sm`,n.stufe===`rot`?`text-rot-text`:`text-bernstein`),children:n.problem}):n.anteil!==null&&(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(X,{anteil:n.anteil,stufe:n.stufe,name:`NAS ${n.server??``}`}),(0,G.jsxs)(`p`,{className:`ziffern text-sm text-text-2`,children:[Math.round(n.anteil*100),` % · `,R(n.belegt),` von `,R(n.gesamt),` · `,R((n.gesamt??0)-(n.belegt??0)),` frei`]}),(0,G.jsx)(Z,{v:n.vorhersage})]}),t[4]=n.anteil,t[5]=n.belegt,t[6]=n.gesamt,t[7]=n.problem,t[8]=n.server,t[9]=n.stufe,t[10]=n.vorhersage,t[11]=u):u=t[11];let d=n.erreichbar===!1?`antwortet nicht`:`antwortet`,f=n.eingebunden?`auf dem Proxmox-Host eingebunden`:`nicht eingebunden`,p;t[12]!==d||t[13]!==f?(p=(0,G.jsxs)(`p`,{className:`text-xs text-text-3`,children:[d,` · `,f]}),t[12]=d,t[13]=f,t[14]=p):p=t[14];let m;return t[15]!==r||t[16]!==o||t[17]!==c||t[18]!==l||t[19]!==u||t[20]!==p?(m=(0,G.jsxs)(Q,{titel:o,unter:c,chip:l,chipText:r,children:[u,p]}),t[15]=r,t[16]=o,t[17]=c,t[18]=l,t[19]=u,t[20]=p,t[21]=m):m=t[21],m}function We(e){let t=(0,W.c)(25),{s:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={ok:`aktuell`,gelb:`Lücke`,rot:`gestört`,keine:`kein Auftrag`},t[0]=r):r=t[0];let i=r[n.stufe],a;t[1]===n?a=t[2]:(a=oe(n),t[1]=n,t[2]=a);let o=Y[n.stufe],s;t[3]===n.probleme?s=t[4]:(s=n.probleme.map(Ye),t[3]=n.probleme,t[4]=s);let c;t[5]!==n.erfasst||t[6]!==n.stufe||t[7]!==n.stufe_frische||t[8]!==n.zuletzt?(c=(n.stufe_frische??n.stufe)===`ok`&&(0,G.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Alle `,n.erfasst,` Geräte gesichert`,n.zuletzt?(0,G.jsxs)(G.Fragment,{children:[`, zuletzt `,(0,G.jsx)(`span`,{className:`ziffern`,children:Be(n.zuletzt)})]}):null,`.`]}),t[5]=n.erfasst,t[6]=n.stufe,t[7]=n.stufe_frische,t[8]=n.zuletzt,t[9]=c):c=t[9];let l;t[10]===n.ohne_auftrag?l=t[11]:(l=(n.ohne_auftrag?.length??0)>0&&(0,G.jsxs)(`p`,{className:`text-sm text-bernstein`,children:[`In keinem Sicherungsauftrag: `,n.ohne_auftrag.map(Je).join(`, `)]}),t[10]=n.ohne_auftrag,t[11]=l);let u;t[12]===n.fehlend?u=t[13]:(u=n.fehlend.length>0&&(0,G.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm`,children:n.fehlend.map(qe)}),t[12]=n.fehlend,t[13]=u);let d;t[14]===n.ziele?d=t[15]:(d=n.ziele.filter(Ke).map(Ge),t[14]=n.ziele,t[15]=d);let f;return t[16]!==i||t[17]!==a||t[18]!==o||t[19]!==s||t[20]!==c||t[21]!==l||t[22]!==u||t[23]!==d?(f=(0,G.jsxs)(Q,{titel:`Sicherungen`,unter:a,chip:o,chipText:i,children:[s,c,l,u,d]}),t[16]=i,t[17]=a,t[18]=o,t[19]=s,t[20]=c,t[21]=l,t[22]=u,t[23]=d,t[24]=f):f=t[24],f}function Ge(e){let t=ne(e.vorhersage);return(0,G.jsxs)(`p`,{className:a(`ziffern text-xs`,t?F[fe(e.vorhersage)]:`text-text-3`),children:[`Ziel `,e.speicher,`: `,Math.round((e.belegt??0)/(e.gesamt??1)*100),` % belegt`,t?` · ${t}`:e.vorhersage?.grund===`gleich`?` · gleichbleibend`:``,e.vorhersage?.quelle===`pbs`&&(t||e.vorhersage.grund===`gleich`)?` (Schätzung des PBS)`:``]},e.speicher)}function Ke(e){return e.gesamt}function qe(e){return(0,G.jsxs)(`li`,{className:`text-bernstein`,children:[e.name,`: `,e.zuletzt?(0,G.jsxs)(G.Fragment,{children:[`zuletzt `,(0,G.jsx)(`span`,{className:`ziffern`,children:Be(e.zuletzt)})]}):`noch nie gesichert`]},e.ziel)}function Je(e){return e.name}function Ye(e){return(0,G.jsx)(`p`,{className:`text-sm text-rot-text`,children:e},e)}function Xe(e){let t=(0,W.c)(53),{daten:n,laeuft:r,gesperrt:i,onAktion:a,snapshotsLink:s,onProbe:c,probeGesperrt:l}=e,u=r===void 0?null:r,d=i!==void 0&&i,[f,p]=(0,q.useState)(null),m;t[0]!==n.pools||t[1]!==n.systemplatte?.stufe?(m=n.pools.some(et)||(n.systemplatte?.stufe??`ok`)!==`ok`,t[0]=n.pools,t[1]=n.systemplatte?.stufe,t[2]=m):m=t[2];let h=m,g,_,v,y;if(t[3]!==n.empfehlungen||t[4]!==n.nas||t[5]!==n.pools||t[6]!==n.sicherungen||t[7]!==n.systemplatte||t[8]!==d||t[9]!==h||t[10]!==u||t[11]!==a||t[12]!==c||t[13]!==l||t[14]!==s){let e=n.empfehlungen.reduce($e,0);g=`flex flex-col gap-4`;let r;t[19]===n.pools?r=t[20]:(r=n.pools.map(Qe),t[19]=n.pools,t[20]=r);let i;t[21]===n.systemplatte?i=t[22]:(i=n.systemplatte&&(0,G.jsx)(He,{s:n.systemplatte}),t[21]=n.systemplatte,t[22]=i);let f;t[23]===n.nas?f=t[24]:(f=n.nas.length>0?n.nas.map(Ze):(0,G.jsx)(Q,{titel:`NAS`,chip:`grau`,chipText:`keins`,children:(0,G.jsx)(`p`,{className:`text-sm text-text-3`,children:`Auf dem Proxmox-Host ist kein Netzlaufwerk eingebunden.`})}),t[23]=n.nas,t[24]=f);let m;t[25]===n.sicherungen?m=t[26]:(m=(0,G.jsx)(We,{s:n.sicherungen}),t[25]=n.sicherungen,t[26]=m),t[27]!==f||t[28]!==m||t[29]!==r||t[30]!==i?(_=(0,G.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-2 2xl:grid-cols-4`,children:[r,i,f,m]}),t[27]=f,t[28]=m,t[29]=r,t[30]=i,t[31]=_):_=t[31],t[32]!==n.sicherungen||t[33]!==c||t[34]!==l?(v=(0,G.jsx)(Ie,{s:n.sicherungen,onProbe:c,probeGesperrt:l}),t[32]=n.sicherungen,t[33]=c,t[34]=l,t[35]=v):v=t[35],y=n.empfehlungen.length>0&&(0,G.jsxs)(`details`,{open:h,className:`flaeche-innen group rounded-2xl px-4 open:pb-3`,children:[(0,G.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[(0,G.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,G.jsx)(o,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Was Platz bringt`]}),(0,G.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[n.empfehlungen.length,` `,n.empfehlungen.length===1?`Vorschlag`:`Vorschläge`,e>0&&` · bis zu ${R(e)}`]})]}),(0,G.jsx)(`ol`,{className:`flex flex-col`,children:n.empfehlungen.map(e=>(0,G.jsx)(rt,{e,laeuft:u,gesperrt:d||!a,onFrage:p,verweis:e.art===`snapshot`?s:null},e.titel))})]}),t[3]=n.empfehlungen,t[4]=n.nas,t[5]=n.pools,t[6]=n.sicherungen,t[7]=n.systemplatte,t[8]=d,t[9]=h,t[10]=u,t[11]=a,t[12]=c,t[13]=l,t[14]=s,t[15]=g,t[16]=_,t[17]=v,t[18]=y}else g=t[15],_=t[16],v=t[17],y=t[18];let b=!!f,x=f?`Proxmox-Host: ${f.label}`:``,S=f?.frage??``,C=f?.label??``,w;t[36]!==f||t[37]!==a?(w=()=>{f&&a&&a(f),p(null)},t[36]=f,t[37]=a,t[38]=w):w=t[38];let T;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>p(null),t[39]=T):T=t[39];let E;t[40]!==d||t[41]!==S||t[42]!==C||t[43]!==w||t[44]!==b||t[45]!==x?(E=(0,G.jsx)(H,{offen:b,titel:x,text:S,knopf:C,gesperrt:d,onJa:w,onNein:T}),t[40]=d,t[41]=S,t[42]=C,t[43]=w,t[44]=b,t[45]=x,t[46]=E):E=t[46];let D;return t[47]!==E||t[48]!==g||t[49]!==_||t[50]!==v||t[51]!==y?(D=(0,G.jsxs)(`div`,{className:g,children:[_,v,y,E]}),t[47]=E,t[48]=g,t[49]=_,t[50]=v,t[51]=y,t[52]=D):D=t[52],D}function Ze(e){return(0,G.jsx)(Ue,{n:e},e.ziel)}function Qe(e){return(0,G.jsx)(Ve,{p:e},e.speicher)}function $e(e,t){return e+(t.platz??0)}function et(e){return e.stufe!==`ok`}var tt={pool:`Speicherpool`,systemplatte:`Systemplatte des Hosts`};function nt({text:e}){return e.split(/`([^`]+)`/).map((e,t)=>t%2==1?(0,G.jsx)(`code`,{className:`rounded-md bg-white/[0.07] px-1 font-mono text-[13px] text-foreground [font-variant-ligatures:none]`,children:e},t):e)}function rt(e){let t=(0,W.c)(24),{e:n,laeuft:r,gesperrt:i,onFrage:a,verweis:o}=e,s;t[0]===n.titel?s=t[1]:(s=(0,G.jsx)(`span`,{className:`text-[15px] font-medium break-words`,children:n.titel}),t[0]=n.titel,t[1]=s);let c;t[2]===n.platz?c=t[3]:(c=n.platz?`≈ ${R(n.platz)}`:`Größe unbekannt`,t[2]=n.platz,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,G.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:c}),t[4]=c,t[5]=l);let u;t[6]!==s||t[7]!==l?(u=(0,G.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[s,l]}),t[6]=s,t[7]=l,t[8]=u):u=t[8];let d;t[9]===n.ort?d=t[10]:(d=n.ort&&(0,G.jsx)(`span`,{className:`etikett text-[10.5px] tracking-[0.14em] text-text-3`,children:tt[n.ort]??n.ort}),t[9]=n.ort,t[10]=d);let f;t[11]===n.text?f=t[12]:(f=(0,G.jsx)(`p`,{className:`text-sm break-words text-text-2`,children:(0,G.jsx)(nt,{text:n.text})}),t[11]=n.text,t[12]=f);let p;t[13]!==n.aktion||t[14]!==i||t[15]!==r||t[16]!==a?(p=n.aktion&&(r?(0,G.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan-text`,children:[`Läuft: `,r]}):(0,G.jsx)(V,{variant:`outline`,size:`sm`,className:`mt-1 self-start`,disabled:i,onClick:()=>a(n.aktion),children:n.aktion.label})),t[13]=n.aktion,t[14]=i,t[15]=r,t[16]=a,t[17]=p):p=t[17];let m;return t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p||t[22]!==o?(m=(0,G.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-white/[0.06] py-3 first:border-t-0 first:pt-1`,children:[u,d,f,o,p]}),t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=o,t[23]=m):m=t[23],m}var it={snapshot:`Snapshot`,sicherung:`Sicherung`,keiner:`kein Rückweg`};function at(e){let t=(0,W.c)(24),{anzahl:n,gesperrt:r}=e,[i,a]=(0,q.useState)(!1),o=p(i),s=E(),c;t[0]===o.data?.schritte?c=t[1]:(c=o.data?.schritte??[],t[0]=o.data?.schritte,t[1]=c);let l=c,u=r||n===0||s.isPending,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=()=>a(!0),t[2]=d):d=t[2];let f=n>0?` (${n})`:``,m;t[3]!==u||t[4]!==f?(m=(0,G.jsxs)(V,{disabled:u,onClick:d,children:[`Alle aktualisieren`,f]}),t[3]=u,t[4]=f,t[5]=m):m=t[5];let h=l.length?`${l.length} Updates starten`:`Starten`,g=s.isPending||o.isPending||l.length===0,_;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>a(!1),t[6]=_):_=t[6];let v;t[7]!==i||t[8]!==s?(v=()=>{i&&(s.mutate(void 0),a(!1))},t[7]=i,t[8]=s,t[9]=v):v=t[9];let y;t[10]!==o.data||t[11]!==o.error||t[12]!==o.isPending||t[13]!==l?(y=o.isPending?(0,G.jsx)(`p`,{className:`text-sm text-text-2`,children:`Die Reihenfolge wird gelesen …`}):o.error?(0,G.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Der Plan lässt sich nicht lesen: `,o.error.message]}):(0,G.jsxs)(`div`,{className:`flex flex-col gap-2 pb-1`,children:[(0,G.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:l.map(ot)}),o.data?.hinweis&&(0,G.jsx)(`p`,{className:`text-xs text-bernstein`,children:o.data.hinweis})]}),t[10]=o.data,t[11]=o.error,t[12]=o.isPending,t[13]=l,t[14]=y):y=t[14];let b;t[15]!==i||t[16]!==y||t[17]!==h||t[18]!==g||t[19]!==v?(b=(0,G.jsx)(H,{offen:i,titel:`Alle Homelab-Updates einspielen?`,text:`Die Updates laufen nacheinander, jedes mit Rückweg und Prüfung. Ist eine Prüfung rot, geht dieser Schritt von selbst zurück und der Rest bleibt stehen. AdGuard und NPMplus kommen zuletzt, der Proxmox-Host ganz am Ende; neu gestartet wird er nicht.`,knopf:h,gesperrt:g,onNein:_,onJa:v,children:y}),t[15]=i,t[16]=y,t[17]=h,t[18]=g,t[19]=v,t[20]=b):b=t[20];let x;return t[21]!==b||t[22]!==m?(x=(0,G.jsxs)(G.Fragment,{children:[m,b]}),t[21]=b,t[22]=m,t[23]=x):x=t[23],x}function ot(e,t){return(0,G.jsxs)(`li`,{className:`grid grid-cols-[1.5rem_minmax(0,1fr)_auto] items-baseline gap-2 text-sm`,children:[(0,G.jsxs)(`span`,{className:`ziffern text-text-3`,children:[t+1,`.`]}),(0,G.jsxs)(`span`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`font-medium text-foreground`,children:e.name}),` `,(0,G.jsxs)(`span`,{className:`text-text-2`,children:[`· `,e.was]})]}),(0,G.jsx)(`span`,{className:a(`text-xs`,e.rueckweg_art===`keiner`?`text-bernstein`:`text-text-3`),children:it[e.rueckweg_art]})]},`${e.ziel}-${e.baustein}`)}var st={wartet:{Symbol:ye,farbe:`text-text-3`,text:`wartet`},laeuft:{Symbol:xe,farbe:`text-cyan-text`,text:`läuft`},eingespielt:{Symbol:k,farbe:`text-gruen`,text:`eingespielt`},zurueckgerollt:{Symbol:c,farbe:`text-bernstein`,text:`zurückgerollt`},fehler:{Symbol:s,farbe:`text-rot`,text:`Fehler`},uebersprungen:{Symbol:Ce,farbe:`text-text-3`,text:`übersprungen`}},ct={laeuft:{art:`cyan`,text:`läuft`},fertig:{art:`gruen`,text:`fertig`},abgebrochen:{art:`bernstein`,text:`abgebrochen`}};function lt(e){let t=(0,W.c)(33),{lauf:n,onQuittieren:r}=e,i;t[0]===n.schritte?i=t[1]:(i=n.schritte.filter(dt),t[0]=n.schritte,t[1]=i);let a=i.length,o=ct[n.status],s;t[2]!==a||t[3]!==n.schritte.length?(s=(0,G.jsxs)(`span`,{className:`text-[15px] font-semibold text-cyan-text`,children:[`Alle aktualisieren · `,a,` von `,n.schritte.length]}),t[2]=a,t[3]=n.schritte.length,t[4]=s):s=t[4];let c;t[5]===n.start?c=t[6]:(c=P(new Date(n.start*1e3).toISOString()),t[5]=n.start,t[6]=c);let l;t[7]===c?l=t[8]:(l=(0,G.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:c}),t[7]=c,t[8]=l);let u;t[9]!==o.art||t[10]!==o.text?(u=(0,G.jsx)(S,{art:o.art,children:o.text}),t[9]=o.art,t[10]=o.text,t[11]=u):u=t[11];let d;t[12]!==l||t[13]!==u?(d=(0,G.jsxs)(`span`,{className:`flex items-center gap-2`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14];let f;t[15]!==s||t[16]!==d?(f=(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[s,d]}),t[15]=s,t[16]=d,t[17]=f):f=t[17];let p=`${a/Math.max(1,n.schritte.length)*100}%`,m;t[18]===p?m=t[19]:(m=(0,G.jsx)(`div`,{className:`h-1.5 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,G.jsx)(`div`,{className:`h-full rounded-full bg-cyan shadow-[0_0_10px_var(--cyan)] transition-all`,style:{width:p}})}),t[18]=p,t[19]=m);let h;t[20]===n.schritte?h=t[21]:(h=n.schritte.map(ut),t[20]=n.schritte,t[21]=h);let g;t[22]===h?g=t[23]:(g=(0,G.jsx)(`ol`,{className:`m-0 grid list-none gap-x-6 gap-y-1.5 p-0 sm:grid-cols-2`,children:h}),t[22]=h,t[23]=g);let _;t[24]!==n.status||t[25]!==n.text||t[26]!==r?(_=(n.text||n.status!==`laeuft`&&r)&&(0,G.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[n.text&&(0,G.jsx)(`p`,{className:`text-sm text-text-2`,children:n.text}),n.status!==`laeuft`&&r&&(0,G.jsx)(V,{variant:`outline`,size:`sm`,className:`ml-auto`,onClick:r,children:`Ausblenden`})]}),t[24]=n.status,t[25]=n.text,t[26]=r,t[27]=_):_=t[27];let v;return t[28]!==g||t[29]!==_||t[30]!==f||t[31]!==m?(v=(0,G.jsxs)(`section`,{"aria-label":`Alle aktualisieren`,className:`flex flex-col gap-3 rounded-2xl bg-cyan/[0.06] p-4 ring-1 ring-cyan/30 ring-inset`,children:[f,m,g,_]}),t[28]=g,t[29]=_,t[30]=f,t[31]=m,t[32]=v):v=t[32],v}function ut(e){let t=st[e.status];return(0,G.jsxs)(`li`,{className:`flex items-start gap-2 text-sm`,children:[(0,G.jsx)(t.Symbol,{className:a(`mt-0.5 size-4 shrink-0`,t.farbe,e.status===`laeuft`&&`motion-safe:animate-spin`),"aria-hidden":!0}),(0,G.jsxs)(`span`,{className:`min-w-0`,children:[(0,G.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,G.jsxs)(`span`,{className:`text-text-3`,children:[`· `,e.was,` · `,t.text]}),e.text&&e.status!==`eingespielt`&&(0,G.jsx)(`span`,{className:`block text-xs text-text-3`,children:e.text})]})]},`${e.ziel}-${e.baustein}`)}function dt(e){return![`wartet`,`laeuft`].includes(e.status)}var ft=`md:grid-cols-[minmax(0,1.1fr)_minmax(0,1.3fr)_minmax(0,1fr)_minmax(0,0.9fr)_11.5rem]`;function pt(e){let t=(0,W.c)(26),{ziel:n,b:r}=e;if(!r){let e=n.art===`proxmox-host`?L(n)?.installiert:null,r;return t[0]===e?r=t[1]:(r=e?(0,G.jsxs)(`span`,{className:`ziffern text-sm`,children:[`PVE `,e]}):(0,G.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e,t[1]=r),r}let i;t[2]===r.installiert?i=t[3]:(i=r.installiert?ee(r.installiert):`–`,t[2]=r.installiert,t[3]=i);let a=i,o=r.zustand===`aktuell`?`text-foreground`:`text-text-2`,s;t[4]!==a||t[5]!==o?(s=(0,G.jsx)(`span`,{className:o,children:a}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;t[7]!==r.verfuegbar||t[8]!==r.zustand?(c=r.zustand===`neu`&&r.verfuegbar&&(0,G.jsxs)(`span`,{className:`text-cyan-text`,children:[`→ `,r.verfuegbar]}),t[7]=r.verfuegbar,t[8]=r.zustand,t[9]=c):c=t[9];let l;t[10]===r.zustand?l=t[11]:(l=r.zustand===`aktuell`&&(0,G.jsx)(`span`,{className:`font-sans text-xs text-gruen-text`,children:`aktuell`}),t[10]=r.zustand,t[11]=l);let u;t[12]===r.zustand?u=t[13]:(u=r.zustand===`unbekannt`&&(0,G.jsx)(`span`,{className:`font-sans text-xs text-text-3`,children:`unklar`}),t[12]=r.zustand,t[13]=u);let d;t[14]!==s||t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,G.jsxs)(`span`,{className:`ziffern flex flex-wrap items-baseline gap-x-2 text-sm`,children:[s,c,l,u]}),t[14]=s,t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]!==r.aktion||t[20]!==r.grund||t[21]!==r.zustand?(f=r.zustand===`neu`&&!r.aktion&&r.grund&&(0,G.jsx)(`span`,{className:`text-xs text-text-3`,children:r.grund}),t[19]=r.aktion,t[20]=r.grund,t[21]=r.zustand,t[22]=f):f=t[22];let p;return t[23]!==d||t[24]!==f?(p=(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[d,f]}),t[23]=d,t[24]=f,t[25]=p):p=t[25],p}function mt(e){let t=(0,W.c)(22),{b:n,onSuchen:r,gesperrt:i}=e;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(`span`,{className:`text-sm text-text-3`,children:`–`}),t[0]=e):e=t[0],e}let a=n.id===`docker`,o;if(n.zustand===`neu`){let e=n.kurz||`Update bereit`,r;t[1]===e?r=t[2]:(r=(0,G.jsx)(`span`,{className:`text-cyan-text`,children:e}),t[1]=e,t[2]=r),o=r}else if(n.zustand===`aktuell`){let e=a?`Images aktuell`:`aktuell`,n;t[3]===e?n=t[4]:(n=(0,G.jsx)(`span`,{className:`text-gruen-text`,children:e}),t[3]=e,t[4]=n),o=n}else{let e;t[5]===n.grund?e=t[6]:(e=j(n.grund),t[5]=n.grund,t[6]=e);let r=e,i=n.grund??void 0,s=a?`Images unklar`:`unklar`,c;t[7]===r?c=t[8]:(c=r&&(0,G.jsxs)(`span`,{className:`text-text-3`,children:[` · Listen vom `,r]}),t[7]=r,t[8]=c);let l;t[9]!==i||t[10]!==s||t[11]!==c?(l=(0,G.jsxs)(`span`,{className:`text-text-2`,title:i,children:[s,c]}),t[9]=i,t[10]=s,t[11]=c,t[12]=l):l=t[12],o=l}let s=n.zustand===`unbekannt`?n.aktion:null,c;t[13]===o?c=t[14]:(c=(0,G.jsx)(`span`,{className:`min-w-0`,children:o}),t[13]=o,t[14]=c);let u;t[15]!==i||t[16]!==r||t[17]!==s?(u=s&&(0,G.jsx)(V,{variant:`ghost`,size:`icon-sm`,className:`-my-2 shrink-0`,"aria-label":s.label,title:s.label,disabled:i,onClick:()=>r(s),children:(0,G.jsx)(l,{})}),t[15]=i,t[16]=r,t[17]=s,t[18]=u):u=t[18];let d;return t[19]!==c||t[20]!==u?(d=(0,G.jsxs)(`span`,{className:`flex items-center gap-1 text-sm`,children:[c,u]}),t[19]=c,t[20]=u,t[21]=d):d=t[21],d}var ht={app:`App updaten`,os:`Pakete einspielen`,pakete:`Pakete einspielen`};function gt(e){let t=(0,W.c)(62),{ziel:n,laeuft:r,gesperrt:i,onFrage:o}=e,s;t[0]===n?s=t[1]:(s=b(n),t[0]=n,t[1]=s);let c=s,l;t[2]===n?l=t[3]:(l=L(n),t[2]=n,t[3]=l);let u=l,d,f,p,m,h,g,v,x,S;if(t[4]!==c||t[5]!==i||t[6]!==r||t[7]!==o||t[8]!==u||t[9]!==n){let e=n.bausteine.filter(_t),s=_(n)>=2;g=`row`;let l=s&&`opacity-75`;t[19]===l?v=t[20]:(v=a(`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-white/[0.06] py-3.5 md:items-center`,ft,l),t[19]=l,t[20]=v);let b;t[21]===n?b=t[22]:(b=I(n),t[21]=n,t[22]=b);let C=e.length?`info`:null,T;t[23]!==b||t[24]!==C?(T=(0,G.jsx)(w,{bild:b,groesse:`sm`,punkt:C}),t[23]=b,t[24]=C,t[25]=T):T=t[25];let E;t[26]===n.name?E=t[27]:(E=(0,G.jsx)(`span`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[26]=n.name,t[27]=E);let O;t[28]===n?O=t[29]:(O=D(n)!==n.name&&(0,G.jsx)(`span`,{className:`text-[13px] text-text-3`,children:D(n)}),t[28]=n,t[29]=O);let k;t[30]!==E||t[31]!==O?(k=(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[E,O]}),t[30]=E,t[31]=O,t[32]=k):k=t[32],t[33]!==T||t[34]!==k?(x=(0,G.jsxs)(`div`,{role:`rowheader`,className:`flex min-w-0 items-center gap-3`,children:[T,k]}),t[33]=T,t[34]=k,t[35]=x):x=t[35];let A;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,G.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`App `}),t[36]=A):A=t[36],t[37]!==c||t[38]!==n?(S=(0,G.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[A,(0,G.jsx)(pt,{ziel:n,b:c})]}),t[37]=c,t[38]=n,t[39]=S):S=t[39];let j;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,G.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Pakete `}),t[40]=j):j=t[40];let M=i||!!r,N;t[41]!==o||t[42]!==n?(N=e=>o({ziel:n,aktion:e}),t[41]=o,t[42]=n,t[43]=N):N=t[43],t[44]!==u||t[45]!==M||t[46]!==N?(d=(0,G.jsxs)(`span`,{role:`cell`,className:`min-w-0`,children:[j,(0,G.jsx)(mt,{b:u,gesperrt:M,onSuchen:N})]}),t[44]=u,t[45]=M,t[46]=N,t[47]=d):d=t[47];let P=e.length?y(n):``;t[48]===P?f=t[49]:(f=(0,G.jsx)(`span`,{role:`cell`,className:`text-sm text-text-3`,children:P}),t[48]=P,t[49]=f),p=`cell`,m=`flex flex-wrap gap-2 md:flex-col md:items-stretch`,h=r?(0,G.jsxs)(`span`,{role:`status`,className:`text-sm text-cyan-text`,children:[`Läuft: `,r]}):e.map(e=>(0,G.jsx)(V,{variant:`outline`,size:`sm`,disabled:i,onClick:()=>e.aktion&&o({ziel:n,aktion:e.aktion}),children:ht[e.id]??e.aktion?.label??`Updaten`},e.id)),t[4]=c,t[5]=i,t[6]=r,t[7]=o,t[8]=u,t[9]=n,t[10]=d,t[11]=f,t[12]=p,t[13]=m,t[14]=h,t[15]=g,t[16]=v,t[17]=x,t[18]=S}else d=t[10],f=t[11],p=t[12],m=t[13],h=t[14],g=t[15],v=t[16],x=t[17],S=t[18];let C;t[50]!==p||t[51]!==m||t[52]!==h?(C=(0,G.jsx)(`span`,{role:p,className:m,children:h}),t[50]=p,t[51]=m,t[52]=h,t[53]=C):C=t[53];let T;return t[54]!==d||t[55]!==f||t[56]!==C||t[57]!==g||t[58]!==v||t[59]!==x||t[60]!==S?(T=(0,G.jsxs)(`div`,{role:g,className:v,children:[x,S,d,f,C]}),t[54]=d,t[55]=f,t[56]=C,t[57]=g,t[58]=v,t[59]=x,t[60]=S,t[61]=T):T=t[61],T}function _t(e){return e.zustand===`neu`&&e.aktion}function vt(e){let t=(0,W.c)(42),{ziele:n,laufend:r,gesperrt:i,onAktion:o}=e,[s,c]=(0,q.useState)(null),l,u,d,f,p,m;if(t[0]!==i||t[1]!==r||t[2]!==n){let e=[...n].sort(bt),o;t[9]===n?o=t[10]:(o=n.filter(yt),t[9]=n,t[10]=o),l=o.length,u=`table`,d=`Updates je Gerät`,f=`flex flex-col`,t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,G.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,ft),children:[(0,G.jsx)(`span`,{role:`columnheader`,children:`Gerät`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`App`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Pakete`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Rückweg`}),(0,G.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),t[11]=p):p=t[11];let s;t[12]!==i||t[13]!==r?(s=e=>(0,G.jsx)(gt,{ziel:e,laeuft:r.get(e.id)??null,gesperrt:i||r.has(e.id),onFrage:c},e.id),t[12]=i,t[13]=r,t[14]=s):s=t[14],m=e.map(s),t[0]=i,t[1]=r,t[2]=n,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p,t[8]=m}else l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8];let h;t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,G.jsxs)(`div`,{role:u,"aria-label":d,className:f,children:[p,m]}),t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20];let g;t[21]!==l||t[22]!==n.length?(g=l>0&&l===n.length&&(0,G.jsx)(S,{art:`gruen`,children:`Alles aktuell`}),t[21]=l,t[22]=n.length,t[23]=g):g=t[23];let _=!!s,v=s?`${s.ziel.name}: ${s.aktion.label}`:``,y=s?.aktion.frage??``,b=s?.aktion.label??``,x;t[24]===s?.aktion.pfad?x=t[25]:(x=s?.aktion.pfad.endsWith(`/neustart`),t[24]=s?.aktion.pfad,t[25]=x);let C=!!x,w;t[26]!==s||t[27]!==o?(w=()=>{s&&o(s.aktion),c(null)},t[26]=s,t[27]=o,t[28]=w):w=t[28];let T;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(T=()=>c(null),t[29]=T):T=t[29];let E;t[30]!==i||t[31]!==y||t[32]!==b||t[33]!==C||t[34]!==w||t[35]!==_||t[36]!==v?(E=(0,G.jsx)(H,{offen:_,titel:v,text:y,knopf:b,gefahr:C,gesperrt:i,onJa:w,onNein:T}),t[30]=i,t[31]=y,t[32]=b,t[33]=C,t[34]=w,t[35]=_,t[36]=v,t[37]=E):E=t[37];let D;return t[38]!==E||t[39]!==h||t[40]!==g?(D=(0,G.jsxs)(G.Fragment,{children:[h,g,E]}),t[38]=E,t[39]=h,t[40]=g,t[41]=D):D=t[41],D}function yt(e){return _(e)===3}function bt(e,t){return _(e)-_(t)}var xt=`md:grid-cols-[minmax(0,1.6fr)_minmax(0,1fr)_minmax(0,1.4fr)]`,St={ok:`bg-gruen`,gelb:`bg-bernstein`,rot:`bg-rot shadow-[0_0_8px_var(--rot)]`},Ct={ok:`text-text-3`,gelb:`text-bernstein`,rot:`text-rot-text`},wt=e=>P(new Date(e*1e3).toISOString()).toLowerCase();function Tt(e){if(e<=0)return`abgelaufen`;if(e<86400)return`noch ${Math.max(1,Math.round(e/3600))} Std.`;let t=Math.round(e/86400);return t<60?`noch ${t} ${t===1?`Tag`:`Tage`}`:t<730?`noch ${Math.round(t/30)} Monate`:`noch ${Math.round(t/365)} Jahre`}function Et(e){let t=(0,W.c)(40),{z:n}=e,r=n.namen.length>1?` und ${n.namen.length-1} weitere`:``,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=a(`grid grid-cols-2 gap-x-4 gap-y-1 border-t border-white/[0.06] py-3 md:items-center`,xt),t[0]=i):i=t[0];let o=St[n.stufe],s;t[1]===o?s=t[2]:(s=a(`mt-1.5 size-2 shrink-0 rounded-full`,o),t[1]=o,t[2]=s);let c;t[3]===s?c=t[4]:(c=(0,G.jsx)(`span`,{"aria-hidden":!0,className:s}),t[3]=s,t[4]=c);let l;t[5]!==r||t[6]!==n.name?(l=(0,G.jsxs)(`span`,{className:`text-[15px] font-semibold break-all`,children:[n.name,r]}),t[5]=r,t[6]=n.name,t[7]=l):l=t[7];let u;t[8]!==n.aussteller||t[9]!==n.wo?(u=[n.wo,n.aussteller].filter(Boolean),t[8]=n.aussteller,t[9]=n.wo,t[10]=u):u=t[10];let d=u.join(` · `),f;t[11]===d?f=t[12]:(f=(0,G.jsx)(`span`,{className:`text-[13px] text-text-3`,children:d}),t[11]=d,t[12]=f);let p;t[13]!==l||t[14]!==f?(p=(0,G.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[l,f]}),t[13]=l,t[14]=f,t[15]=p):p=t[15];let m;t[16]!==c||t[17]!==p?(m=(0,G.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-start gap-2.5 md:col-span-1`,children:[c,p]}),t[16]=c,t[17]=p,t[18]=m):m=t[18];let h;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,G.jsx)(`span`,{className:`text-xs text-text-3 md:hidden`,children:`Gültig bis `}),t[19]=h):h=t[19];let g;t[20]===n.bis?g=t[21]:(g=wt(n.bis),t[20]=n.bis,t[21]=g);let _;t[22]===g?_=t[23]:(_=(0,G.jsx)(`span`,{className:`ziffern`,children:g}),t[22]=g,t[23]=_);let v;t[24]===n.rest_s?v=t[25]:(v=Tt(n.rest_s),t[24]=n.rest_s,t[25]=v);let y;t[26]===v?y=t[27]:(y=(0,G.jsx)(`span`,{className:`block text-xs text-text-3`,children:v}),t[26]=v,t[27]=y);let b;t[28]!==_||t[29]!==y?(b=(0,G.jsxs)(`span`,{role:`cell`,className:`text-sm text-text-2`,children:[h,_,y]}),t[28]=_,t[29]=y,t[30]=b):b=t[30];let x=Ct[n.stufe],S;t[31]===x?S=t[32]:(S=a(`text-sm`,x),t[31]=x,t[32]=S);let C=n.problem??`in Ordnung`,w;t[33]!==S||t[34]!==C?(w=(0,G.jsx)(`span`,{role:`cell`,className:S,children:C}),t[33]=S,t[34]=C,t[35]=w):w=t[35];let T;return t[36]!==m||t[37]!==b||t[38]!==w?(T=(0,G.jsxs)(`div`,{role:`row`,className:i,children:[m,b,w]}),t[36]=m,t[37]=b,t[38]=w,t[39]=T):T=t[39],T}function Dt(e){let t=(0,W.c)(37),{daten:n}=e,r=n.zertifikate;if(!n.gelesen||r.length===0)return null;let i,s,c,l,u,d,f,p,m;if(t[0]!==r){s=r.filter(jt),i=r.some(At),p=s.length>0,m=`flaeche-innen group rounded-2xl px-4 open:pb-3`,d=`flex min-h-12 cursor-pointer list-none flex-wrap items-center justify-between gap-x-3 gap-y-1 py-2 [&::-webkit-details-marker]:hidden`;let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(o,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[10]=e):e=t[10],t[11]===r.length?f=t[12]:(f=(0,G.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[e,r.length,` Zertifikate`]}),t[11]=r.length,t[12]=f),c=a,l=`text-sm`,u=s.length?Ct[s.some(kt)?`rot`:`gelb`]:`text-text-2`,t[0]=r,t[1]=i,t[2]=s,t[3]=c,t[4]=l,t[5]=u,t[6]=d,t[7]=f,t[8]=p,t[9]=m}else i=t[1],s=t[2],c=t[3],l=t[4],u=t[5],d=t[6],f=t[7],p=t[8],m=t[9];let h;t[13]!==c||t[14]!==l||t[15]!==u?(h=c(l,u),t[13]=c,t[14]=l,t[15]=u,t[16]=h):h=t[16];let g=s.length?`${s.length} mit Problem`:`alle gültig`,_;t[17]!==h||t[18]!==g?(_=(0,G.jsx)(`span`,{className:h,children:g}),t[17]=h,t[18]=g,t[19]=_):_=t[19];let v;t[20]!==_||t[21]!==d||t[22]!==f?(v=(0,G.jsxs)(`summary`,{className:d,children:[f,_]}),t[20]=_,t[21]=d,t[22]=f,t[23]=v):v=t[23];let y;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,G.jsxs)(`div`,{role:`row`,className:a(`etikett hidden gap-x-4 pt-1 pb-2.5 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,xt),children:[(0,G.jsx)(`span`,{role:`columnheader`,children:`Für`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Gültig bis`}),(0,G.jsx)(`span`,{role:`columnheader`,children:`Zustand`})]}),t[24]=y):y=t[24];let b;t[25]===r?b=t[26]:(b=r.map(Ot),t[25]=r,t[26]=b);let x;t[27]===b?x=t[28]:(x=(0,G.jsxs)(`div`,{role:`table`,"aria-label":`Zertifikate`,className:`flex flex-col`,children:[y,b]}),t[27]=b,t[28]=x);let S;t[29]===i?S=t[30]:(S=i&&(0,G.jsx)(`p`,{className:`m-0 border-t border-white/[0.06] pt-3 text-sm text-text-3`,children:`Die Zertifikate von NPMplus gelten nur knapp eine Woche und werden laufend erneuert — gemeldet wird erst, wenn eine Erneuerung ausbleibt.`}),t[29]=i,t[30]=S);let C;return t[31]!==v||t[32]!==x||t[33]!==S||t[34]!==p||t[35]!==m?(C=(0,G.jsxs)(`details`,{open:p,className:m,children:[v,x,S]}),t[31]=v,t[32]=x,t[33]=S,t[34]=p,t[35]=m,t[36]=C):C=t[36],C}function Ot(e){return(0,G.jsx)(Et,{z:e},`${e.quelle}-${e.datei}-${e.name}`)}function kt(e){return e.stufe===`rot`}function At(e){return e.quelle===`npm`&&e.laufzeit_s!==null&&e.laufzeit_s<2592e3}function jt(e){return e.stufe!==`ok`}var Mt=[`Proxmox-Host`,`AdGuard`,`NPMplus`,`NetBird`,`PVE Scripts Local`,`Gitea`,`PBS`,`Arcane mit Docker`],Nt={eingespielt:{art:`gruen`,text:`eingespielt`},zurueckgerollt:{art:`bernstein`,text:`zurückgerollt`},fehler:{art:`rot`,text:`Fehler`},neustart:{art:`cyan`,text:`Neustart`},aufgeraeumt:{art:`gruen`,text:`aufgeräumt`},offen:{art:`cyan`,text:`Probelauf`}},$=e=>P(new Date(e*1e3).toISOString());function Pt(){let e=(0,W.c)(4),t,n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,G.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Homelab-Teil läuft als eigene Instanz in einem kleinen Container auf dem Proxmox-PC. Von dort prüft er auch die KI-Box von außen.`}),n=(0,G.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Steht er, erscheinen hier alle Geräte mit ihren offenen Updates. Ein Update startest du mit „Jetzt updaten“: Vorher wird gesichert, danach die Erreichbarkeit geprüft, und ist sie rot, geht es von selbst zurück.`}),e[0]=t,e[1]=n):(t=e[0],n=e[1]);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,G.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-3`,children:`Dazu kommen`}),e[2]=r):r=e[2];let i;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,G.jsxs)(G.Fragment,{children:[t,n,(0,G.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[r,(0,G.jsx)(`ul`,{className:`flex flex-wrap gap-2`,children:Mt.map(Ft)})]}),(0,G.jsx)(`p`,{className:`text-sm text-text-3`,children:`Der Container wird erst nach deiner Freigabe angelegt.`})]}),e[3]=i):i=e[3],i}function Ft(e){return(0,G.jsx)(`li`,{children:(0,G.jsx)(S,{children:e})},e)}function It(e){let t=(0,W.c)(9),{partner:n}=e,r;t[0]===n.eingerichtet?r=t[1]:(r=n.eingerichtet?(0,G.jsx)(S,{art:`rot`,children:`Antwortet nicht`}):(0,G.jsx)(S,{children:`Noch nicht eingerichtet`}),t[0]=n.eingerichtet,t[1]=r);let i=r,a;t[2]!==n.eingerichtet||t[3]!==n.fehler||t[4]!==n.url?(a=n.eingerichtet?(0,G.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Homelab-Teil (`,n.url,`) ist `,n.fehler??`nicht erreichbar`,`. Hält das an, meldet der Wächter es nach fünf Minuten auf Telegram.`]}):(0,G.jsx)(Pt,{}),t[2]=n.eingerichtet,t[3]=n.fehler,t[4]=n.url,t[5]=a):a=t[5];let o;return t[6]!==i||t[7]!==a?(o=(0,G.jsx)(U,{titel:`Homelab`,rechts:i,children:a}),t[6]=i,t[7]=a,t[8]=o):o=t[8],o}function Lt(e){let t=(0,W.c)(10),{hinweise:n}=e,r=n.some(zt)?`rot`:`bernstein`,i;t[0]!==n.length||t[1]!==r?(i=(0,G.jsxs)(S,{art:r,children:[n.length,` offen`]}),t[0]=n.length,t[1]=r,t[2]=i):i=t[2];let a;t[3]===n?a=t[4]:(a=n.map(Rt),t[3]=n,t[4]=a);let o;t[5]===a?o=t[6]:(o=(0,G.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:a}),t[5]=a,t[6]=o);let s;return t[7]!==i||t[8]!==o?(s=(0,G.jsx)(U,{titel:`Hinweise`,id:`hinweise`,rechts:i,children:o}),t[7]=i,t[8]=o,t[9]=s):s=t[9],s}function Rt(e){return(0,G.jsxs)(`li`,{className:`flex flex-col gap-1 border-t border-white/[0.06] py-3 first:border-t-0 first:pt-0`,children:[(0,G.jsx)(`span`,{className:e.stufe===`rot`?`text-[15px] font-medium text-rot-text`:`text-[15px] font-medium text-bernstein`,children:e.titel}),(0,G.jsx)(`span`,{className:`text-sm text-text-2`,children:e.text})]},e.id)}function zt(e){return e.stufe===`rot`}function Bt(e){let t=(0,W.c)(8),{laeufe:n}=e,r,i,a;if(t[0]!==n){a=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.filter(Ht).slice(0,12);if(e.length===0){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch kein Update im Homelab eingespielt.`}),t[4]=e):e=t[4],a=e;break bb0}r=`@container m-0 flex list-none flex-col p-0`,i=e.map(Vt)}t[0]=n,t[1]=r,t[2]=i,t[3]=a}else r=t[1],i=t[2],a=t[3];if(a!==Symbol.for(`react.early_return_sentinel`))return a;let o;return t[5]!==r||t[6]!==i?(o=(0,G.jsx)(`ol`,{className:r,children:i}),t[5]=r,t[6]=i,t[7]=o):o=t[7],o}function Vt(e){let t=e.ergebnis?Nt[e.ergebnis]??{art:`grau`,text:e.ergebnis}:{art:`grau`,text:`unterbrochen`};return(0,G.jsxs)(`li`,{className:`flex flex-col gap-1.5 border-t border-white/[0.06] py-3 first:border-t-0 first:pt-0`,children:[(0,G.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[(0,G.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:$(e.start)}),(0,G.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:e.name}),(0,G.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,G.jsx)(S,{art:t.art,children:t.text})})]}),e.text&&(0,G.jsx)(`p`,{className:`m-0 text-sm text-text-2 @sm:pl-[124px]`,children:e.text})]},e.id)}function Ht(e){return e.status!==`laeuft`&&!ce(e)}function Ut(e){let t=(0,W.c)(9),{stand:n}=e;if(!n.ausfuehrer.verbunden){let e;t[0]===n.ausfuehrer.zuletzt?e=t[1]:(e=n.ausfuehrer.zuletzt?` (zuletzt ${$(n.ausfuehrer.zuletzt)})`:``,t[0]=n.ausfuehrer.zuletzt,t[1]=e);let r;return t[2]===e?r=t[3]:(r=(0,G.jsxs)(`p`,{role:`alert`,className:`rounded-2xl bg-bernstein/[0.08] px-4 py-3 text-[15px] text-bernstein ring-1 ring-bernstein/35 ring-inset`,children:[`Der Ausführer auf dem Proxmox-Host meldet sich nicht`,e,`. Die Geräte zeigen den letzten bekannten Stand; Updates starten erst, wenn er wieder da ist.`]}),t[2]=e,t[3]=r),r}if(!n.bericht){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Ausführer hat noch keinen Bericht geschickt.`}),t[4]=e):e=t[4],e}if(n.bericht.veraltet){let e;t[5]===n.bericht.empfangen?e=t[6]:(e=$(n.bericht.empfangen),t[5]=n.bericht.empfangen,t[6]=e);let r;return t[7]===e?r=t[8]:(r=(0,G.jsxs)(`p`,{className:`text-[15px] text-bernstein`,children:[`Der letzte Bericht ist von `,e,`; die Angaben können veraltet sein.`]}),t[7]=e,t[8]=r),r}return null}function Wt(){let e=(0,W.c)(20),t=re(),n=T(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=le(r),a=se(r),o=ie(r),s=v(),c=null;if(t.isPending||n.isPending){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,G.jsx)(C,{text:`Wird gelesen …`}),e[0]=t):t=e[0],c=t}else if(!r){let t;e[1]!==n.data||e[2]!==n.error?.message?(t=n.data?(0,G.jsx)(It,{partner:n.data}):(0,G.jsx)(C,{fehler:!0,text:`Der Partner lässt sich nicht abfragen: ${n.error?.message??`keine Daten`}`}),e[1]=n.data,e[2]=n.error?.message,e[3]=t):t=e[3],c=t}else if(i.isPending){let t;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,G.jsx)(C,{text:`Der Homelab-Teil meldet sich gleich …`}),e[4]=t):t=e[4],c=t}else if(!i.data){let t=`Der Homelab-Teil antwortet nicht: ${i.error?.message??`keine Daten`}`,n;e[5]===t?n=e[6]:(n=(0,G.jsx)(C,{fehler:!0,text:t}),e[5]=t,e[6]=n),c=n}let l;if(e[7]!==a.data?.laeufe){l=new Map;for(let e of a.data?.laeufe??[])e.status===`laeuft`&&l.set(e.ziel,e.schritte.at(-1)??`startet …`);e[7]=a.data?.laeufe,e[8]=l}else l=e[8];let u;e[9]===a.data?.laeufe?u=e[10]:(u=a.data?.laeufe??[],e[9]=a.data?.laeufe,e[10]=u);let d;e[11]===o.data?.hinweise?d=e[12]:(d=o.data?.hinweise??[],e[11]=o.data?.hinweise,e[12]=d);let f;return e[13]!==s||e[14]!==c||e[15]!==i.data||e[16]!==l||e[17]!==u||e[18]!==d?(f={ersatz:c,stand:i.data,laufend:l,laeufe:u,hinweise:d,aktion:s},e[13]=s,e[14]=c,e[15]=i.data,e[16]=l,e[17]=u,e[18]=d,e[19]=f):f=e[19],f}function Gt(){let e=(0,W.c)(52),t=f(),{ersatz:n,stand:r,laufend:i,laeufe:a,hinweise:o,aktion:s}=Wt(),c=ae(`1h`,!!r),l=te(!!r),u=de(!!r),p=he();if(n||!r)return n;let m,h,g;if(e[0]!==o||e[1]!==a||e[2]!==r){m=r.bericht?$(r.bericht.empfangen):null;let t;e[6]===a?t=e[7]:(t=new Set(a.filter(qt).map(Kt)),e[6]=a,e[7]=t),h=t,g=M(r,o,h.size,m),e[0]=o,e[1]=a,e[2]=r,e[3]=m,e[4]=h,e[5]=g}else m=e[3],h=e[4],g=e[5];let _=g,v;e[8]!==_.ziel||e[9]!==t?(v=()=>{_.ziel===`updates`?t({to:`/homelab/updates`}):_.ziel&&document.getElementById(_.ziel)?.scrollIntoView({behavior:`smooth`,block:`start`})},e[8]=_.ziel,e[9]=t,e[10]=v):v=e[10];let y;e[11]===t?y=e[12]:(y=(e,n)=>{n?t({to:`/homelab/updates`}):document.getElementById(`geraet-${e.id}`)?.scrollIntoView({behavior:`smooth`,block:`center`})},e[11]=t,e[12]=y);let b;e[13]!==h||e[14]!==_||e[15]!==r.ziele||e[16]!==v||e[17]!==y?(b=(0,G.jsx)(je,{lage:_,ziele:r.ziele,imUpdate:h,onAnsehen:v,onGeraet:y}),e[13]=h,e[14]=_,e[15]=r.ziele,e[16]=v,e[17]=y,e[18]=b):b=e[18];let x;e[19]===r?x=e[20]:(x=(0,G.jsx)(Ut,{stand:r}),e[19]=r,e[20]=x);let S;e[21]===o?S=e[22]:(S=o.length>0&&(0,G.jsx)(Lt,{hinweise:o}),e[21]=o,e[22]=S);let C;e[23]===m?C=e[24]:(C=m&&(0,G.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`Stand `,m]}),e[23]=m,e[24]=C);let w;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,G.jsxs)(A,{to:`/homelab/monitoring`,className:`inline-flex items-center gap-1 text-sm text-lab-text hover:underline`,children:[`Monitoring `,(0,G.jsx)(d,{className:`size-3.5`,"aria-hidden":!0})]}),e[25]=w):w=e[25];let T;e[26]===C?T=e[27]:(T=(0,G.jsxs)(`span`,{className:`flex items-center gap-3`,children:[C,w]}),e[26]=C,e[27]=T);let E=c.data?.geraete,D;e[28]!==r.ziele||e[29]!==E?(D=(0,G.jsx)(De,{ziele:r.ziele,messwerte:E}),e[28]=r.ziele,e[29]=E,e[30]=D):D=e[30];let O;e[31]===c.isError?O=e[32]:(O=c.isError&&(0,G.jsx)(`p`,{className:`text-xs text-text-3`,children:`CPU und Speicher erscheinen, sobald der Ausführer Messwerte schickt.`}),e[31]=c.isError,e[32]=O);let k;e[33]!==D||e[34]!==O||e[35]!==T?(k=(0,G.jsxs)(U,{titel:`Geräte`,id:`geraete`,rechts:T,children:[D,O]}),e[33]=D,e[34]=O,e[35]=T,e[36]=k):k=e[36];let j;e[37]!==s||e[38]!==i||e[39]!==p||e[40]!==l.data||e[41]!==r.ausfuehrer?(j=l.data?.bericht&&(0,G.jsx)(U,{titel:`Speicher und Sicherungen`,id:`speicher`,children:(0,G.jsx)(Xe,{daten:l.data,laeuft:i.get(`pve`)??null,gesperrt:s.isPending||i.has(`pve`)||!r.ausfuehrer.verbunden,onAktion:e=>s.mutate(e),onProbe:()=>p.mutate(void 0),probeGesperrt:p.isPending||!r.ausfuehrer.verbunden,snapshotsLink:(0,G.jsxs)(A,{to:`/homelab/snapshots`,className:`inline-flex min-h-10 items-center gap-1 self-start text-sm text-lab-text hover:underline`,children:[`Zu den Snapshots `,(0,G.jsx)(d,{className:`size-3.5`,"aria-hidden":!0})]})})}),e[37]=s,e[38]=i,e[39]=p,e[40]=l.data,e[41]=r.ausfuehrer,e[42]=j):j=e[42];let N;e[43]===u.data?N=e[44]:(N=u.data?.gelesen&&u.data.zertifikate.length>0&&(0,G.jsx)(U,{titel:`Zertifikate`,id:`zertifikate`,children:(0,G.jsx)(Dt,{daten:u.data})}),e[43]=u.data,e[44]=N);let P;return e[45]!==k||e[46]!==j||e[47]!==N||e[48]!==b||e[49]!==x||e[50]!==S?(P=(0,G.jsxs)(G.Fragment,{children:[b,x,S,k,j,N]}),e[45]=k,e[46]=j,e[47]=N,e[48]=b,e[49]=x,e[50]=S,e[51]=P):P=e[51],P}function Kt(e){return e.ziel}function qt(e){return e.status===`laeuft`&&!ce(e)}function Jt(){let e=(0,W.c)(30),{ersatz:t,stand:n,laufend:r,laeufe:i,aktion:a}=Wt(),o=g(!!n),s=x();if(t||!n)return t;let c=o.data?.sammellauf??null,l=c?.status===`laeuft`,u;e[0]===n.ziele?u=e[1]:(u=N(n.ziele).filter(Yt),e[0]=n.ziele,e[1]=u);let d=u.length,f=a.isPending||l||!n.ausfuehrer.verbunden,p;e[2]!==d||e[3]!==f?(p=(0,G.jsx)(at,{anzahl:d,gesperrt:f}),e[2]=d,e[3]=f,e[4]=p):p=e[4];let m;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,G.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Je Gerät, was läuft und was neu ist. Du startest jedes Update selbst — einzeln oder alle nacheinander. Vorher wird gesichert, danach geprüft; ist die Prüfung rot, geht es von selbst zurück.`}),e[5]=m):m=e[5];let h;e[6]===n?h=e[7]:(h=(0,G.jsx)(Ut,{stand:n}),e[6]=n,e[7]=h);let _;e[8]!==c||e[9]!==s||e[10]!==l||e[11]!==n.bericht?.empfangen?(_=c&&(l||c.ende&&(n.bericht?.empfangen??0)-c.ende<21600)&&(0,G.jsx)(lt,{lauf:c,onQuittieren:()=>s.mutate(c.id)}),e[8]=c,e[9]=s,e[10]=l,e[11]=n.bericht?.empfangen,e[12]=_):_=e[12];let v=a.isPending||l||!n.ausfuehrer.verbunden,y;e[13]===a?y=e[14]:(y=e=>a.mutate(e),e[13]=a,e[14]=y);let b;e[15]!==r||e[16]!==n.ziele||e[17]!==v||e[18]!==y?(b=(0,G.jsx)(vt,{ziele:n.ziele,laufend:r,gesperrt:v,onAktion:y}),e[15]=r,e[16]=n.ziele,e[17]=v,e[18]=y,e[19]=b):b=e[19];let S;e[20]!==p||e[21]!==h||e[22]!==_||e[23]!==b?(S=(0,G.jsxs)(U,{titel:`Updates`,rechts:p,children:[m,h,_,b]}),e[20]=p,e[21]=h,e[22]=_,e[23]=b,e[24]=S):S=e[24];let C;e[25]===i?C=e[26]:(C=(0,G.jsx)(U,{titel:`Verlauf`,children:(0,G.jsx)(Bt,{laeufe:i})}),e[25]=i,e[26]=C);let w;return e[27]!==C||e[28]!==S?(w=(0,G.jsxs)(G.Fragment,{children:[S,C]}),e[27]=C,e[28]=S,e[29]=w):w=e[29],w}function Yt(e){return e.baustein.aktion}export{Gt as HomelabSeite,Jt as HomelabUpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/HomelabProtokoll-B--cXVlt.js b/frontend/dist/assets/HomelabProtokoll-DQpZ9qvE.js similarity index 87% rename from frontend/dist/assets/HomelabProtokoll-B--cXVlt.js rename to frontend/dist/assets/HomelabProtokoll-DQpZ9qvE.js index da54f80..7904e60 100644 --- a/frontend/dist/assets/HomelabProtokoll-B--cXVlt.js +++ b/frontend/dist/assets/HomelabProtokoll-DQpZ9qvE.js @@ -1 +1 @@ -import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{t as o}from"./chevron-right-DF8ikrVh.js";import{t as s}from"./search-RXhRizww.js";import{N as c,Ot as l,bn as u,bt as d,ht as f,ut as p,vn as m,yn as h}from"./index-CJ1jXWsM.js";import{t as g}from"./Panel-uT1S5ZGr.js";var _={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};_.node;var v=r(_),y={name:`cog`,size:24,node:[[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`circle`,{cx:`12`,cy:`12`,r:`8`,key:`46899m`}]]};y.node;var b=r(y),x=i(),S=t(e(),1),C=n(),w=[{id:`alle`,name:`Alles`},{id:`lauf`,name:`Updates`},{id:`snapshot`,name:`Snapshots`},{id:`auftrag`,name:`Ausführer`},{id:`hinweis`,name:`Hinweise`},{id:`meldung`,name:`Meldungen`},{id:`pflege`,name:`Pflege`}],T={auftrag:b,lauf:u,sammellauf:u,hinweis:m,meldung:v,pflege:s,snapshot:h},E={ok:{punkt:`bg-gruen`,text:`text-gruen-text`,wort:`ok`},info:{punkt:`bg-cyan`,text:`text-cyan-text`,wort:`Info`},warn:{punkt:`bg-bernstein`,text:`text-bernstein`,wort:`Warnung`},fehler:{punkt:`bg-rot`,text:`text-rot-text`,wort:`Fehler`}},D=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`}),O=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`}),k=new Intl.DateTimeFormat(`sv-SE`,{timeZone:`Europe/Berlin`});function A(e){let t=k.format(new Date),n=k.format(new Date(Date.now()-864e5)),r=k.format(new Date(e*1e3));return r===t?`Heute`:r===n?`Gestern`:D.format(new Date(e*1e3))}function j(e){let t=(0,x.c)(37),{e:n,geraet:r}=e,[i,s]=(0,S.useState)(!1),c=E[n.stufe]??E.info,l=T[n.art]??b,u;t[0]===n.zeit?u=t[1]:(u=O.format(new Date(n.zeit*1e3)),t[0]=n.zeit,t[1]=u);let d;t[2]===u?d=t[3]:(d=(0,C.jsx)(`span`,{className:`ziffern pt-0.5 text-xs text-text-3`,children:u}),t[2]=u,t[3]=d);let f;t[4]===c.punkt?f=t[5]:(f=a(`size-2.5 rounded-full`,c.punkt),t[4]=c.punkt,t[5]=f);let p;t[6]===f?p=t[7]:(p=(0,C.jsx)(`span`,{className:`flex flex-col items-center pt-1`,children:(0,C.jsx)(`span`,{"aria-hidden":!0,className:f})}),t[6]=f,t[7]=p);let m;t[8]===l?m=t[9]:(m=(0,C.jsx)(l,{className:`size-3.5 shrink-0 text-text-3`,"aria-hidden":!0}),t[8]=l,t[9]=m);let h=n.stufe===`fehler`||n.stufe===`warn`?c.text:`text-foreground`,g;t[10]===h?g=t[11]:(g=a(h),t[10]=h,t[11]=g);let _;t[12]!==n.titel||t[13]!==g?(_=(0,C.jsx)(`span`,{className:g,children:n.titel}),t[12]=n.titel,t[13]=g,t[14]=_):_=t[14];let v;t[15]===r?v=t[16]:(v=r&&(0,C.jsx)(`span`,{className:`rounded-md bg-lab-grund px-1.5 text-xs text-lab-text`,children:r}),t[15]=r,t[16]=v);let y;t[17]===c.wort?y=t[18]:(y=(0,C.jsxs)(`span`,{className:`sr-only`,children:[`(`,c.wort,`)`]}),t[17]=c.wort,t[18]=y);let w;t[19]!==y||t[20]!==m||t[21]!==_||t[22]!==v?(w=(0,C.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 text-[15px]`,children:[m,_,v,y]}),t[19]=y,t[20]=m,t[21]=_,t[22]=v,t[23]=w):w=t[23];let D;t[24]===n.text?D=t[25]:(D=n.text&&(0,C.jsx)(`span`,{className:`text-sm text-text-2`,children:n.text}),t[24]=n.text,t[25]=D);let k;t[26]!==n.details||t[27]!==i?(k=n.details&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`button`,{type:`button`,onClick:()=>s(!i),"aria-expanded":i,className:`inline-flex h-8 items-center gap-1 self-start text-xs text-cyan hover:underline`,children:[(0,C.jsx)(o,{className:a(`size-3.5 transition-transform`,i&&`rotate-90`),"aria-hidden":!0}),i?`Ausgabe verbergen`:`Ausgabe zeigen`]}),i&&(0,C.jsx)(`pre`,{className:`ziffern m-0 max-h-72 overflow-auto rounded-xl bg-black/30 ring-1 ring-white/[0.07] ring-inset p-2.5 text-xs whitespace-pre-wrap text-text-2`,children:n.details})]}),t[26]=n.details,t[27]=i,t[28]=k):k=t[28];let A;t[29]!==w||t[30]!==D||t[31]!==k?(A=(0,C.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[w,D,k]}),t[29]=w,t[30]=D,t[31]=k,t[32]=A):A=t[32];let j;return t[33]!==A||t[34]!==d||t[35]!==p?(j=(0,C.jsxs)(`li`,{className:`grid grid-cols-[64px_18px_minmax(0,1fr)] gap-x-3 border-t border-white/[0.06] py-2.5 first:border-t-0`,children:[d,p,A]}),t[33]=A,t[34]=d,t[35]=p,t[36]=j):j=t[36],j}function M(){let e=(0,x.c)(16),t=d(),n=l(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),[i,o]=(0,S.useState)(`alle`),[s,u]=(0,S.useState)(!1),m=f(r,s),h=new Map((p(r).data?.ziele??[]).map(N));if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(c,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(c,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}let _=(m.data?.eintraege??[]).filter(e=>i===`alle`||e.art===i||i===`lauf`&&e.art===`sammellauf`),v=[];for(let e of _){let t=A(e.zeit);v.at(-1)?.titel!==t&&v.push({titel:t,eintraege:[]}),v.at(-1).eintraege.push(e)}let y=g,b;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,C.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was der Homelab-Teil getan hat: Aufträge an den Ausführer auf dem Proxmox-Host, Update-Läufe, Snapshots, Hinweise, gesendete Meldungen und die nächtliche Paketsuche.`}),e[2]=b):b=e[2];let T;e[3]===i?T=e[4]:(T=w.map(e=>(0,C.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-pressed":i===e.id,className:a(`h-9 rounded-full border px-3.5 text-sm`,i===e.id?`border-lab-rand bg-lab-grund text-lab-text`:`border-white/10 text-text-2 hover:border-white/20 hover:text-foreground`),children:e.name},e.id)),e[3]=i,e[4]=T);let E;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>u(e.target.checked),e[5]=E):E=e[5];let D;e[6]===s?D=e[7]:(D=(0,C.jsxs)(`label`,{className:`ml-auto flex h-9 cursor-pointer items-center gap-2 text-sm text-text-2`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:s,onChange:E,className:`size-4 accent-[var(--lab)]`}),`Berichte zeigen (alle 10 min)`]}),e[6]=s,e[7]=D);let O;e[8]!==T||e[9]!==D?(O=(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,role:`group`,"aria-label":`Filter`,children:[T,D]}),e[8]=T,e[9]=D,e[10]=O):O=e[10];let k=m.isPending?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):m.isError?(0,C.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Protokoll lässt sich nicht lesen: `,m.error.message]}):v.length===0?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Dazu gibt es noch keine Einträge.`}):(0,C.jsx)(`div`,{className:a(`flex flex-col gap-5`,m.isFetching&&`opacity-80`),children:v.map(e=>(0,C.jsxs)(`section`,{"aria-label":e.titel,className:`flex flex-col gap-1`,children:[(0,C.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-lab-text`,children:e.titel}),(0,C.jsx)(`ol`,{className:`m-0 flex list-none flex-col p-0`,children:e.eintraege.map((e,t)=>{let n=e.ziel?h.get(e.ziel)??e.ziel:null;return(0,C.jsx)(j,{e,geraet:n&&!e.titel.includes(n)?n:null},`${e.zeit}-${e.titel}-${t}`)})})]},e.titel))}),M;return e[11]!==y||e[12]!==b||e[13]!==O||e[14]!==k?(M=(0,C.jsxs)(y,{titel:`Protokoll`,children:[b,O,k]}),e[11]=y,e[12]=b,e[13]=O,e[14]=k,e[15]=M):M=e[15],M}function N(e){return[e.id,e.name]}export{M as HomelabProtokollSeite}; \ No newline at end of file +import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{t as o}from"./chevron-right-DF8ikrVh.js";import{t as s}from"./search-RXhRizww.js";import{Cn as c,N as l,Sn as u,gt as d,jt as f,ut as p,xn as m,xt as h}from"./index-CiJU28k0.js";import{t as g}from"./Panel-uT1S5ZGr.js";var _={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};_.node;var v=r(_),y={name:`cog`,size:24,node:[[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}],[`circle`,{cx:`12`,cy:`12`,r:`8`,key:`46899m`}]]};y.node;var b=r(y),x=i(),S=t(e(),1),C=n(),w=[{id:`alle`,name:`Alles`},{id:`lauf`,name:`Updates`},{id:`snapshot`,name:`Snapshots`},{id:`auftrag`,name:`Ausführer`},{id:`hinweis`,name:`Hinweise`},{id:`meldung`,name:`Meldungen`},{id:`pflege`,name:`Pflege`}],T={auftrag:b,lauf:c,sammellauf:c,hinweis:m,meldung:v,pflege:s,snapshot:u},E={ok:{punkt:`bg-gruen`,text:`text-gruen-text`,wort:`ok`},info:{punkt:`bg-cyan`,text:`text-cyan-text`,wort:`Info`},warn:{punkt:`bg-bernstein`,text:`text-bernstein`,wort:`Warnung`},fehler:{punkt:`bg-rot`,text:`text-rot-text`,wort:`Fehler`}},D=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`}),O=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,timeZone:`Europe/Berlin`}),k=new Intl.DateTimeFormat(`sv-SE`,{timeZone:`Europe/Berlin`});function A(e){let t=k.format(new Date),n=k.format(new Date(Date.now()-864e5)),r=k.format(new Date(e*1e3));return r===t?`Heute`:r===n?`Gestern`:D.format(new Date(e*1e3))}function j(e){let t=(0,x.c)(37),{e:n,geraet:r}=e,[i,s]=(0,S.useState)(!1),c=E[n.stufe]??E.info,l=T[n.art]??b,u;t[0]===n.zeit?u=t[1]:(u=O.format(new Date(n.zeit*1e3)),t[0]=n.zeit,t[1]=u);let d;t[2]===u?d=t[3]:(d=(0,C.jsx)(`span`,{className:`ziffern pt-0.5 text-xs text-text-3`,children:u}),t[2]=u,t[3]=d);let f;t[4]===c.punkt?f=t[5]:(f=a(`size-2.5 rounded-full`,c.punkt),t[4]=c.punkt,t[5]=f);let p;t[6]===f?p=t[7]:(p=(0,C.jsx)(`span`,{className:`flex flex-col items-center pt-1`,children:(0,C.jsx)(`span`,{"aria-hidden":!0,className:f})}),t[6]=f,t[7]=p);let m;t[8]===l?m=t[9]:(m=(0,C.jsx)(l,{className:`size-3.5 shrink-0 text-text-3`,"aria-hidden":!0}),t[8]=l,t[9]=m);let h=n.stufe===`fehler`||n.stufe===`warn`?c.text:`text-foreground`,g;t[10]===h?g=t[11]:(g=a(h),t[10]=h,t[11]=g);let _;t[12]!==n.titel||t[13]!==g?(_=(0,C.jsx)(`span`,{className:g,children:n.titel}),t[12]=n.titel,t[13]=g,t[14]=_):_=t[14];let v;t[15]===r?v=t[16]:(v=r&&(0,C.jsx)(`span`,{className:`rounded-md bg-lab-grund px-1.5 text-xs text-lab-text`,children:r}),t[15]=r,t[16]=v);let y;t[17]===c.wort?y=t[18]:(y=(0,C.jsxs)(`span`,{className:`sr-only`,children:[`(`,c.wort,`)`]}),t[17]=c.wort,t[18]=y);let w;t[19]!==y||t[20]!==m||t[21]!==_||t[22]!==v?(w=(0,C.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 text-[15px]`,children:[m,_,v,y]}),t[19]=y,t[20]=m,t[21]=_,t[22]=v,t[23]=w):w=t[23];let D;t[24]===n.text?D=t[25]:(D=n.text&&(0,C.jsx)(`span`,{className:`text-sm text-text-2`,children:n.text}),t[24]=n.text,t[25]=D);let k;t[26]!==n.details||t[27]!==i?(k=n.details&&(0,C.jsxs)(C.Fragment,{children:[(0,C.jsxs)(`button`,{type:`button`,onClick:()=>s(!i),"aria-expanded":i,className:`inline-flex h-8 items-center gap-1 self-start text-xs text-cyan hover:underline`,children:[(0,C.jsx)(o,{className:a(`size-3.5 transition-transform`,i&&`rotate-90`),"aria-hidden":!0}),i?`Ausgabe verbergen`:`Ausgabe zeigen`]}),i&&(0,C.jsx)(`pre`,{className:`ziffern m-0 max-h-72 overflow-auto rounded-xl bg-black/30 ring-1 ring-white/[0.07] ring-inset p-2.5 text-xs whitespace-pre-wrap text-text-2`,children:n.details})]}),t[26]=n.details,t[27]=i,t[28]=k):k=t[28];let A;t[29]!==w||t[30]!==D||t[31]!==k?(A=(0,C.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-0.5`,children:[w,D,k]}),t[29]=w,t[30]=D,t[31]=k,t[32]=A):A=t[32];let j;return t[33]!==A||t[34]!==d||t[35]!==p?(j=(0,C.jsxs)(`li`,{className:`grid grid-cols-[64px_18px_minmax(0,1fr)] gap-x-3 border-t border-white/[0.06] py-2.5 first:border-t-0`,children:[d,p,A]}),t[33]=A,t[34]=d,t[35]=p,t[36]=j):j=t[36],j}function M(){let e=(0,x.c)(16),t=h(),n=f(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),[i,o]=(0,S.useState)(`alle`),[s,c]=(0,S.useState)(!1),u=d(r,s),m=new Map((p(r).data?.ziele??[]).map(N));if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(l,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,C.jsx)(l,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}let _=(u.data?.eintraege??[]).filter(e=>i===`alle`||e.art===i||i===`lauf`&&e.art===`sammellauf`),v=[];for(let e of _){let t=A(e.zeit);v.at(-1)?.titel!==t&&v.push({titel:t,eintraege:[]}),v.at(-1).eintraege.push(e)}let y=g,b;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,C.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Was der Homelab-Teil getan hat: Aufträge an den Ausführer auf dem Proxmox-Host, Update-Läufe, Snapshots, Hinweise, gesendete Meldungen und die nächtliche Paketsuche.`}),e[2]=b):b=e[2];let T;e[3]===i?T=e[4]:(T=w.map(e=>(0,C.jsx)(`button`,{type:`button`,onClick:()=>o(e.id),"aria-pressed":i===e.id,className:a(`h-9 rounded-full border px-3.5 text-sm`,i===e.id?`border-lab-rand bg-lab-grund text-lab-text`:`border-white/10 text-text-2 hover:border-white/20 hover:text-foreground`),children:e.name},e.id)),e[3]=i,e[4]=T);let E;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(E=e=>c(e.target.checked),e[5]=E):E=e[5];let D;e[6]===s?D=e[7]:(D=(0,C.jsxs)(`label`,{className:`ml-auto flex h-9 cursor-pointer items-center gap-2 text-sm text-text-2`,children:[(0,C.jsx)(`input`,{type:`checkbox`,checked:s,onChange:E,className:`size-4 accent-[var(--lab)]`}),`Berichte zeigen (alle 10 min)`]}),e[6]=s,e[7]=D);let O;e[8]!==T||e[9]!==D?(O=(0,C.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,role:`group`,"aria-label":`Filter`,children:[T,D]}),e[8]=T,e[9]=D,e[10]=O):O=e[10];let k=u.isPending?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):u.isError?(0,C.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Protokoll lässt sich nicht lesen: `,u.error.message]}):v.length===0?(0,C.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Dazu gibt es noch keine Einträge.`}):(0,C.jsx)(`div`,{className:a(`flex flex-col gap-5`,u.isFetching&&`opacity-80`),children:v.map(e=>(0,C.jsxs)(`section`,{"aria-label":e.titel,className:`flex flex-col gap-1`,children:[(0,C.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-lab-text`,children:e.titel}),(0,C.jsx)(`ol`,{className:`m-0 flex list-none flex-col p-0`,children:e.eintraege.map((e,t)=>{let n=e.ziel?m.get(e.ziel)??e.ziel:null;return(0,C.jsx)(j,{e,geraet:n&&!e.titel.includes(n)?n:null},`${e.zeit}-${e.titel}-${t}`)})})]},e.titel))}),M;return e[11]!==y||e[12]!==b||e[13]!==O||e[14]!==k?(M=(0,C.jsxs)(y,{titel:`Protokoll`,children:[b,O,k]}),e[11]=y,e[12]=b,e[13]=O,e[14]=k,e[15]=M):M=e[15],M}function N(e){return[e.id,e.name]}export{M as HomelabProtokollSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/HomelabSnapshots-DdOs_WQU.js b/frontend/dist/assets/HomelabSnapshots-Cy2mRe5R.js similarity index 67% rename from frontend/dist/assets/HomelabSnapshots-DdOs_WQU.js rename to frontend/dist/assets/HomelabSnapshots-Cy2mRe5R.js index 3febcbb..7ffc49c 100644 --- a/frontend/dist/assets/HomelabSnapshots-DdOs_WQU.js +++ b/frontend/dist/assets/HomelabSnapshots-Cy2mRe5R.js @@ -1 +1 @@ -import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{n as o,t as s}from"./undo-2-B8COJmAr.js";import{Bt as c,M as l,N as u,O as d,Ot as f,Sn as p,a as m,bt as h,c as g,gt as _,i as v,j as y,l as b,o as x,u as S}from"./index-CJ1jXWsM.js";import{t as C}from"./button-DwYvdWVr.js";import{t as w}from"./Bestaetigen-6C3zYuEE.js";import{t as T}from"./Panel-uT1S5ZGr.js";var E={name:`flask-conical`,size:24,node:[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]};E.node;var D=r(E),O={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};O.node;var k=r(O),A={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};A.node;var j=r(A),M=i(),N=t(e(),1),P=n(),F=`grid grid-cols-[minmax(0,1fr)_auto] items-start gap-x-3 gap-y-1.5 border-t border-white/[0.06] py-3 [grid-template-areas:'name_herkunft'_'zeit_zeit'_'text_text'_'knoepfe_knoepfe'] md:grid-rows-[auto_auto_1fr] md:gap-x-4 md:[grid-template-areas:'name_herkunft'_'zeit_knoepfe'_'text_knoepfe'] xl:grid-cols-[minmax(10.5rem,1.1fr)_7.5rem_minmax(0,1fr)_minmax(0,1.4fr)_11rem] xl:grid-rows-none xl:items-center xl:[grid-template-areas:'name_herkunft_zeit_text_knoepfe']`,I=`ziffern min-w-0 pt-1 text-sm break-words text-foreground [grid-area:name] xl:pt-0`,L=`justify-self-end [grid-area:herkunft] xl:justify-self-start`;function R(e){let t=(0,M.c)(11),{zeit:n,jetzt:r}=e,i;t[0]!==r||t[1]!==n?(i=b(n,r),t[0]=r,t[1]=n,t[2]=i):i=t[2];let a;t[3]===i?a=t[4]:(a=(0,P.jsx)(`span`,{className:`ziffern text-text-2`,children:i}),t[3]=i,t[4]=a);let o;t[5]!==r||t[6]!==n?(o=n!==null&&(0,P.jsx)(`span`,{className:`text-text-3`,children:m(n,r)}),t[5]=r,t[6]=n,t[7]=o):o=t[7];let s;return t[8]!==a||t[9]!==o?(s=(0,P.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap items-baseline gap-x-2 text-sm [grid-area:zeit]`,children:[a,o]}),t[8]=a,t[9]=o,t[10]=s):s=t[10],s}function z(e){let t=(0,M.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,P.jsx)(`span`,{role:`cell`,className:`min-w-0 text-sm break-words text-text-2 [grid-area:text]`,children:n}),t[0]=n,t[1]=r),r}function B(e){let t=(0,M.c)(5),{children:n,ohne:r}=e,i;t[0]!==n||t[1]!==r?(i=r?(0,P.jsx)(`span`,{className:`text-xs text-text-3`,children:r}):n,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;return t[3]===i?a=t[4]:(a=(0,P.jsx)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 [grid-area:knoepfe] md:flex-col md:items-stretch md:justify-self-end xl:justify-self-stretch`,children:i}),t[3]=i,t[4]=a),a}function V(e){let t=(0,M.c)(35),{g:n,s:r,jetzt:i,gesperrt:a,onFrage:o}=e,{loeschen:c,zuruecksetzen:u}=r,d=c||u?null:r.eigen?`Nicht freigegeben`:`Nur in Proxmox`,f;t[0]===r.name?f=t[1]:(f=(0,P.jsx)(`span`,{role:`rowheader`,className:I,children:r.name}),t[0]=r.name,t[1]=f);let p=v[r.herkunft],m=v[r.herkunft],h;t[2]===m.chip?h=t[3]:(h=(0,P.jsx)(l,{children:m.chip}),t[2]=m.chip,t[3]=h);let g;t[4]!==p.text||t[5]!==h?(g=(0,P.jsx)(`span`,{role:`cell`,className:L,title:p.text,children:h}),t[4]=p.text,t[5]=h,t[6]=g):g=t[6];let _;t[7]!==i||t[8]!==r.zeit?(_=(0,P.jsx)(R,{zeit:r.zeit,jetzt:i}),t[7]=i,t[8]=r.zeit,t[9]=_):_=t[9];let y;t[10]!==r.beschreibung||t[11]!==r.herkunft?(y=r.beschreibung??(0,P.jsx)(`span`,{className:`text-text-3`,children:v[r.herkunft].text}),t[10]=r.beschreibung,t[11]=r.herkunft,t[12]=y):y=t[12];let b;t[13]===y?b=t[14]:(b=(0,P.jsx)(z,{children:y}),t[13]=y,t[14]=b);let x;t[15]!==n||t[16]!==a||t[17]!==o||t[18]!==u?(x=u&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>o({name:n.name,aktion:u,gefahr:!0}),children:[(0,P.jsx)(s,{"aria-hidden":!0}),` Zurücksetzen`]}),t[15]=n,t[16]=a,t[17]=o,t[18]=u,t[19]=x):x=t[19];let S;t[20]!==n||t[21]!==a||t[22]!==c||t[23]!==o?(S=c&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>o({name:n.name,aktion:c,gefahr:!0}),children:[(0,P.jsx)(j,{"aria-hidden":!0}),` Löschen`]}),t[20]=n,t[21]=a,t[22]=c,t[23]=o,t[24]=S):S=t[24];let w;t[25]!==d||t[26]!==S||t[27]!==x?(w=(0,P.jsxs)(B,{ohne:d,children:[x,S]}),t[25]=d,t[26]=S,t[27]=x,t[28]=w):w=t[28];let T;return t[29]!==f||t[30]!==w||t[31]!==g||t[32]!==_||t[33]!==b?(T=(0,P.jsxs)(`div`,{role:`row`,className:F,children:[f,g,_,b,w]}),t[29]=f,t[30]=w,t[31]=g,t[32]=_,t[33]=b,t[34]=T):T=t[34],T}function H(e){let t=(0,M.c)(23),{g:n,e:r,jetzt:i,gesperrt:a,onFrage:o}=e,s;t[0]===r.groesse?s=t[1]:(s=x(r.groesse),t[0]=r.groesse,t[1]=s);let c=s,u=r.loeschen,d;t[2]===r.datei?d=t[3]:(d=(0,P.jsx)(`span`,{role:`rowheader`,className:I,children:r.datei}),t[2]=r.datei,t[3]=d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,P.jsx)(`span`,{role:`cell`,className:L,children:(0,P.jsx)(l,{children:`Sicherung`})}),t[4]=f):f=t[4];let p;t[5]!==r.zeit||t[6]!==i?(p=(0,P.jsx)(R,{zeit:r.zeit,jetzt:i}),t[5]=r.zeit,t[6]=i,t[7]=p):p=t[7];let m=c?`${c} auf „${r.speicher}“`:`Auf „${r.speicher}“`,h;t[8]===m?h=t[9]:(h=(0,P.jsxs)(z,{children:[m,`, vor einem Update angelegt`]}),t[8]=m,t[9]=h);let g=u?null:`Nicht freigegeben`,_;t[10]!==n||t[11]!==a||t[12]!==u||t[13]!==o?(_=u&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>o({name:n.name,aktion:u,gefahr:!0}),children:[(0,P.jsx)(j,{"aria-hidden":!0}),` Löschen`]}),t[10]=n,t[11]=a,t[12]=u,t[13]=o,t[14]=_):_=t[14];let v;t[15]!==g||t[16]!==_?(v=(0,P.jsx)(B,{ohne:g,children:_}),t[15]=g,t[16]=_,t[17]=v):v=t[17];let y;return t[18]!==d||t[19]!==p||t[20]!==h||t[21]!==v?(y=(0,P.jsxs)(`div`,{role:`row`,className:F,children:[d,f,p,h,v]}),t[18]=d,t[19]=p,t[20]=h,t[21]=v,t[22]=y):y=t[22],y}function U(e){let t=(0,M.c)(44),{g:n,jetzt:r,gesperrt:i,onFrage:s}=e,c=n.snapshots.length===0&&n.sicherungen.length===0,{anlegen:l,probe:u}=n,f=n.name,m;t[0]!==n.art||t[1]!==n.name?(m=y({art:n.art,name:n.name}),t[0]=n.art,t[1]=n.name,t[2]=m):m=t[2];let h=n.status===`running`?`ok`:n.status?`aus`:null,g;t[3]!==m||t[4]!==h?(g=(0,P.jsx)(d,{bild:m,punkt:h}),t[3]=m,t[4]=h,t[5]=g):g=t[5];let _;t[6]===n.name?_=t[7]:(_=(0,P.jsx)(`h3`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[6]=n.name,t[7]=_);let v;t[8]===n.wo?v=t[9]:(v=(0,P.jsx)(`span`,{className:`text-[13px] text-text-3`,children:n.wo}),t[8]=n.wo,t[9]=v);let x;t[10]!==_||t[11]!==v?(x=(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[_,v]}),t[10]=_,t[11]=v,t[12]=x):x=t[12];let w;t[13]!==g||t[14]!==x?(w=(0,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[g,x]}),t[13]=g,t[14]=x,t[15]=w):w=t[15];let T;t[16]!==l||t[17]!==n.laeuft||t[18]!==n.name||t[19]!==i||t[20]!==s||t[21]!==u?(T=n.laeuft?(0,P.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan-text`,children:[`Läuft: `,n.laeuft,` …`]}):(l||u)&&(0,P.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[u&&(0,P.jsxs)(C,{variant:`ghost`,size:`sm`,disabled:i,onClick:()=>s({name:n.name,aktion:u,gefahr:!0}),children:[(0,P.jsx)(D,{"aria-hidden":!0}),` Rückweg testen`]}),l&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:i,onClick:()=>s({name:n.name,aktion:l,gefahr:!1}),children:[(0,P.jsx)(k,{"aria-hidden":!0}),` Snapshot anlegen`]})]}),t[16]=l,t[17]=n.laeuft,t[18]=n.name,t[19]=i,t[20]=s,t[21]=u,t[22]=T):T=t[22];let E;t[23]!==w||t[24]!==T?(E=(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-2`,children:[w,T]}),t[23]=w,t[24]=T,t[25]=E):E=t[25];let O;t[26]===n.grund?O=t[27]:(O=n.grund&&(0,P.jsx)(`p`,{className:`text-sm text-text-3`,children:n.grund}),t[26]=n.grund,t[27]=O);let A;t[28]!==n.name||t[29]!==n.zuletzt||t[30]!==r?(A=n.zuletzt&&(0,P.jsxs)(`p`,{className:a(`flex items-start gap-1.5 text-sm`,n.zuletzt.ok?`text-gruen-text`:`text-rot-text`),children:[n.zuletzt.ok?(0,P.jsx)(p,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}):(0,P.jsx)(o,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),(0,P.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2`,children:[(0,P.jsx)(`span`,{className:`break-words`,children:S(n.zuletzt.text,n.name)}),(0,P.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:b(n.zuletzt.ende,r)})]})]}),t[28]=n.name,t[29]=n.zuletzt,t[30]=r,t[31]=A):A=t[31];let j;t[32]!==n||t[33]!==i||t[34]!==r||t[35]!==c||t[36]!==s?(j=c?(0,P.jsx)(`p`,{className:`text-sm text-text-3`,children:`Keine Snapshots.`}):(0,P.jsxs)(`div`,{role:`table`,"aria-label":`Snapshots von ${n.name}`,className:`flex flex-col`,children:[(0,P.jsxs)(`div`,{role:`row`,className:`sr-only`,children:[(0,P.jsx)(`span`,{role:`columnheader`,children:`Snapshot`}),(0,P.jsx)(`span`,{role:`columnheader`,children:`Herkunft`}),(0,P.jsx)(`span`,{role:`columnheader`,children:`Zeitpunkt`}),(0,P.jsx)(`span`,{role:`columnheader`,children:`Beschreibung`}),(0,P.jsx)(`span`,{role:`columnheader`,children:`Aktion`})]}),n.snapshots.map(e=>(0,P.jsx)(V,{g:n,s:e,jetzt:r,gesperrt:i,onFrage:s},e.name)),n.sicherungen.map(e=>(0,P.jsx)(H,{g:n,e,jetzt:r,gesperrt:i,onFrage:s},e.datei))]}),t[32]=n,t[33]=i,t[34]=r,t[35]=c,t[36]=s,t[37]=j):j=t[37];let N;return t[38]!==n.name||t[39]!==E||t[40]!==O||t[41]!==A||t[42]!==j?(N=(0,P.jsxs)(`section`,{"aria-label":f,className:`flaeche-innen flex min-w-0 flex-col gap-2 rounded-2xl px-4 py-3.5`,children:[E,O,A,j]}),t[38]=n.name,t[39]=E,t[40]=O,t[41]=A,t[42]=j,t[43]=N):N=t[43],N}function W(e){let t=(0,M.c)(24),{daten:n,gesperrt:r,onAktion:i}=e,[a,o]=(0,N.useState)(null),s;if(t[0]!==n.geraete||t[1]!==n.jetzt||t[2]!==r){let e;t[4]!==n.jetzt||t[5]!==r?(e=e=>(0,P.jsx)(U,{g:e,jetzt:n.jetzt,gesperrt:r||!!e.laeuft,onFrage:o},e.id),t[4]=n.jetzt,t[5]=r,t[6]=e):e=t[6],s=n.geraete.map(e),t[0]=n.geraete,t[1]=n.jetzt,t[2]=r,t[3]=s}else s=t[3];let c;t[7]===s?c=t[8]:(c=(0,P.jsx)(`div`,{className:`flex flex-col gap-3`,children:s}),t[7]=s,t[8]=c);let l=!!a,u=a?`${a.name}: ${a.aktion.label}`:``,d=a?.aktion.frage??``,f=a?.aktion.label??``,p=a?.gefahr,m;t[9]!==a||t[10]!==i?(m=()=>{a&&i(a.aktion),o(null)},t[9]=a,t[10]=i,t[11]=m):m=t[11];let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>o(null),t[12]=h):h=t[12];let g;t[13]!==r||t[14]!==l||t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(g=(0,P.jsx)(w,{offen:l,titel:u,text:d,knopf:f,gefahr:p,gesperrt:r,onJa:m,onNein:h}),t[13]=r,t[14]=l,t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=g):g=t[20];let _;return t[21]!==g||t[22]!==c?(_=(0,P.jsxs)(P.Fragment,{children:[c,g]}),t[21]=g,t[22]=c,t[23]=_):_=t[23],_}function G(){let e=(0,M.c)(41),t=h(),n=f(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=_(r),a=c(),[o,s]=(0,N.useState)(!1);if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,P.jsx)(u,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,P.jsx)(u,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}if(i.isPending){let t;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,P.jsx)(u,{text:`Die Snapshots werden gelesen …`}),e[2]=t):t=e[2],t}if(!i.data){let t=`Die Snapshots lassen sich nicht lesen: ${i.error?.message??`keine Daten`}`,n;return e[3]===t?n=e[4]:(n=(0,P.jsx)(u,{fehler:!0,text:t}),e[3]=t,e[4]=n),n}let d=i.data,p=d.sperre,m;e[5]!==d.bericht||e[6]!==d.summe?(m=d.bericht?(0,P.jsx)(l,{children:g(d.summe)}):void 0,e[5]=d.bericht,e[6]=d.summe,e[7]=m):m=e[7];let v;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,P.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Ein Snapshot hält den Stand eines Geräts fest. Vor jedem Update legt der Orchestrator einen an (beim Proxmox Backup Server eine Sicherung) und räumt nach einem grünen Update die älteren weg. Hier legst du selbst welche an — die bleiben, bis du sie löschst —, setzt ein Gerät zurück oder löschst, was weg kann. Von Hand in Proxmox angelegte stehen nur zur Ansicht da.`}),e[8]=v):v=e[8];let y;e[9]===p?y=e[10]:(y=p&&(0,P.jsx)(`p`,{role:`alert`,className:`rounded-2xl bg-bernstein/[0.08] px-4 py-3 text-[15px] text-bernstein ring-1 ring-bernstein/35 ring-inset`,children:p}),e[9]=p,e[10]=y);let x;e[11]!==a.isPending||e[12]!==d.aufraeumen||e[13]!==d.aufraeumen_laeuft||e[14]!==p?(x=(d.aufraeumen||d.aufraeumen_laeuft)&&(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-2xl bg-white/[0.03] px-4 py-3 ring-1 ring-white/10 ring-inset`,children:[(0,P.jsx)(`p`,{className:`min-w-0 flex-1 text-[14.5px] text-text-2`,children:d.aufraeumen_laeuft?`Die Rückwege der letzten Updates werden gerade nacheinander gelöscht; am Ende kommt eine Meldung.`:`Nach grünen Updates bleibt je Gerät der Rückweg liegen, bis zum nächsten Update. Wegräumen geht hier auf einmal.`}),d.aufraeumen&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:a.isPending||!!p,onClick:()=>s(!0),children:[(0,P.jsx)(j,{"aria-hidden":!0}),` `,d.aufraeumen.label]})]}),e[11]=a.isPending,e[12]=d.aufraeumen,e[13]=d.aufraeumen_laeuft,e[14]=p,e[15]=x):x=e[15];let S;e[16]!==d.bericht||e[17]!==d.jetzt?(S=d.bericht?.veraltet&&(0,P.jsxs)(`p`,{className:`text-[15px] text-bernstein`,children:[`Der letzte Bericht ist von `,b(d.bericht.empfangen,d.jetzt),`; die Liste kann veraltet sein.`]}),e[16]=d.bericht,e[17]=d.jetzt,e[18]=S):S=e[18];let E;e[19]!==a||e[20]!==d||e[21]!==p?(E=d.bericht?(0,P.jsxs)(P.Fragment,{children:[!d.details&&(0,P.jsx)(`p`,{className:`text-sm text-text-3`,children:`Beschreibungen und die Größe der Sicherungen erscheinen, sobald der neue Ausführer auf dem Proxmox-Host läuft; bis dahin kommt der Zeitpunkt aus dem Namen des Snapshots.`}),(0,P.jsx)(W,{daten:d,gesperrt:a.isPending||!!p||!!d.aufraeumen_laeuft,onAktion:e=>a.mutate(e)}),(0,P.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wie viel ein Snapshot im Speicherpool belegt, sagt Proxmox nicht: Er teilt sich die Daten mit dem Gerät und wächst mit jeder Änderung seit seinem Zeitpunkt. Wie voll der Pool ist, steht im Cockpit unter „Speicher und Sicherungen“.`})]}):(0,P.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Ausführer hat noch keinen Bericht geschickt.`}),e[19]=a,e[20]=d,e[21]=p,e[22]=E):E=e[22];let D=o&&!!d.aufraeumen,O=d.aufraeumen?.label??``,k=d.aufraeumen?.frage??``,A=d.aufraeumen?.label??``,F;e[23]!==a||e[24]!==d.aufraeumen?(F=()=>{d.aufraeumen&&a.mutate(d.aufraeumen),s(!1)},e[23]=a,e[24]=d.aufraeumen,e[25]=F):F=e[25];let I;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>s(!1),e[26]=I):I=e[26];let L;e[27]!==a.isPending||e[28]!==F||e[29]!==D||e[30]!==O||e[31]!==k||e[32]!==A?(L=(0,P.jsx)(w,{offen:D,titel:O,text:k,knopf:A,gefahr:!0,gesperrt:a.isPending,onJa:F,onNein:I}),e[27]=a.isPending,e[28]=F,e[29]=D,e[30]=O,e[31]=k,e[32]=A,e[33]=L):L=e[33];let R;return e[34]!==m||e[35]!==L||e[36]!==y||e[37]!==x||e[38]!==S||e[39]!==E?(R=(0,P.jsxs)(T,{titel:`Snapshots`,rechts:m,children:[v,y,x,S,E,L]}),e[34]=m,e[35]=L,e[36]=y,e[37]=x,e[38]=S,e[39]=E,e[40]=R):R=e[40],R}export{G as HomelabSnapshotsSeite}; \ No newline at end of file +import{a as e,c as t,i as n,n as r,r as i,t as a}from"./dist-aE7UmubC.js";import{n as o,t as s}from"./undo-2-B8COJmAr.js";import{M as c,N as l,O as u,Tn as d,Ut as f,_t as p,a as m,c as h,i as g,j as _,jt as v,l as y,o as b,u as x,xt as S}from"./index-CiJU28k0.js";import{t as C}from"./button-DwYvdWVr.js";import{t as w}from"./Bestaetigen-BGcVQso2.js";import{t as T}from"./Panel-uT1S5ZGr.js";var E={name:`flask-conical`,size:24,node:[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]};E.node;var D=r(E),O={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};O.node;var k=r(O),A={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};A.node;var j=r(A),M=i(),N=t(e(),1),P=n(),F=`grid grid-cols-[minmax(0,1fr)_auto] items-start gap-x-3 gap-y-1.5 border-t border-white/[0.06] py-3 [grid-template-areas:'name_herkunft'_'zeit_zeit'_'text_text'_'knoepfe_knoepfe'] md:grid-rows-[auto_auto_1fr] md:gap-x-4 md:[grid-template-areas:'name_herkunft'_'zeit_knoepfe'_'text_knoepfe'] xl:grid-cols-[minmax(10.5rem,1.1fr)_7.5rem_minmax(0,1fr)_minmax(0,1.4fr)_11rem] xl:grid-rows-none xl:items-center xl:[grid-template-areas:'name_herkunft_zeit_text_knoepfe']`,I=`ziffern min-w-0 pt-1 text-sm break-words text-foreground [grid-area:name] xl:pt-0`,L=`justify-self-end [grid-area:herkunft] xl:justify-self-start`;function R(e){let t=(0,M.c)(11),{zeit:n,jetzt:r}=e,i;t[0]!==r||t[1]!==n?(i=y(n,r),t[0]=r,t[1]=n,t[2]=i):i=t[2];let a;t[3]===i?a=t[4]:(a=(0,P.jsx)(`span`,{className:`ziffern text-text-2`,children:i}),t[3]=i,t[4]=a);let o;t[5]!==r||t[6]!==n?(o=n!==null&&(0,P.jsx)(`span`,{className:`text-text-3`,children:m(n,r)}),t[5]=r,t[6]=n,t[7]=o):o=t[7];let s;return t[8]!==a||t[9]!==o?(s=(0,P.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap items-baseline gap-x-2 text-sm [grid-area:zeit]`,children:[a,o]}),t[8]=a,t[9]=o,t[10]=s):s=t[10],s}function z(e){let t=(0,M.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,P.jsx)(`span`,{role:`cell`,className:`min-w-0 text-sm break-words text-text-2 [grid-area:text]`,children:n}),t[0]=n,t[1]=r),r}function B(e){let t=(0,M.c)(5),{children:n,ohne:r}=e,i;t[0]!==n||t[1]!==r?(i=r?(0,P.jsx)(`span`,{className:`text-xs text-text-3`,children:r}):n,t[0]=n,t[1]=r,t[2]=i):i=t[2];let a;return t[3]===i?a=t[4]:(a=(0,P.jsx)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 [grid-area:knoepfe] md:flex-col md:items-stretch md:justify-self-end xl:justify-self-stretch`,children:i}),t[3]=i,t[4]=a),a}function V(e){let t=(0,M.c)(35),{g:n,s:r,jetzt:i,gesperrt:a,onFrage:o}=e,{loeschen:l,zuruecksetzen:u}=r,d=l||u?null:r.eigen?`Nicht freigegeben`:`Nur in Proxmox`,f;t[0]===r.name?f=t[1]:(f=(0,P.jsx)(`span`,{role:`rowheader`,className:I,children:r.name}),t[0]=r.name,t[1]=f);let p=g[r.herkunft],m=g[r.herkunft],h;t[2]===m.chip?h=t[3]:(h=(0,P.jsx)(c,{children:m.chip}),t[2]=m.chip,t[3]=h);let _;t[4]!==p.text||t[5]!==h?(_=(0,P.jsx)(`span`,{role:`cell`,className:L,title:p.text,children:h}),t[4]=p.text,t[5]=h,t[6]=_):_=t[6];let v;t[7]!==i||t[8]!==r.zeit?(v=(0,P.jsx)(R,{zeit:r.zeit,jetzt:i}),t[7]=i,t[8]=r.zeit,t[9]=v):v=t[9];let y;t[10]!==r.beschreibung||t[11]!==r.herkunft?(y=r.beschreibung??(0,P.jsx)(`span`,{className:`text-text-3`,children:g[r.herkunft].text}),t[10]=r.beschreibung,t[11]=r.herkunft,t[12]=y):y=t[12];let b;t[13]===y?b=t[14]:(b=(0,P.jsx)(z,{children:y}),t[13]=y,t[14]=b);let x;t[15]!==n||t[16]!==a||t[17]!==o||t[18]!==u?(x=u&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>o({name:n.name,aktion:u,gefahr:!0}),children:[(0,P.jsx)(s,{"aria-hidden":!0}),` Zurücksetzen`]}),t[15]=n,t[16]=a,t[17]=o,t[18]=u,t[19]=x):x=t[19];let S;t[20]!==n||t[21]!==a||t[22]!==l||t[23]!==o?(S=l&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>o({name:n.name,aktion:l,gefahr:!0}),children:[(0,P.jsx)(j,{"aria-hidden":!0}),` Löschen`]}),t[20]=n,t[21]=a,t[22]=l,t[23]=o,t[24]=S):S=t[24];let w;t[25]!==d||t[26]!==S||t[27]!==x?(w=(0,P.jsxs)(B,{ohne:d,children:[x,S]}),t[25]=d,t[26]=S,t[27]=x,t[28]=w):w=t[28];let T;return t[29]!==f||t[30]!==w||t[31]!==_||t[32]!==v||t[33]!==b?(T=(0,P.jsxs)(`div`,{role:`row`,className:F,children:[f,_,v,b,w]}),t[29]=f,t[30]=w,t[31]=_,t[32]=v,t[33]=b,t[34]=T):T=t[34],T}function H(e){let t=(0,M.c)(23),{g:n,e:r,jetzt:i,gesperrt:a,onFrage:o}=e,s;t[0]===r.groesse?s=t[1]:(s=b(r.groesse),t[0]=r.groesse,t[1]=s);let l=s,u=r.loeschen,d;t[2]===r.datei?d=t[3]:(d=(0,P.jsx)(`span`,{role:`rowheader`,className:I,children:r.datei}),t[2]=r.datei,t[3]=d);let f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,P.jsx)(`span`,{role:`cell`,className:L,children:(0,P.jsx)(c,{children:`Sicherung`})}),t[4]=f):f=t[4];let p;t[5]!==r.zeit||t[6]!==i?(p=(0,P.jsx)(R,{zeit:r.zeit,jetzt:i}),t[5]=r.zeit,t[6]=i,t[7]=p):p=t[7];let m=l?`${l} auf „${r.speicher}“`:`Auf „${r.speicher}“`,h;t[8]===m?h=t[9]:(h=(0,P.jsxs)(z,{children:[m,`, vor einem Update angelegt`]}),t[8]=m,t[9]=h);let g=u?null:`Nicht freigegeben`,_;t[10]!==n||t[11]!==a||t[12]!==u||t[13]!==o?(_=u&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:a,onClick:()=>o({name:n.name,aktion:u,gefahr:!0}),children:[(0,P.jsx)(j,{"aria-hidden":!0}),` Löschen`]}),t[10]=n,t[11]=a,t[12]=u,t[13]=o,t[14]=_):_=t[14];let v;t[15]!==g||t[16]!==_?(v=(0,P.jsx)(B,{ohne:g,children:_}),t[15]=g,t[16]=_,t[17]=v):v=t[17];let y;return t[18]!==d||t[19]!==p||t[20]!==h||t[21]!==v?(y=(0,P.jsxs)(`div`,{role:`row`,className:F,children:[d,f,p,h,v]}),t[18]=d,t[19]=p,t[20]=h,t[21]=v,t[22]=y):y=t[22],y}function U(e){let t=(0,M.c)(44),{g:n,jetzt:r,gesperrt:i,onFrage:s}=e,c=n.snapshots.length===0&&n.sicherungen.length===0,{anlegen:l,probe:f}=n,p=n.name,m;t[0]!==n.art||t[1]!==n.name?(m=_({art:n.art,name:n.name}),t[0]=n.art,t[1]=n.name,t[2]=m):m=t[2];let h=n.status===`running`?`ok`:n.status?`aus`:null,g;t[3]!==m||t[4]!==h?(g=(0,P.jsx)(u,{bild:m,punkt:h}),t[3]=m,t[4]=h,t[5]=g):g=t[5];let v;t[6]===n.name?v=t[7]:(v=(0,P.jsx)(`h3`,{className:`text-[15px] font-semibold break-words`,children:n.name}),t[6]=n.name,t[7]=v);let b;t[8]===n.wo?b=t[9]:(b=(0,P.jsx)(`span`,{className:`text-[13px] text-text-3`,children:n.wo}),t[8]=n.wo,t[9]=b);let S;t[10]!==v||t[11]!==b?(S=(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[v,b]}),t[10]=v,t[11]=b,t[12]=S):S=t[12];let w;t[13]!==g||t[14]!==S?(w=(0,P.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[g,S]}),t[13]=g,t[14]=S,t[15]=w):w=t[15];let T;t[16]!==l||t[17]!==n.laeuft||t[18]!==n.name||t[19]!==i||t[20]!==s||t[21]!==f?(T=n.laeuft?(0,P.jsxs)(`p`,{role:`status`,className:`text-sm text-cyan-text`,children:[`Läuft: `,n.laeuft,` …`]}):(l||f)&&(0,P.jsxs)(`span`,{className:`flex flex-wrap gap-2`,children:[f&&(0,P.jsxs)(C,{variant:`ghost`,size:`sm`,disabled:i,onClick:()=>s({name:n.name,aktion:f,gefahr:!0}),children:[(0,P.jsx)(D,{"aria-hidden":!0}),` Rückweg testen`]}),l&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:i,onClick:()=>s({name:n.name,aktion:l,gefahr:!1}),children:[(0,P.jsx)(k,{"aria-hidden":!0}),` Snapshot anlegen`]})]}),t[16]=l,t[17]=n.laeuft,t[18]=n.name,t[19]=i,t[20]=s,t[21]=f,t[22]=T):T=t[22];let E;t[23]!==w||t[24]!==T?(E=(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-4 gap-y-2`,children:[w,T]}),t[23]=w,t[24]=T,t[25]=E):E=t[25];let O;t[26]===n.grund?O=t[27]:(O=n.grund&&(0,P.jsx)(`p`,{className:`text-sm text-text-3`,children:n.grund}),t[26]=n.grund,t[27]=O);let A;t[28]!==n.name||t[29]!==n.zuletzt||t[30]!==r?(A=n.zuletzt&&(0,P.jsxs)(`p`,{className:a(`flex items-start gap-1.5 text-sm`,n.zuletzt.ok?`text-gruen-text`:`text-rot-text`),children:[n.zuletzt.ok?(0,P.jsx)(d,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}):(0,P.jsx)(o,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),(0,P.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-2`,children:[(0,P.jsx)(`span`,{className:`break-words`,children:x(n.zuletzt.text,n.name)}),(0,P.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:y(n.zuletzt.ende,r)})]})]}),t[28]=n.name,t[29]=n.zuletzt,t[30]=r,t[31]=A):A=t[31];let j;t[32]!==n||t[33]!==i||t[34]!==r||t[35]!==c||t[36]!==s?(j=c?(0,P.jsx)(`p`,{className:`text-sm text-text-3`,children:`Keine Snapshots.`}):(0,P.jsxs)(`div`,{role:`table`,"aria-label":`Snapshots von ${n.name}`,className:`flex flex-col`,children:[(0,P.jsxs)(`div`,{role:`row`,className:`sr-only`,children:[(0,P.jsx)(`span`,{role:`columnheader`,children:`Snapshot`}),(0,P.jsx)(`span`,{role:`columnheader`,children:`Herkunft`}),(0,P.jsx)(`span`,{role:`columnheader`,children:`Zeitpunkt`}),(0,P.jsx)(`span`,{role:`columnheader`,children:`Beschreibung`}),(0,P.jsx)(`span`,{role:`columnheader`,children:`Aktion`})]}),n.snapshots.map(e=>(0,P.jsx)(V,{g:n,s:e,jetzt:r,gesperrt:i,onFrage:s},e.name)),n.sicherungen.map(e=>(0,P.jsx)(H,{g:n,e,jetzt:r,gesperrt:i,onFrage:s},e.datei))]}),t[32]=n,t[33]=i,t[34]=r,t[35]=c,t[36]=s,t[37]=j):j=t[37];let N;return t[38]!==n.name||t[39]!==E||t[40]!==O||t[41]!==A||t[42]!==j?(N=(0,P.jsxs)(`section`,{"aria-label":p,className:`flaeche-innen flex min-w-0 flex-col gap-2 rounded-2xl px-4 py-3.5`,children:[E,O,A,j]}),t[38]=n.name,t[39]=E,t[40]=O,t[41]=A,t[42]=j,t[43]=N):N=t[43],N}function W(e){let t=(0,M.c)(24),{daten:n,gesperrt:r,onAktion:i}=e,[a,o]=(0,N.useState)(null),s;if(t[0]!==n.geraete||t[1]!==n.jetzt||t[2]!==r){let e;t[4]!==n.jetzt||t[5]!==r?(e=e=>(0,P.jsx)(U,{g:e,jetzt:n.jetzt,gesperrt:r||!!e.laeuft,onFrage:o},e.id),t[4]=n.jetzt,t[5]=r,t[6]=e):e=t[6],s=n.geraete.map(e),t[0]=n.geraete,t[1]=n.jetzt,t[2]=r,t[3]=s}else s=t[3];let c;t[7]===s?c=t[8]:(c=(0,P.jsx)(`div`,{className:`flex flex-col gap-3`,children:s}),t[7]=s,t[8]=c);let l=!!a,u=a?`${a.name}: ${a.aktion.label}`:``,d=a?.aktion.frage??``,f=a?.aktion.label??``,p=a?.gefahr,m;t[9]!==a||t[10]!==i?(m=()=>{a&&i(a.aktion),o(null)},t[9]=a,t[10]=i,t[11]=m):m=t[11];let h;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>o(null),t[12]=h):h=t[12];let g;t[13]!==r||t[14]!==l||t[15]!==u||t[16]!==d||t[17]!==f||t[18]!==p||t[19]!==m?(g=(0,P.jsx)(w,{offen:l,titel:u,text:d,knopf:f,gefahr:p,gesperrt:r,onJa:m,onNein:h}),t[13]=r,t[14]=l,t[15]=u,t[16]=d,t[17]=f,t[18]=p,t[19]=m,t[20]=g):g=t[20];let _;return t[21]!==g||t[22]!==c?(_=(0,P.jsxs)(P.Fragment,{children:[c,g]}),t[21]=g,t[22]=c,t[23]=_):_=t[23],_}function G(){let e=(0,M.c)(41),t=S(),n=v(),r=t.data?.rolle===`homelab`||!!(n.data?.eingerichtet&&n.data.erreichbar),i=p(r),a=f(),[o,s]=(0,N.useState)(!1);if(t.isPending||n.isPending){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,P.jsx)(l,{text:`Wird gelesen …`}),e[0]=t):t=e[0],t}if(!r){let t;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,P.jsx)(l,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[1]=t):t=e[1],t}if(i.isPending){let t;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,P.jsx)(l,{text:`Die Snapshots werden gelesen …`}),e[2]=t):t=e[2],t}if(!i.data){let t=`Die Snapshots lassen sich nicht lesen: ${i.error?.message??`keine Daten`}`,n;return e[3]===t?n=e[4]:(n=(0,P.jsx)(l,{fehler:!0,text:t}),e[3]=t,e[4]=n),n}let u=i.data,d=u.sperre,m;e[5]!==u.bericht||e[6]!==u.summe?(m=u.bericht?(0,P.jsx)(c,{children:h(u.summe)}):void 0,e[5]=u.bericht,e[6]=u.summe,e[7]=m):m=e[7];let g;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,P.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Ein Snapshot hält den Stand eines Geräts fest. Vor jedem Update legt der Orchestrator einen an (beim Proxmox Backup Server eine Sicherung) und räumt nach einem grünen Update die älteren weg. Hier legst du selbst welche an — die bleiben, bis du sie löschst —, setzt ein Gerät zurück oder löschst, was weg kann. Von Hand in Proxmox angelegte stehen nur zur Ansicht da.`}),e[8]=g):g=e[8];let _;e[9]===d?_=e[10]:(_=d&&(0,P.jsx)(`p`,{role:`alert`,className:`rounded-2xl bg-bernstein/[0.08] px-4 py-3 text-[15px] text-bernstein ring-1 ring-bernstein/35 ring-inset`,children:d}),e[9]=d,e[10]=_);let b;e[11]!==a.isPending||e[12]!==u.aufraeumen||e[13]!==u.aufraeumen_laeuft||e[14]!==d?(b=(u.aufraeumen||u.aufraeumen_laeuft)&&(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-2xl bg-white/[0.03] px-4 py-3 ring-1 ring-white/10 ring-inset`,children:[(0,P.jsx)(`p`,{className:`min-w-0 flex-1 text-[14.5px] text-text-2`,children:u.aufraeumen_laeuft?`Die Rückwege der letzten Updates werden gerade nacheinander gelöscht; am Ende kommt eine Meldung.`:`Nach grünen Updates bleibt je Gerät der Rückweg liegen, bis zum nächsten Update. Wegräumen geht hier auf einmal.`}),u.aufraeumen&&(0,P.jsxs)(C,{variant:`outline`,size:`sm`,disabled:a.isPending||!!d,onClick:()=>s(!0),children:[(0,P.jsx)(j,{"aria-hidden":!0}),` `,u.aufraeumen.label]})]}),e[11]=a.isPending,e[12]=u.aufraeumen,e[13]=u.aufraeumen_laeuft,e[14]=d,e[15]=b):b=e[15];let x;e[16]!==u.bericht||e[17]!==u.jetzt?(x=u.bericht?.veraltet&&(0,P.jsxs)(`p`,{className:`text-[15px] text-bernstein`,children:[`Der letzte Bericht ist von `,y(u.bericht.empfangen,u.jetzt),`; die Liste kann veraltet sein.`]}),e[16]=u.bericht,e[17]=u.jetzt,e[18]=x):x=e[18];let E;e[19]!==a||e[20]!==u||e[21]!==d?(E=u.bericht?(0,P.jsxs)(P.Fragment,{children:[!u.details&&(0,P.jsx)(`p`,{className:`text-sm text-text-3`,children:`Beschreibungen und die Größe der Sicherungen erscheinen, sobald der neue Ausführer auf dem Proxmox-Host läuft; bis dahin kommt der Zeitpunkt aus dem Namen des Snapshots.`}),(0,P.jsx)(W,{daten:u,gesperrt:a.isPending||!!d||!!u.aufraeumen_laeuft,onAktion:e=>a.mutate(e)}),(0,P.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wie viel ein Snapshot im Speicherpool belegt, sagt Proxmox nicht: Er teilt sich die Daten mit dem Gerät und wächst mit jeder Änderung seit seinem Zeitpunkt. Wie voll der Pool ist, steht im Cockpit unter „Speicher und Sicherungen“.`})]}):(0,P.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Der Ausführer hat noch keinen Bericht geschickt.`}),e[19]=a,e[20]=u,e[21]=d,e[22]=E):E=e[22];let D=o&&!!u.aufraeumen,O=u.aufraeumen?.label??``,k=u.aufraeumen?.frage??``,A=u.aufraeumen?.label??``,F;e[23]!==a||e[24]!==u.aufraeumen?(F=()=>{u.aufraeumen&&a.mutate(u.aufraeumen),s(!1)},e[23]=a,e[24]=u.aufraeumen,e[25]=F):F=e[25];let I;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(I=()=>s(!1),e[26]=I):I=e[26];let L;e[27]!==a.isPending||e[28]!==F||e[29]!==D||e[30]!==O||e[31]!==k||e[32]!==A?(L=(0,P.jsx)(w,{offen:D,titel:O,text:k,knopf:A,gefahr:!0,gesperrt:a.isPending,onJa:F,onNein:I}),e[27]=a.isPending,e[28]=F,e[29]=D,e[30]=O,e[31]=k,e[32]=A,e[33]=L):L=e[33];let R;return e[34]!==m||e[35]!==L||e[36]!==_||e[37]!==b||e[38]!==x||e[39]!==E?(R=(0,P.jsxs)(T,{titel:`Snapshots`,rechts:m,children:[g,_,b,x,E,L]}),e[34]=m,e[35]=L,e[36]=_,e[37]=b,e[38]=x,e[39]=E,e[40]=R):R=e[40],R}export{G as HomelabSnapshotsSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Lagekopf-_LyvkRPo.js b/frontend/dist/assets/Lagekopf-DKe__zE4.js similarity index 98% rename from frontend/dist/assets/Lagekopf-_LyvkRPo.js rename to frontend/dist/assets/Lagekopf-DKe__zE4.js index 03056e1..559342b 100644 --- a/frontend/dist/assets/Lagekopf-_LyvkRPo.js +++ b/frontend/dist/assets/Lagekopf-DKe__zE4.js @@ -1 +1 @@ -import{i as e,r as t,t as n}from"./dist-aE7UmubC.js";import{O as r}from"./index-CJ1jXWsM.js";var i=t(),a=e(),o={ok:{block:`bg-gruen/[0.07] ring-gruen/30`,glut:`var(--gruen)`,text:`text-gruen`},info:{block:`bg-cyan/[0.07] ring-cyan/30`,glut:`var(--cyan)`,text:`text-cyan-text`},gelb:{block:`bg-bernstein/[0.08] ring-bernstein/35`,glut:`var(--bernstein)`,text:`text-bernstein`},rot:{block:`bg-rot/10 ring-rot/40`,glut:`var(--rot)`,text:`text-rot-text`},stumm:{block:`bg-white/[0.04] ring-white/15`,glut:`var(--text-3)`,text:`text-text-2`}};function s(e){let t=(0,i.c)(32),{art:r,oben:s,mitte:c,unten:l,aktiv:u,onAnsehen:d,label:f,children:p}=e,m=o[r],h=`radial-gradient(closest-side, color-mix(in srgb, ${m.glut} 20%, transparent), transparent)`,g;t[0]===h?g=t[1]:(g=(0,a.jsx)(`div`,{"aria-hidden":!0,className:`glut-atmet pointer-events-none absolute -top-40 -left-32 size-[460px] rounded-full`,style:{background:h}}),t[0]=h,t[1]=g);let _=!u,v=`${s}: ${c}`,y=u?`cursor-pointer hover:brightness-125`:`cursor-default`,b=r===`gelb`&&`lampe-atmet`,x;t[2]!==m.block||t[3]!==y||t[4]!==b?(x=n(`flex min-h-[132px] flex-col items-start justify-center gap-1.5 rounded-2xl px-5 py-4 text-left ring-1 ring-inset transition-[filter]`,m.block,y,b),t[2]=m.block,t[3]=y,t[4]=b,t[5]=x):x=t[5];let S;t[6]===s?S=t[7]:(S=(0,a.jsx)(`span`,{className:`etikett text-[11px] tracking-[0.18em] text-text-3`,children:s}),t[6]=s,t[7]=S);let C;t[8]===m.text?C=t[9]:(C=n(`text-[30px] leading-tight font-semibold tracking-[-0.01em] sm:text-[34px]`,m.text),t[8]=m.text,t[9]=C);let w;t[10]!==c||t[11]!==C?(w=(0,a.jsx)(`span`,{className:C,children:c}),t[10]=c,t[11]=C,t[12]=w):w=t[12];let T;t[13]===l?T=t[14]:(T=(0,a.jsx)(`span`,{className:`text-[13.5px] text-text-2`,children:l}),t[13]=l,t[14]=T);let E;t[15]!==d||t[16]!==w||t[17]!==T||t[18]!==_||t[19]!==v||t[20]!==x||t[21]!==S?(E=(0,a.jsxs)(`button`,{type:`button`,onClick:d,disabled:_,"aria-label":v,className:x,children:[S,w,T]}),t[15]=d,t[16]=w,t[17]=T,t[18]=_,t[19]=v,t[20]=x,t[21]=S,t[22]=E):E=t[22];let D;t[23]===p?D=t[24]:(D=(0,a.jsx)(`ul`,{className:`m-0 grid list-none grid-cols-1 gap-2 p-0 min-[480px]:grid-cols-2 xl:grid-cols-4`,children:p}),t[23]=p,t[24]=D);let O;t[25]!==E||t[26]!==D?(O=(0,a.jsxs)(`div`,{className:`relative grid gap-4 p-4 sm:p-5 lg:grid-cols-[280px_minmax(0,1fr)] lg:gap-5`,children:[E,D]}),t[25]=E,t[26]=D,t[27]=O):O=t[27];let k;return t[28]!==f||t[29]!==O||t[30]!==g?(k=(0,a.jsxs)(`section`,{"aria-label":f,className:`auftauchen flaeche relative overflow-hidden rounded-3xl`,children:[g,O]}),t[28]=f,t[29]=O,t[30]=g,t[31]=k):k=t[31],k}var c={ok:`ok`,aus:`aus`,warn:`warn`,info:`info`,fehler:`rot`},l={ok:`text-text-3`,aus:`text-text-3`,warn:`text-bernstein`,info:`text-cyan-text`,fehler:`text-rot-text`},u={ok:`in Ordnung`,aus:`aus`,warn:`braucht Aufmerksamkeit`,info:`Info`,fehler:`Störung`};function d(e){let t=(0,i.c)(25),{bild:o,name:s,wert:d,zustand:f,zahl:p,onClick:m}=e,h=c[f],g;t[0]!==o||t[1]!==h?(g=(0,a.jsx)(r,{bild:o,punkt:h}),t[0]=o,t[1]=h,t[2]=g):g=t[2];let _;t[3]===s?_=t[4]:(_=(0,a.jsx)(`span`,{className:`truncate text-[14.5px] leading-snug font-medium`,children:s}),t[3]=s,t[4]=_);let v=l[f],y;t[5]===v?y=t[6]:(y=n(`truncate text-[12.5px] leading-snug`,v),t[5]=v,t[6]=y);let b;t[7]!==y||t[8]!==d?(b=(0,a.jsx)(`span`,{className:y,children:d}),t[7]=y,t[8]=d,t[9]=b):b=t[9];let x;t[10]===p?x=t[11]:(x=p&&(0,a.jsx)(`span`,{className:n(`truncate text-[12px] leading-snug`,p.stufe===`rot`?`text-rot-text`:p.stufe===`gelb`?`text-bernstein`:`text-text-3`),children:p.text}),t[10]=p,t[11]=x);let S=u[f],C;t[12]===S?C=t[13]:(C=(0,a.jsx)(`span`,{className:`sr-only`,children:S}),t[12]=S,t[13]=C);let w;t[14]!==_||t[15]!==b||t[16]!==x||t[17]!==C?(w=(0,a.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[_,b,x,C]}),t[14]=_,t[15]=b,t[16]=x,t[17]=C,t[18]=w):w=t[18];let T;t[19]!==w||t[20]!==g?(T=(0,a.jsxs)(a.Fragment,{children:[g,w]}),t[19]=w,t[20]=g,t[21]=T):T=t[21];let E=T,D;return t[22]!==E||t[23]!==m?(D=(0,a.jsx)(`li`,{children:m?(0,a.jsx)(`button`,{type:`button`,onClick:m,className:n(`flaeche-innen flex h-full w-full min-w-0 items-center gap-3 rounded-xl px-3 py-2.5 text-left`,`transition-colors hover:border-white/20 hover:bg-white/[0.05]`),children:E}):(0,a.jsx)(`div`,{className:`flaeche-innen flex h-full w-full min-w-0 items-center gap-3 rounded-xl px-3 py-2.5 text-left`,children:E})}),t[22]=E,t[23]=m,t[24]=D):D=t[24],D}export{s as n,d as t}; \ No newline at end of file +import{i as e,r as t,t as n}from"./dist-aE7UmubC.js";import{O as r}from"./index-CiJU28k0.js";var i=t(),a=e(),o={ok:{block:`bg-gruen/[0.07] ring-gruen/30`,glut:`var(--gruen)`,text:`text-gruen`},info:{block:`bg-cyan/[0.07] ring-cyan/30`,glut:`var(--cyan)`,text:`text-cyan-text`},gelb:{block:`bg-bernstein/[0.08] ring-bernstein/35`,glut:`var(--bernstein)`,text:`text-bernstein`},rot:{block:`bg-rot/10 ring-rot/40`,glut:`var(--rot)`,text:`text-rot-text`},stumm:{block:`bg-white/[0.04] ring-white/15`,glut:`var(--text-3)`,text:`text-text-2`}};function s(e){let t=(0,i.c)(32),{art:r,oben:s,mitte:c,unten:l,aktiv:u,onAnsehen:d,label:f,children:p}=e,m=o[r],h=`radial-gradient(closest-side, color-mix(in srgb, ${m.glut} 20%, transparent), transparent)`,g;t[0]===h?g=t[1]:(g=(0,a.jsx)(`div`,{"aria-hidden":!0,className:`glut-atmet pointer-events-none absolute -top-40 -left-32 size-[460px] rounded-full`,style:{background:h}}),t[0]=h,t[1]=g);let _=!u,v=`${s}: ${c}`,y=u?`cursor-pointer hover:brightness-125`:`cursor-default`,b=r===`gelb`&&`lampe-atmet`,x;t[2]!==m.block||t[3]!==y||t[4]!==b?(x=n(`flex min-h-[132px] flex-col items-start justify-center gap-1.5 rounded-2xl px-5 py-4 text-left ring-1 ring-inset transition-[filter]`,m.block,y,b),t[2]=m.block,t[3]=y,t[4]=b,t[5]=x):x=t[5];let S;t[6]===s?S=t[7]:(S=(0,a.jsx)(`span`,{className:`etikett text-[11px] tracking-[0.18em] text-text-3`,children:s}),t[6]=s,t[7]=S);let C;t[8]===m.text?C=t[9]:(C=n(`text-[30px] leading-tight font-semibold tracking-[-0.01em] sm:text-[34px]`,m.text),t[8]=m.text,t[9]=C);let w;t[10]!==c||t[11]!==C?(w=(0,a.jsx)(`span`,{className:C,children:c}),t[10]=c,t[11]=C,t[12]=w):w=t[12];let T;t[13]===l?T=t[14]:(T=(0,a.jsx)(`span`,{className:`text-[13.5px] text-text-2`,children:l}),t[13]=l,t[14]=T);let E;t[15]!==d||t[16]!==w||t[17]!==T||t[18]!==_||t[19]!==v||t[20]!==x||t[21]!==S?(E=(0,a.jsxs)(`button`,{type:`button`,onClick:d,disabled:_,"aria-label":v,className:x,children:[S,w,T]}),t[15]=d,t[16]=w,t[17]=T,t[18]=_,t[19]=v,t[20]=x,t[21]=S,t[22]=E):E=t[22];let D;t[23]===p?D=t[24]:(D=(0,a.jsx)(`ul`,{className:`m-0 grid list-none grid-cols-1 gap-2 p-0 min-[480px]:grid-cols-2 xl:grid-cols-4`,children:p}),t[23]=p,t[24]=D);let O;t[25]!==E||t[26]!==D?(O=(0,a.jsxs)(`div`,{className:`relative grid gap-4 p-4 sm:p-5 lg:grid-cols-[280px_minmax(0,1fr)] lg:gap-5`,children:[E,D]}),t[25]=E,t[26]=D,t[27]=O):O=t[27];let k;return t[28]!==f||t[29]!==O||t[30]!==g?(k=(0,a.jsxs)(`section`,{"aria-label":f,className:`auftauchen flaeche relative overflow-hidden rounded-3xl`,children:[g,O]}),t[28]=f,t[29]=O,t[30]=g,t[31]=k):k=t[31],k}var c={ok:`ok`,aus:`aus`,warn:`warn`,info:`info`,fehler:`rot`},l={ok:`text-text-3`,aus:`text-text-3`,warn:`text-bernstein`,info:`text-cyan-text`,fehler:`text-rot-text`},u={ok:`in Ordnung`,aus:`aus`,warn:`braucht Aufmerksamkeit`,info:`Info`,fehler:`Störung`};function d(e){let t=(0,i.c)(25),{bild:o,name:s,wert:d,zustand:f,zahl:p,onClick:m}=e,h=c[f],g;t[0]!==o||t[1]!==h?(g=(0,a.jsx)(r,{bild:o,punkt:h}),t[0]=o,t[1]=h,t[2]=g):g=t[2];let _;t[3]===s?_=t[4]:(_=(0,a.jsx)(`span`,{className:`truncate text-[14.5px] leading-snug font-medium`,children:s}),t[3]=s,t[4]=_);let v=l[f],y;t[5]===v?y=t[6]:(y=n(`truncate text-[12.5px] leading-snug`,v),t[5]=v,t[6]=y);let b;t[7]!==y||t[8]!==d?(b=(0,a.jsx)(`span`,{className:y,children:d}),t[7]=y,t[8]=d,t[9]=b):b=t[9];let x;t[10]===p?x=t[11]:(x=p&&(0,a.jsx)(`span`,{className:n(`truncate text-[12px] leading-snug`,p.stufe===`rot`?`text-rot-text`:p.stufe===`gelb`?`text-bernstein`:`text-text-3`),children:p.text}),t[10]=p,t[11]=x);let S=u[f],C;t[12]===S?C=t[13]:(C=(0,a.jsx)(`span`,{className:`sr-only`,children:S}),t[12]=S,t[13]=C);let w;t[14]!==_||t[15]!==b||t[16]!==x||t[17]!==C?(w=(0,a.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[_,b,x,C]}),t[14]=_,t[15]=b,t[16]=x,t[17]=C,t[18]=w):w=t[18];let T;t[19]!==w||t[20]!==g?(T=(0,a.jsxs)(a.Fragment,{children:[g,w]}),t[19]=w,t[20]=g,t[21]=T):T=t[21];let E=T,D;return t[22]!==E||t[23]!==m?(D=(0,a.jsx)(`li`,{children:m?(0,a.jsx)(`button`,{type:`button`,onClick:m,className:n(`flaeche-innen flex h-full w-full min-w-0 items-center gap-3 rounded-xl px-3 py-2.5 text-left`,`transition-colors hover:border-white/20 hover:bg-white/[0.05]`),children:E}):(0,a.jsx)(`div`,{className:`flaeche-innen flex h-full w-full min-w-0 items-center gap-3 rounded-xl px-3 py-2.5 text-left`,children:E})}),t[22]=E,t[23]=m,t[24]=D):D=t[24],D}export{s as n,d as t}; \ No newline at end of file diff --git a/frontend/dist/assets/MenueSchublade-CH6y_JGn.js b/frontend/dist/assets/MenueSchublade-CGkq_EXH.js similarity index 86% rename from frontend/dist/assets/MenueSchublade-CH6y_JGn.js rename to frontend/dist/assets/MenueSchublade-CGkq_EXH.js index 6d0d71a..941c21c 100644 --- a/frontend/dist/assets/MenueSchublade-CH6y_JGn.js +++ b/frontend/dist/assets/MenueSchublade-CGkq_EXH.js @@ -1 +1 @@ -import{i as e,r as t}from"./dist-aE7UmubC.js";import{F as n,I as r}from"./index-CJ1jXWsM.js";import{a as i,i as a,n as o,r as s,t as c}from"./sheet-DE9QulgP.js";var l=t(),u=e();function d(e){let t=(0,l.c)(8),{onSchliessen:d}=e,f;t[0]===d?f=t[1]:(f=e=>!e&&d(),t[0]=d,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,u.jsxs)(a,{className:`p-0`,children:[(0,u.jsx)(i,{asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsx)(n,{})})}),(0,u.jsx)(s,{className:`sr-only`,children:`Bereiche und Seiten`})]}),t[2]=p):p=t[2];let m;t[3]===d?m=t[4]:(m=(0,u.jsxs)(o,{side:`left`,className:`flex flex-col gap-7 border-white/[0.06] bg-[#0a0d14] px-4 pt-5 pb-[calc(1.25rem+env(safe-area-inset-bottom))] data-[side=left]:w-[300px]`,children:[p,(0,u.jsx)(r,{onGewaehlt:d})]}),t[3]=d,t[4]=m);let h;return t[5]!==f||t[6]!==m?(h=(0,u.jsx)(c,{open:!0,onOpenChange:f,children:m}),t[5]=f,t[6]=m,t[7]=h):h=t[7],h}export{d as MenueSchublade}; \ No newline at end of file +import{i as e,r as t}from"./dist-aE7UmubC.js";import{F as n,I as r}from"./index-CiJU28k0.js";import{a as i,i as a,n as o,r as s,t as c}from"./sheet-CPc8xmap.js";var l=t(),u=e();function d(e){let t=(0,l.c)(8),{onSchliessen:d}=e,f;t[0]===d?f=t[1]:(f=e=>!e&&d(),t[0]=d,t[1]=f);let p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,u.jsxs)(a,{className:`p-0`,children:[(0,u.jsx)(i,{asChild:!0,children:(0,u.jsx)(`div`,{children:(0,u.jsx)(n,{})})}),(0,u.jsx)(s,{className:`sr-only`,children:`Bereiche und Seiten`})]}),t[2]=p):p=t[2];let m;t[3]===d?m=t[4]:(m=(0,u.jsxs)(o,{side:`left`,className:`flex flex-col gap-7 border-white/[0.06] bg-[#0a0d14] px-4 pt-5 pb-[calc(1.25rem+env(safe-area-inset-bottom))] data-[side=left]:w-[300px]`,children:[p,(0,u.jsx)(r,{onGewaehlt:d})]}),t[3]=d,t[4]=m);let h;return t[5]!==f||t[6]!==m?(h=(0,u.jsx)(c,{open:!0,onOpenChange:f,children:m}),t[5]=f,t[6]=m,t[7]=h):h=t[7],h}export{d as MenueSchublade}; \ No newline at end of file diff --git a/frontend/dist/assets/Modelle-Dhlq1FFz.js b/frontend/dist/assets/Modelle-CnfYELFf.js similarity index 75% rename from frontend/dist/assets/Modelle-Dhlq1FFz.js rename to frontend/dist/assets/Modelle-CnfYELFf.js index 64e8a8b..b480302 100644 --- a/frontend/dist/assets/Modelle-Dhlq1FFz.js +++ b/frontend/dist/assets/Modelle-CnfYELFf.js @@ -1 +1 @@ -import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{n as a,t as o}from"./useSelector-DBNxxw17.js";import{n as s}from"./useMatch-DDVpPKJI.js";import{t as c}from"./chevron-right-DF8ikrVh.js";import{t as l}from"./search-RXhRizww.js";import{$ as u,At as d,Dn as f,Dt as p,Et as m,Ht as h,M as g,N as _,Nt as v,On as y,Pt as b,Qt as x,Tt as S,Xt as C,Zt as w,an as T,dn as E,et as D,fn as O,g as k,h as A,hn as j,it as M,jt as N,m as P,mn as F,nn as I,rn as L,rt as R,un as z,wt as B,yt as V}from"./index-CJ1jXWsM.js";import{t as H}from"./button-DwYvdWVr.js";import{a as ee,i as te,n as U,r as W,t as G}from"./sheet-DE9QulgP.js";import{t as ne}from"./Bestaetigen-6C3zYuEE.js";import{t as K}from"./Panel-uT1S5ZGr.js";import{a as re,r as ie,s as ae,t as q}from"./Auftraege-CutWwY2J.js";import{t as J}from"./breite-k-QN6GPl.js";function oe(e){let t=a();return o(t.stores.location,s(e,t))}var Y=r(),X=t(e(),1),Z=n(),Q=new Intl.NumberFormat(`de-DE`),se=240,ce=24,le={ArrowLeft:e=>Math.max(0,e-1),ArrowRight:(e,t)=>Math.min(t-1,e+1),Home:()=>0,End:(e,t)=>t-1};function ue(e){let t=(0,Y.c)(20),{saeule:n,reihen:r,summe:a,className:o,links:s}=e,c;t[0]===o?c=t[1]:(c=i(`flex flex-col gap-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 py-2`,o),t[0]=o,t[1]=c);let l;t[2]===s?l=t[3]:(l=s===void 0?void 0:{left:s},t[2]=s,t[3]=l);let u;t[4]===n.lang?u=t[5]:(u=(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:n.lang}),t[4]=n.lang,t[5]=u);let d;if(t[6]!==r||t[7]!==n.werte){let e;t[9]===n.werte?e=t[10]:(e=e=>(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 text-sm`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 shrink-0 self-center rounded-full`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(n.werte[e.name]??0)}),(0,Z.jsx)(`span`,{className:`min-w-0 text-text-3`,children:e.name})]},e.name),t[9]=n.werte,t[10]=e),d=r.map(e),t[6]=r,t[7]=n.werte,t[8]=d}else d=t[8];let f;t[11]!==r.length||t[12]!==a?(f=r.length>1&&(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 border-t border-white/[0.06] pt-1 text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(a)}),(0,Z.jsx)(`span`,{className:`text-text-3`,children:`zusammen`})]}),t[11]=r.length,t[12]=a,t[13]=f):f=t[13];let p;return t[14]!==c||t[15]!==l||t[16]!==u||t[17]!==d||t[18]!==f?(p=(0,Z.jsxs)(`div`,{role:`status`,className:c,style:l,children:[u,d,f]}),t[14]=c,t[15]=l,t[16]=u,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}function de(e){let t=(0,Y.c)(92),{saeulen:n,reihen:r,titel:a,summen:o,hoehe:s,spalte:c}=e,l=o===void 0?`alle`:o,u=s===void 0?200:s,d=c===void 0?`Zeitraum`:c,[f,p]=J(),[m,h]=(0,X.useState)(null),g=n.length,_,v,y,b,x,S,C,w,T,E;if(t[0]!==p||t[1]!==u||t[2]!==m||t[3]!==g||t[4]!==f||t[5]!==r||t[6]!==n||t[7]!==d||t[8]!==l||t[9]!==a){let e;t[20]===n?e=t[21]:(e=e=>n.some(t=>(t.werte[e.name]??0)>0),t[20]=n,t[21]=e);let o=r.filter(e),s=n.map(e=>o.reduce((t,n)=>t+(e.werte[n.name]??0),0)),c=Math.max(0,...s),D=k(c),O=D[D.length-1],j;t[22]===O?j=t[23]:(j=Q.format(O),t[22]=O,t[23]=j);let M=Math.max(28,j.length*7+12),N=n.some(ge)?34:22,F;t[24]!==M||t[25]!==N?(F={links:M,rechts:4,oben:20,unten:N},t[24]=M,t[25]=N,t[26]=F):F=t[26];let I=F,L=Math.max(1,p-I.links-I.rechts),R=u-I.oben-I.unten,z=L/Math.max(1,g),B=Math.min(ce,Math.max(3,z*.72)),V;t[27]!==R||t[28]!==O||t[29]!==I.oben?(V=e=>I.oben+R-e/O*R,t[27]=R,t[28]=O,t[29]=I.oben,t[30]=V):V=t[30];let H=V,ee=I.oben+R,te;t[31]!==z||t[32]!==I.links?(te=e=>I.links+(e+.5)*z,t[31]=z,t[32]=I.links,t[33]=te):te=t[33];let U=te,W;t[34]===n?W=t[35]:(W=Math.max(1,...n.map(he)),t[34]=n,t[35]=W);let G=W*6.6+8,ne;t[36]!==z||t[37]!==G?(ne=[1,3,6,12].find(e=>e*z>=G)??24,t[36]=z,t[37]=G,t[38]=ne):ne=t[38];let K=ne,re=s.indexOf(c),ie=z<34,ae;t[39]===g?ae=t[40]:(ae=function(e){if(g===0)return;let t=e.currentTarget.getBoundingClientRect();h(Math.min(g-1,Math.max(0,Math.floor((e.clientX-t.left)/t.width*g))))},t[39]=g,t[40]=ae);let q=ae,J;t[41]===g?J=t[42]:(J=function(e){let t=le[e.key];g!==0&&t&&(e.preventDefault(),h(e=>t(e??g-1,g)))},t[41]=g,t[42]=J);let oe=J,Y=m===null?void 0:n[m],X=p>=360,de=m===null?0:Math.max(0,Math.min(p-se,U(m)+12+se>p?U(m)-12-se:U(m)+12));_=`flex flex-col gap-2`,v=o.length>1&&(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:o.map(me)});let _e;t[43]===g?_e=t[44]:(_e=()=>h(e=>e??(g?g-1:null)),t[43]=g,t[44]=_e);let ve;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>h(null),t[45]=ve):ve=t[45];let ye;t[46]!==Y||t[47]!==z||t[48]!==m||t[49]!==R||t[50]!==I.links||t[51]!==I.oben?(ye=Y&&m!==null&&(0,Z.jsx)(`rect`,{x:I.links+m*z,y:I.oben-4,width:z,height:R+4,rx:4,fill:`var(--erhaben)`}),t[46]=Y,t[47]=z,t[48]=m,t[49]=R,t[50]=I.links,t[51]=I.oben,t[52]=ye):ye=t[52];let be;t[53]!==p||t[54]!==I.links||t[55]!==I.rechts||t[56]!==H?(be=e=>(0,Z.jsxs)(`g`,{children:[(0,Z.jsx)(`line`,{x1:I.links,x2:p-I.rechts,y1:H(e),y2:H(e),strokeWidth:1,stroke:e===0?`var(--linie-stark)`:`var(--linie)`}),(0,Z.jsx)(`text`,{x:I.links-8,y:H(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:Q.format(e)})]},e),t[53]=p,t[54]=I.links,t[55]=I.rechts,t[56]=H,t[57]=be):be=t[57];let xe;t[58]!==L||t[59]!==R||t[60]!==c||t[61]!==I.links||t[62]!==I.oben?(xe=c===0&&(0,Z.jsx)(`text`,{x:I.links+L/2,y:I.oben+R/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Keine Anfragen in diesem Zeitraum`}),t[58]=L,t[59]=R,t[60]=c,t[61]=I.links,t[62]=I.oben,t[63]=xe):xe=t[63];let Se;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Se=e=>{e.pointerType!==`touch`&&h(null)},t[64]=Se):Se=t[64];let Ce;t[65]!==u||t[66]!==L||t[67]!==I.links||t[68]!==q?(Ce=(0,Z.jsx)(`rect`,{x:I.links,y:0,width:L,height:u,fill:`transparent`,onPointerMove:q,onPointerDown:q,onPointerLeave:Se}),t[65]=u,t[66]=L,t[67]=I.links,t[68]=q,t[69]=Ce):Ce=t[69],y=(0,Z.jsxs)(`div`,{ref:f,className:`relative w-full`,children:[(0,Z.jsxs)(`svg`,{width:p,height:u,viewBox:`0 0 ${p} ${u}`,role:`img`,"aria-label":a,tabIndex:0,onKeyDown:oe,onFocus:_e,onBlur:ve,className:`block h-auto max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[ye,D.map(be),n.map((e,t)=>{let n=U(t)-B/2;return(0,Z.jsxs)(`g`,{children:[A(o.map(t=>e.werte[t.name]??0),H).filter(pe).map(e=>e.oben?(0,Z.jsx)(`path`,{d:P(n,e.y,B,e.hoehe),fill:o[e.index].farbe},e.index):(0,Z.jsx)(`rect`,{x:n,y:e.y,width:B,height:e.hoehe,fill:o[e.index].farbe},e.index)),s[t]>0&&(l===`alle`||t===re)&&(0,Z.jsx)(`text`,{x:U(t),y:H(s[t])-6,textAnchor:`middle`,className:i(`fill-text-2 font-mono`,ie?`text-[10px]`:`text-[11px]`),children:Q.format(s[t])}),(e.raster??t)%K===0&&(0,Z.jsxs)(`text`,{x:U(t),y:ee+15,textAnchor:`middle`,className:`fill-text-3 font-mono text-[11px]`,children:[e.achse,e.achse2&&(0,Z.jsx)(`tspan`,{x:U(t),dy:13,className:`text-[10px]`,children:e.achse2})]})]},e.schluessel)}),xe,Ce]}),Y&&m!==null&&X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m],links:de,className:`pointer-events-none absolute top-1 z-10 w-60 shadow-lg`})]}),b=Y&&m!==null&&!X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m]}),T=`text-sm`,t[70]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[70]=E):E=t[70],w=`mt-2 overflow-x-auto`,S=`w-full border-collapse text-xs`;let we;t[71]===d?we=t[72]:(we=(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-left font-normal`,children:d}),t[71]=d,t[72]=we),C=(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{className:`text-text-3`,children:[we,o.map(fe),o.length>1&&(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 text-right font-normal`,children:`Zusammen`})]})}),x=n.map((e,t)=>(0,Z.jsxs)(`tr`,{className:`border-t border-white/[0.06]`,children:[(0,Z.jsx)(`th`,{scope:`row`,className:`py-1 pr-3 text-left font-normal text-text-3`,children:e.lang}),o.map(t=>(0,Z.jsx)(`td`,{className:`ziffern py-1 pr-3 text-right text-text-2`,children:Q.format(e.werte[t.name]??0)},t.name)),o.length>1&&(0,Z.jsx)(`td`,{className:`ziffern py-1 text-right text-foreground`,children:Q.format(s[t])})]},e.schluessel)),t[0]=p,t[1]=u,t[2]=m,t[3]=g,t[4]=f,t[5]=r,t[6]=n,t[7]=d,t[8]=l,t[9]=a,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C,t[17]=w,t[18]=T,t[19]=E}else _=t[10],v=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16],w=t[17],T=t[18],E=t[19];let D;t[73]===x?D=t[74]:(D=(0,Z.jsx)(`tbody`,{children:x}),t[73]=x,t[74]=D);let O;t[75]!==D||t[76]!==S||t[77]!==C?(O=(0,Z.jsxs)(`table`,{className:S,children:[C,D]}),t[75]=D,t[76]=S,t[77]=C,t[78]=O):O=t[78];let j;t[79]!==O||t[80]!==w?(j=(0,Z.jsx)(`div`,{className:w,children:O}),t[79]=O,t[80]=w,t[81]=j):j=t[81];let M;t[82]!==j||t[83]!==T||t[84]!==E?(M=(0,Z.jsxs)(`details`,{className:T,children:[E,j]}),t[82]=j,t[83]=T,t[84]=E,t[85]=M):M=t[85];let N;return t[86]!==_||t[87]!==v||t[88]!==y||t[89]!==b||t[90]!==M?(N=(0,Z.jsxs)(`div`,{className:_,children:[v,y,b,M]}),t[86]=_,t[87]=v,t[88]=y,t[89]=b,t[90]=M,t[91]=N):N=t[91],N}function fe(e){return(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-right font-normal [overflow-wrap:anywhere]`,children:e.name},e.name)}function pe(e){return e.hoehe>0}function me(e){return(0,Z.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),e.name]},e.name)}function he(e){return e.achse.length}function ge(e){return e.achse2}var _e=`Europe/Berlin`,ve=[`var(--reihe-1)`,`var(--reihe-2)`,`var(--reihe-3)`],ye={name:`Weitere`,farbe:`var(--reihe-weitere)`},be=new Intl.NumberFormat(`de-DE`),xe=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Se=new Intl.DateTimeFormat(`en-CA`,{timeZone:_e}),Ce=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:_e}),we=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,hourCycle:`h23`,timeZone:_e}),Te=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:`UTC`}),Ee=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,timeZone:`UTC`}),$=e=>be.format(e);function De(e){if(!(e>0))return`0 %`;let t=e*100;return t<.1?`unter 0,1 %`:`${t<10?xe.format(t):be.format(Math.round(t))} %`}function Oe(e,t=!1){if(e==null||!Number.isFinite(e)||e<0)return`–`;if(Math.round(e*1e3)<1e3)return`${Math.round(e*1e3)} ms`;if(e<9.95)return`${xe.format(e)} s`;let n=Math.round(e);if(n<60)return`${n} s`;if(n<3600&&!t)return n%60?`${Math.floor(n/60)} min ${n%60} s`:`${n/60} min`;let r=Math.round(e/60);return r<60?`${r} min`:r%60?`${Math.floor(r/60)} h ${r%60} min`:`${r/60} h`}var ke={400:`fehlerhafte Anfrage`,404:`nicht gefunden`,408:`Zeitüberschreitung`,413:`Anfrage zu groß`,429:`zu viele Anfragen`,499:`vom Absender abgebrochen`,500:`Fehler beim Modell`,502:`Modell nicht erreichbar`,503:`gerade nicht verfügbar`,504:`Zeitüberschreitung`};function Ae(e){return Object.entries(e??{}).sort(([e,t],[n,r])=>r-t||e.localeCompare(n)).map(([e,t])=>ke[e]?`${$(t)}× ${ke[e]} (${e})`:`${$(t)}× Status ${e}`).join(` · `)}function je(e){return e===null||e<.01?{art:`grau`,wort:null}:e>=.05?{art:`rot`,wort:`hoch`}:{art:`bernstein`,wort:`auffällig`}}var Me=e=>String(e).padStart(2,`0`),Ne=e=>Object.values(e??{}).reduce((e,t)=>e+t,0),Pe=e=>Te.format(e).replace(`.`,``);function Fe(e){return Number(we.formatToParts(e).find(e=>e.type===`hour`)?.value??0)%24}function Ie(e){let[,t,n]=e.split(`-`);return`${Ee.format(new Date(`${e}T12:00:00Z`))}, ${n}.${t}.`}function Le(e,t=new Date){let n=e.stand?new Date(e.stand):t,r=Se.format(n),i=new Date(Date.parse(`${r}T12:00:00Z`)-864e5).toISOString().slice(0,10),a=e.gesamt?.anfragen??e.absender.reduce((e,t)=>e+t.anfragen,0),o=e.gesamt?.dauer_summe_s??null,s=new Map(e.absender.map((e,t)=>[e.name,e.reihe??t])),c=e.absender.map(e=>{let t=s.get(e.name)??ve.length,n=t[e.name,e.reihe])),u=[];for(let e of[...c].sort((e,t)=>(s.get(e.name)??99)-(s.get(t.name)??99)))u.some(t=>t.name===e.reihe)||u.push({name:e.reihe,farbe:e.farbe});let d=e=>{let t={};for(let[n,r]of Object.entries(e??{})){let e=l.get(n)??ye.name;t[e]=(t[e]??0)+r,e===ye.name&&!u.some(t=>t.name===e)&&u.push({...ye})}return t},f=Object.keys(e.je_tag??{}).sort(),p=f.map(t=>{let i=t===r;return{schluessel:t,achse:Pe(new Date(`${t}T12:00:00Z`)),achse2:i?`heute`:`${Number(t.slice(8))}.`,lang:`${Ie(t)}${i?` (heute bis ${Ce.format(n)})`:``}`,werte:d(e.je_tag[t])}}),m;if(e.stunden?.length)m=e.stunden.map((e,t,n)=>{let a=new Date(e.beginn),o=Fe(a),s=Se.format(a),c=s===r?`Heute`:s===i?`Gestern`:Ie(s),l=t===n.length-1?` bis jetzt`:`–${Me((o+1)%24)}:00`;return{schluessel:e.beginn,achse:`${Me(o)}:00`,raster:o,lang:`${c} ${Me(o)}:00${l}`,werte:d(e.je_absender)}});else{let t=Fe(n),r=e.letzte_24h??[];m=[...r.slice(t+1),...r.slice(0,t+1)].map(e=>{let t=Number(e.stunde);return{schluessel:e.stunde,achse:`${Me(t)}:00`,raster:t,lang:`${Me(t)}:00–${Me((t+1)%24)}:00`,werte:d(e.je_absender)}})}let h=f.filter(e=>e!==r),g=e.seit?Se.format(new Date(e.seit)):null,_=e.ladevorgaenge??Object.entries(e.zuletzt_geladen??{}).sort(([,e],[,t])=>Date.parse(t)-Date.parse(e)).map(([e,t])=>({modell:e,anzahl:null,zeiten:[t]}));return{absender:c,reihen:u,tage:p,stunden:m,gesamt:{anfragen:a,fehler:e.gesamt?.fehler??null,fehlerCodes:e.gesamt?.fehler_codes??{},typisch:e.gesamt?.dauer_typisch_s??null,p90:e.gesamt?.dauer_p90_s??null,summe:o},heute:Ne(e.je_tag?.[r]),gestern:Ne(e.je_tag?.[i]),schnitt:h.length?h.reduce((t,n)=>t+Ne(e.je_tag[n]),0)/h.length:null,zeitraum:g?`seit ${Pe(new Date(`${g}T12:00:00Z`))} ${g.slice(8)}.${g.slice(5,7)}.`:`letzte ${e.tage} Tage`,stand:e.stand?Ce.format(n):null,modelle:_}}var Re={grau:`text-foreground`,bernstein:`text-bernstein`,rot:`text-rot-text`};function ze(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,art:o}=e,s=o===void 0?`grau`:o,c;t[0]===n?c=t[1]:(c=(0,Z.jsx)(`span`,{className:`etikett text-[10.5px] tracking-[0.14em] text-text-3`,children:n}),t[0]=n,t[1]=c);let l=Re[s],u;t[2]===l?u=t[3]:(u=i(`font-anzeige text-[28px] leading-none font-bold`,l),t[2]=l,t[3]=u);let d;t[4]!==u||t[5]!==r?(d=(0,Z.jsx)(`span`,{className:u,children:r}),t[4]=u,t[5]=r,t[6]=d):d=t[6];let f;t[7]===a?f=t[8]:(f=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=f);let p;return t[9]!==c||t[10]!==d||t[11]!==f?(p=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 flaeche-innen rounded-2xl px-3.5 py-3`,children:[c,d,f]}),t[9]=c,t[10]=d,t[11]=f,t[12]=p):p=t[12],p}var Be=`lg:grid-cols-[minmax(0,1.5fr)_minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,0.8fr)]`;function Ve(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,leise:o}=e,s;t[0]===n?s=t[1]:(s=(0,Z.jsx)(`span`,{className:`text-xs text-text-3 lg:hidden`,children:n}),t[0]=n,t[1]=s);let c=o?`text-text-3`:`text-foreground`,l;t[2]===c?l=t[3]:(l=i(`ziffern text-sm`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==r?(u=(0,Z.jsx)(`span`,{className:l,children:r}),t[4]=l,t[5]=r,t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=d);let f;return t[9]!==s||t[10]!==u||t[11]!==d?(f=(0,Z.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[s,u,d]}),t[9]=s,t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function He(e){let t=(0,Y.c)(5),{zeilen:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsxs)(`div`,{role:`row`,className:i(`etikett hidden gap-x-4 pb-2 text-[10.5px] tracking-[0.14em] text-text-3 lg:grid`,Be),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Absender`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Anfragen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Typische Antwort`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Rechenzeit`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Fehler`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`})]}),t[0]=r):r=t[0];let a;t[1]===n?a=t[2]:(a=n.map(Ue),t[1]=n,t[2]=a);let o;return t[3]===a?o=t[4]:(o=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Nutzung je Absender`,className:`flex flex-col`,children:[r,a]}),t[3]=a,t[4]=o),o}function Ue(e){return(0,Z.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2.5 border-t border-white/[0.06] py-3 lg:items-start`,Be),children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-2 text-[15px] font-medium lg:col-span-1`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`min-w-0 break-words`,children:e.name})]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex min-w-0 flex-col gap-1.5 lg:col-span-1`,children:[(0,Z.jsxs)(`span`,{className:`text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern`,children:$(e.anfragen)}),(0,Z.jsxs)(`span`,{className:`text-text-3`,children:[` · `,De(e.anteil),` aller Anfragen`]})]}),(0,Z.jsx)(`span`,{className:`h-1.5 w-full max-w-56 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,Z.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.max(1,e.anteil*100)}%`,background:e.farbe}})})]}),(0,Z.jsx)(Ve,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(Ve,{label:`Rechenzeit`,wert:Oe(e.summe,!0),zusatz:e.zeitAnteil===null?void 0:`${De(e.zeitAnteil)} aller Rechenzeit`}),(0,Z.jsx)(Ve,{label:`Fehler`,leise:e.fehler===0,wert:e.fehler===null?`–`:e.fehler===0?`keine`:`${$(e.fehler)} · ${De(e.fehler/e.anfragen)}`,zusatz:e.fehler?Ae(e.fehlerCodes):void 0}),(0,Z.jsx)(Ve,{label:`Zuletzt`,wert:e.zuletzt?C(e.zuletzt):`–`})]},e.name)}function We(e){let t=(0,Y.c)(11),{titel:n,zusatz:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,Z.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r}),t[2]=r,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==i||t[8]!==s||t[9]!==n?(c=(0,Z.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 flaeche-innen rounded-2xl p-4`,children:[s,i]}),t[7]=i,t[8]=s,t[9]=n,t[10]=c):c=t[10],c}function Ge(e){let t=(0,Y.c)(29),{modelle:n,rollen:r}=e;if(n.length===0)return null;let i,a,o,s,l,u;if(t[0]!==n){let e=n.every(Je)?n.reduce(qe,0):null;u=`group flaeche-innen rounded-2xl px-4 open:pb-2`,s=`flex min-h-12 cursor-pointer list-none flex-wrap items-center justify-between gap-x-3 gap-y-1 py-2 [&::-webkit-details-marker]:hidden`,t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Z.jsx)(c,{className:`size-4 shrink-0 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Wann welches Modell geladen wurde`]}),t[7]=l):l=t[7],i=`ziffern text-sm text-text-2`,a=n.length===1?`1 Modell`:`${n.length} Modelle`,o=e===null?``:` · ${$(e)}× geladen`,t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u}else i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6];let d;t[8]!==i||t[9]!==a||t[10]!==o?(d=(0,Z.jsxs)(`span`,{className:i,children:[a,o]}),t[8]=i,t[9]=a,t[10]=o,t[11]=d):d=t[11];let f;t[12]!==s||t[13]!==l||t[14]!==d?(f=(0,Z.jsxs)(`summary`,{className:s,children:[l,d]}),t[12]=s,t[13]=l,t[14]=d,t[15]=f):f=t[15];let p;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(`p`,{className:`pb-1 text-sm text-text-2`,children:`Gezählt wird, wie oft sich ein Modell nach dem Laden bereit meldete: nach einem Neustart von llama-swap oder wenn es auf Abruf gebraucht wurde.`}),t[16]=p):p=t[16];let m;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsxs)(`div`,{role:`row`,className:`etikett hidden gap-x-4 py-2 text-[10.5px] tracking-[0.14em] text-text-3 sm:grid sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)]`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Modell`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Geladen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Davor`})]}),t[17]=m):m=t[17];let h;if(t[18]!==n||t[19]!==r){let e;t[21]===r?e=t[22]:(e=e=>(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1 border-t border-white/[0.06] py-2.5 sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)] sm:items-baseline`,children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.modell}),r[e.modell]&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r[e.modell]})]}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-sm text-text-2 sm:text-left`,children:e.anzahl===null?`–`:`${$(e.anzahl)}×`}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-2 sm:col-span-1`,children:[(0,Z.jsx)(`span`,{className:`font-sans text-text-3 sm:hidden`,children:`zuletzt `}),C(e.zeiten[0])]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-3 sm:col-span-1`,children:[e.zeiten.length>1&&(0,Z.jsx)(`span`,{className:`font-sans sm:hidden`,children:`davor `}),e.zeiten.length>1?e.zeiten.slice(1,4).map(Ke).join(` · `):(0,Z.jsx)(`span`,{className:`hidden sm:inline`,children:`–`})]})]},e.modell),t[21]=r,t[22]=e),h=n.map(e),t[18]=n,t[19]=r,t[20]=h}else h=t[20];let g;t[23]===h?g=t[24]:(g=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Ladevorgänge je Modell`,className:`flex flex-col`,children:[m,h]}),t[23]=h,t[24]=g);let _;return t[25]!==g||t[26]!==u||t[27]!==f?(_=(0,Z.jsxs)(`details`,{className:u,children:[f,p,g]}),t[25]=g,t[26]=u,t[27]=f,t[28]=_):_=t[28],_}function Ke(e){return C(e)}function qe(e,t){return e+(t.anzahl??0)}function Je(e){return e.anzahl!==null}function Ye(e){let t=(0,Y.c)(23),{nutzung:n,laedt:r,fehler:i,rollen:a}=e,o;t[0]===a?o=t[1]:(o=a===void 0?{}:a,t[0]=a,t[1]=o);let s=o;if(!n){let e;return t[2]!==i||t[3]!==r?(e=(0,Z.jsx)(K,{titel:`Wer nutzt die Modelle`,children:r?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Nutzung lässt sich gerade nicht lesen`,i?`: ${i}`:`.`]})}),t[2]=i,t[3]=r,t[4]=e):e=t[4],e}let c,l,u,d,f;if(t[5]!==n){l=Le(n);let e=l.gesamt,r=e.fehler!==null&&e.anfragen?e.fehler/e.anfragen:null,i;t[11]===r?i=t[12]:(i=je(r),t[11]=r,t[12]=i);let a=i;c=K,u=`Wer nutzt die Modelle`,d=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[l.zeitraum,l.stand?` · Stand ${l.stand}`:``]}),f=e.anfragen===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Anfragen aufgezeichnet.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,Z.jsx)(ze,{label:`Anfragen`,wert:$(e.anfragen),zusatz:l.schnitt===null?void 0:`im Schnitt ${$(Math.round(l.schnitt))} am Tag`}),(0,Z.jsx)(ze,{label:`Heute`,wert:$(l.heute),zusatz:`${l.stand?`bis ${l.stand} · `:``}gestern ${$(l.gestern)}`}),(0,Z.jsx)(ze,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(ze,{label:`Fehler`,wert:e.fehler===null?`–`:$(e.fehler),art:a.art,zusatz:e.fehler===null?void 0:e.fehler===0?`alle beantwortet`:`${De(r??0)} der Anfragen${a.wort?` · ${a.wort}`:``}`})]}),(0,Z.jsx)(He,{zeilen:l.absender}),(0,Z.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,Z.jsx)(We,{titel:`Anfragen je Tag`,zusatz:`letzte 7 Tage, heute bis jetzt`,children:(0,Z.jsx)(de,{saeulen:l.tage,reihen:l.reihen,spalte:`Tag`,titel:`Anfragen je Tag der letzten 7 Tage, gestapelt nach Absender`})}),(0,Z.jsx)(We,{titel:`Anfragen je Stunde`,zusatz:`letzte 24 Stunden`,children:(0,Z.jsx)(de,{saeulen:l.stunden,reihen:l.reihen,spalte:`Stunde`,summen:`hoechste`,titel:`Anfragen je Stunde der letzten 24 Stunden, gestapelt nach Absender`})})]})]}),t[5]=n,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];let p;t[13]!==l.modelle||t[14]!==s?(p=(0,Z.jsx)(Ge,{modelle:l.modelle,rollen:s}),t[13]=l.modelle,t[14]=s,t[15]=p):p=t[15];let m;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat-Anfragen an llama-swap, gelesen aus seinem Protokoll und alle 10 Minuten neu gerechnet. NerdQuiz fragt direkt dort an, Lucy und OpenChamber über MC2. Antwortzeit: bis die Antwort ganz da war. Rechenzeit: alle Antwortzeiten zusammen, gleichzeitige Anfragen zählen einzeln.`}),t[16]=m):m=t[16];let h;return t[17]!==c||t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p?(h=(0,Z.jsxs)(c,{titel:u,rechts:d,children:[f,p,m]}),t[17]=c,t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=h):h=t[22],h}var Xe={coder:`Coder`};function Ze(e){let t=(0,Y.c)(102),{offen:n,onSchliessen:r,rollenJetzt:i}=e,a=V(),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(null),[p,m]=(0,X.useState)(``),[h,g]=(0,X.useState)(null),_=(0,X.useRef)(!1),v,y;t[0]===c?(v=t[1],y=t[2]):(v=[`hf-suche`,c],y=()=>j(`/api/hf/search?q=${encodeURIComponent(c)}`),t[0]=c,t[1]=v,t[2]=y);let b=c.length>1,S;t[3]!==v||t[4]!==y||t[5]!==b?(S={queryKey:v,queryFn:y,enabled:b},t[3]=v,t[4]=y,t[5]=b,t[6]=S):S=t[6];let C=f(S),w,T;t[7]===u?(w=t[8],T=t[9]):(w=[`hf-quants`,u],T=()=>j(`/api/hf/quants?repo=${encodeURIComponent(u??``)}`),t[7]=u,t[8]=w,t[9]=T);let E=!!u,D;t[10]!==w||t[11]!==T||t[12]!==E?(D={queryKey:w,queryFn:T,enabled:E},t[10]=w,t[11]=T,t[12]=E,t[13]=D):D=t[13];let O=f(D),k,A,M,N,P,F,L,R,z,B,K,re,q;if(t[14]!==h||t[15]!==o||t[16]!==a||t[17]!==n||t[18]!==r||t[19]!==O.data||t[20]!==O.error||t[21]!==O.isError||t[22]!==O.isFetching||t[23]!==u||t[24]!==p||t[25]!==i||t[26]!==C){let e=(O.data?.quants??[]).map($e),c=p?Xe[p]??p:null,f;t[40]!==u||t[41]!==p||t[42]!==i||t[43]!==c?(f=c&&u?ae(u,c,i[p]):null,t[40]=u,t[41]=p,t[42]=i,t[43]=c,t[44]=f):f=t[44],M=f;let v;t[45]!==h||t[46]!==a||t[47]!==r||t[48]!==u||t[49]!==p?(v=function(){u&&h&&!_.current&&(_.current=!0,a.mutate({repo:u,quant:h.quant,rolle:p||null},{onSuccess:e=>{g(null),e.ok!==!1&&r()},onError:()=>g(null),onSettled:()=>{_.current=!1}}))},t[45]=h,t[46]=a,t[47]=r,t[48]=u,t[49]=p,t[50]=v):v=t[50],N=v,A=G,K=n,t[51]===r?re=t[52]:(re=e=>!e&&r(),t[51]=r,t[52]=re),k=U,L=`right`,R=`gap-3 overflow-y-auto border-white/10 bg-[#0e121a] data-[side=right]:w-full data-[side=right]:sm:max-w-xl`,t[53]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,Z.jsxs)(te,{children:[(0,Z.jsx)(ee,{className:`text-[19px] font-semibold`,children:`Modelle selbst suchen`}),(0,Z.jsx)(W,{className:`text-text-2`,children:`Auf Hugging Face suchen, Quantisierung wählen, installieren.`})]}),t[53]=z):z=t[53];let y;t[54]===o?y=t[55]:(y=e=>{e.preventDefault(),d(null),l(o.trim())},t[54]=o,t[55]=y);let b;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),t[56]=b):b=t[56];let S;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>s(e.target.value),t[57]=S):S=t[57];let w;t[58]===o?w=t[59]:(w=(0,Z.jsx)(`input`,{id:`hf-suche`,value:o,onChange:S,placeholder:`z. B. Qwen3.8 GGUF`,className:`h-11 min-w-0 flex-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-cyan/60 focus:bg-white/[0.06]`}),t[58]=o,t[59]=w);let T;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,Z.jsx)(H,{type:`submit`,children:`Suchen`}),t[60]=T):T=t[60],t[61]!==y||t[62]!==w?(B=(0,Z.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:y,children:[b,w,T]}),t[61]=y,t[62]=w,t[63]=B):B=t[63],q=`flex flex-col px-4 pb-4`,t[64]!==u||t[65]!==C?(P=!u&&(0,Z.jsxs)(Z.Fragment,{children:[C.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!C.isFetching&&C.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`py-3 text-sm text-rot-text`,children:[`Die Suche ging nicht: `,C.error.message]}),!C.isFetching&&C.data?.results.length===0&&(0,Z.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Keine Treffer. Versuch einen anderen Suchbegriff — oder Hugging Face ist gerade nicht erreichbar.`}),C.data?.results.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>d(e.repo),className:`flex min-h-11 items-center justify-between gap-3 border-t border-white/[0.06] py-2 text-left hover:text-cyan`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,Z.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[I(e.downloads),` ↓`]})]},e.repo))]}),t[64]=u,t[65]=C,t[66]=P):P=t[66],F=u&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:u}),(0,Z.jsx)(H,{variant:`ghost`,size:`sm`,onClick:()=>d(null),children:`Zurück`})]}),(0,Z.jsxs)(`label`,{className:`flex flex-wrap items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,Z.jsxs)(`select`,{value:p,onChange:e=>m(e.target.value),className:`h-11 min-w-0 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-foreground`,children:[(0,Z.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),Object.entries(Xe).map(Qe)]})]}),M&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-sm leading-relaxed text-bernstein`,children:M}),O.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),!O.isFetching&&O.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Dateien dieses Modells ließen sich nicht lesen: `,O.error.message]}),!O.isFetching&&O.data&&e.length===0&&(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Hier gibt es keine GGUF-Dateien, die sich installieren lassen.`}),e.map(e=>{let t=e.quant??e.name??`?`,n=e.total_bytes??e.size_bytes;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-white/[0.06] py-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:x(n,1)}):null,(0,Z.jsx)(H,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>g({quant:t,bytes:n}),children:`Installieren`})]})]},t)})]}),t[14]=h,t[15]=o,t[16]=a,t[17]=n,t[18]=r,t[19]=O.data,t[20]=O.error,t[21]=O.isError,t[22]=O.isFetching,t[23]=u,t[24]=p,t[25]=i,t[26]=C,t[27]=k,t[28]=A,t[29]=M,t[30]=N,t[31]=P,t[32]=F,t[33]=L,t[34]=R,t[35]=z,t[36]=B,t[37]=K,t[38]=re,t[39]=q}else k=t[27],A=t[28],M=t[29],N=t[30],P=t[31],F=t[32],L=t[33],R=t[34],z=t[35],B=t[36],K=t[37],re=t[38],q=t[39];let J;t[67]!==P||t[68]!==F||t[69]!==q?(J=(0,Z.jsxs)(`div`,{className:q,children:[P,F]}),t[67]=P,t[68]=F,t[69]=q,t[70]=J):J=t[70];let oe=h!==null,Q;t[71]!==h||t[72]!==u?(Q=h&&u?`${u} (${h.quant}${h.bytes?`, ${x(h.bytes,1)}`:``}) wird heruntergeladen und in llama-swap eingetragen.`+(h.bytes?``:` Die Größe siehst du beim Auftrag, sobald der Download läuft.`):``,t[71]=h,t[72]=u,t[73]=Q):Q=t[73];let se=a.isPending?`Wird gestartet …`:`Installieren`,ce=a.isPending,le;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>g(null),t[74]=le):le=t[74];let ue;t[75]===M?ue=t[76]:(ue=M&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-[15px] leading-relaxed text-bernstein`,children:M}),t[75]=M,t[76]=ue);let de=!!p,fe;t[77]===de?fe=t[78]:(fe=ie(de),t[77]=de,t[78]=fe);let pe;t[79]===fe?pe=t[80]:(pe=(0,Z.jsx)(`p`,{className:`m-0 text-[15px] leading-relaxed text-text-2`,children:fe}),t[79]=fe,t[80]=pe);let me;t[81]!==a.isPending||t[82]!==N||t[83]!==oe||t[84]!==Q||t[85]!==se||t[86]!==ue||t[87]!==pe?(me=(0,Z.jsxs)(ne,{offen:oe,titel:`Modell installieren?`,text:Q,knopf:se,gesperrt:ce,onNein:le,onJa:N,children:[ue,pe]}),t[81]=a.isPending,t[82]=N,t[83]=oe,t[84]=Q,t[85]=se,t[86]=ue,t[87]=pe,t[88]=me):me=t[88];let he;t[89]!==k||t[90]!==L||t[91]!==R||t[92]!==z||t[93]!==B||t[94]!==J||t[95]!==me?(he=(0,Z.jsxs)(k,{side:L,className:R,children:[z,B,J,me]}),t[89]=k,t[90]=L,t[91]=R,t[92]=z,t[93]=B,t[94]=J,t[95]=me,t[96]=he):he=t[96];let ge;return t[97]!==A||t[98]!==K||t[99]!==re||t[100]!==he?(ge=(0,Z.jsx)(A,{open:K,onOpenChange:re,children:he}),t[97]=A,t[98]=K,t[99]=re,t[100]=he,t[101]=ge):ge=t[101],ge}function Qe(e){let[t,n]=e;return(0,Z.jsx)(`option`,{value:t,children:n},t)}function $e(e){return typeof e==`string`?{quant:e}:e}var et=115;function tt(e){let t=(0,Y.c)(55),{modelle:n,laufend:r}=e,i=L(),a=h(),o,s,c,l,u,d,f,p,m,g;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=w(i?.ram_total??a.data?.box.ram_total)??122.7,h=w(i?.ram_used??a.data?.box.ram_used)??0,_;t[15]===r?_=t[16]:(_=e=>r.includes(e.name),t[15]=r,t[16]=_);let v=n.filter(_).reduce(nt,0);s=Math.max(0,h-v);let y=t=>`${Math.min(100,t/e*100)}%`;o=K,p=`Speicher`,m=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(h),` von `,Math.round(e),` GB belegt · Grenze ~`,et,` GB`]});let b=`Speicher: ${Math.round(h)} von ${Math.round(e)} GB belegt`,x=y(h),S;t[17]===x?S=t[18]:(S={width:x},t[17]=x,t[18]=S);let C=`${h?v/h*100:0}%`,T;t[19]===C?T=t[20]:(T=(0,Z.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:C}}),t[19]=C,t[20]=T);let E=`${h?s/h*100:0}%`,D;t[21]===E?D=t[22]:(D=(0,Z.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:E}}),t[21]=E,t[22]=D);let O;t[23]!==S||t[24]!==T||t[25]!==D?(O=(0,Z.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:S,children:[T,D]}),t[23]=S,t[24]=T,t[25]=D,t[26]=O):O=t[26];let k=y(et),A;t[27]===k?A=t[28]:(A=(0,Z.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:k}}),t[27]=k,t[28]=A),t[29]!==b||t[30]!==O||t[31]!==A?(g=(0,Z.jsxs)(`div`,{className:`relative h-8 overflow-hidden rounded-xl bg-white/[0.06]`,role:`img`,"aria-label":b,children:[O,A]}),t[29]=b,t[30]=O,t[31]=A,t[32]=g):g=t[32],f=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,c=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=l):l=t[33],u=` Geladene Modelle: `,d=Math.round(v),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=p,t[13]=m,t[14]=g}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],p=t[12],m=t[13],g=t[14];let _;t[34]!==c||t[35]!==l||t[36]!==u||t[37]!==d?(_=(0,Z.jsxs)(`span`,{className:c,children:[l,u,d,` GB Dateien`]}),t[34]=c,t[35]=l,t[36]=u,t[37]=d,t[38]=_):_=t[38];let v;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=v):v=t[39];let y;t[40]===s?y=t[41]:(y=Math.round(s),t[40]=s,t[41]=y);let b;t[42]===y?b=t[43]:(b=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[v,` Cache, Dienste, System: `,y,` GB`]}),t[42]=y,t[43]=b);let x;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=x):x=t[44];let S;t[45]!==b||t[46]!==f||t[47]!==_?(S=(0,Z.jsxs)(`div`,{className:f,children:[_,b,x]}),t[45]=b,t[46]=f,t[47]=_,t[48]=S):S=t[48];let C;return t[49]!==o||t[50]!==S||t[51]!==p||t[52]!==m||t[53]!==g?(C=(0,Z.jsxs)(o,{titel:p,rechts:m,children:[g,S]}),t[49]=o,t[50]=S,t[51]=p,t[52]=m,t[53]=g,t[54]=C):C=t[54],C}function nt(e,t){return e+(w(t.size_bytes)??0)}function rt(e){let t=(0,Y.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`dt`,{className:`text-xs text-text-3`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,Z.jsx)(`dd`,{className:`ziffern m-0 text-lg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function it(e){let t=(0,Y.c)(48),{titel:n,modell:r,zwilling:i,laeuft:a,nutzer:o}=e,s=S();if(!r){let e;t[0]===n?e=t[1]:(e=(0,Z.jsx)(`span`,{className:`etikett text-[11px] tracking-[0.14em] text-text-3`,children:n}),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(g,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[e,r]}),t[3]=e,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Nur belegen, wenn ein Modell hier echten Mehrwert bringt. Das Radar meldet Kandidaten.`}),t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]===i?s=t[8]:(s=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-dashed border-white/15 p-5`,children:[i,a,o]}),t[7]=i,t[8]=s),s}let c;t[9]!==r.ctx||t[10]!==r.parallel_slots?(c=r.ctx?Math.round(r.ctx/Math.max(1,r.parallel_slots)/1024):null,t[9]=r.ctx,t[10]=r.parallel_slots,t[11]=c):c=t[11];let l=c,u=!!r.capabilities?.vision||!!i,d;t[12]===n?d=t[13]:(d=(0,Z.jsx)(`span`,{className:`etikett text-[11px] tracking-[0.14em] text-text-3`,children:n}),t[12]=n,t[13]=d);let f=a?`gruen`:`grau`,p=a?`Geladen`:`Auf Abruf`,m;t[14]!==f||t[15]!==p?(m=(0,Z.jsx)(g,{art:f,children:p}),t[14]=f,t[15]=p,t[16]=m):m=t[16];let h;t[17]!==d||t[18]!==m?(h=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[d,m]}),t[17]=d,t[18]=m,t[19]=h):h=t[19];let _;t[20]===r.name?_=t[21]:(_=(0,Z.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=_);let v;t[22]===r.size_bytes?v=t[23]:(v=x(r.size_bytes),t[22]=r.size_bytes,t[23]=v);let y;t[24]===v?y=t[25]:(y=(0,Z.jsx)(rt,{name:`Größe`,wert:v}),t[24]=v,t[25]=y);let b=l?`${l}k`:`–`,C;t[26]===b?C=t[27]:(C=(0,Z.jsx)(rt,{name:`Kontext`,wert:b}),t[26]=b,t[27]=C);let w=u?`ja`:`nein`,T;t[28]===w?T=t[29]:(T=(0,Z.jsx)(rt,{name:`Bilder`,wert:w}),t[28]=w,t[29]=T);let E;t[30]!==C||t[31]!==T||t[32]!==y?(E=(0,Z.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[y,C,T]}),t[30]=C,t[31]=T,t[32]=y,t[33]=E):E=t[33];let D=r.spec_active?` Mit Draft-Beschleunigung.`:``,O=i?` Bilder sieht es über seinen Bild-Zwilling, der nur bei Bedarf lädt.`:``,k;t[34]!==o||t[35]!==D||t[36]!==O?(k=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,o,`.`,D,O]}),t[34]=o,t[35]=D,t[36]=O,t[37]=k):k=t[37];let A;t[38]!==s||t[39]!==a||t[40]!==r.name?(A=!a&&(0,Z.jsx)(H,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>s.mutate(r.name),disabled:s.isPending,children:`Jetzt laden`}),t[38]=s,t[39]=a,t[40]=r.name,t[41]=A):A=t[41];let j;return t[42]!==E||t[43]!==k||t[44]!==A||t[45]!==h||t[46]!==_?(j=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 flaeche rounded-2xl p-5`,children:[h,_,E,k,A]}),t[42]=E,t[43]=k,t[44]=A,t[45]=h,t[46]=_,t[47]=j):j=t[47],j}var at={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},ot={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function st(e){let t=(0,Y.c)(4),{test:n}=e,r,i;if(t[0]!==n.vergleich){i=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Object.entries(n.vergleich??{});if(e.length===0){i=null;break bb0}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsxs)(`div`,{role:`row`,className:`etikett grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 pb-1 text-[10.5px] tracking-[0.14em] text-text-3`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Messwerte gegen das heutige Modell`,className:`flaeche-innen rounded-xl px-3 py-2 text-sm`,children:[a,e.map(ct)]})}t[0]=n.vergleich,t[1]=r,t[2]=i}else r=t[1],i=t[2];return i===Symbol.for(`react.early_return_sentinel`)?r:i}function ct(e){let[t,n]=e;return(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-white/[0.06] py-1`,children:[(0,Z.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${ot[n.urteil??``]??`text-text-2`}`,children:E(n.kandidat,n.einheit)}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:E(n.baseline,n.einheit)})]},t)}function lt(e){let t=(0,Y.c)(80),{k:n,test:r,heute:i}=e,a=N(),o=b(),[s,c]=(0,X.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=l):l=t[0];let u=l.includes(n.status),d=n.rolle===`hirn`,f;t[1]===n.name?f=t[2]:(f=(0,Z.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=f);let p=d?`fürs Hirn`:`fürs Coden`,m;t[3]===p?m=t[4]:(m=(0,Z.jsx)(g,{art:`cyan`,children:p}),t[3]=p,t[4]=m);let h;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(h=n.groesse_gb!=null&&(0,Z.jsx)(g,{art:n.eng?`bernstein`:n.passt?`gruen`:`rot`,children:n.eng?`passt knapp`:n.passt?`passt`:`passt nicht`}),t[5]=n.eng,t[6]=n.groesse_gb,t[7]=n.passt,t[8]=h):h=t[8];let _=at[n.status]??`grau`,v=T[n.status]??n.status,y;t[9]!==_||t[10]!==v?(y=(0,Z.jsx)(g,{art:_,children:v}),t[9]=_,t[10]=v,t[11]=y):y=t[11];let x;t[12]!==f||t[13]!==m||t[14]!==h||t[15]!==y?(x=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[f,m,h,y]}),t[12]=f,t[13]=m,t[14]=h,t[15]=y,t[16]=x):x=t[16];let S;t[17]===n.groesse_gb?S=t[18]:(S=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=S);let C;t[19]!==n.begruendung||t[20]!==S?(C=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[S,n.begruendung]}),t[19]=n.begruendung,t[20]=S,t[21]=C):C=t[21];let w;t[22]!==n.status||t[23]!==r?(w=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,Z.jsx)(st,{test:r}),t[22]=n.status,t[23]=r,t[24]=w):w=t[24];let E;t[25]!==n.begruendung||t[26]!==n.testbar_grund?(E=n.testbar_grund&&!n.begruendung.startsWith(`Läuft gerade`)&&(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:n.testbar_grund}),t[25]=n.begruendung,t[26]=n.testbar_grund,t[27]=E):E=t[27];let D;t[28]!==a.isPending||t[29]!==n.status||t[30]!==n.testbar_jetzt||t[31]!==u||t[32]!==o.isPending?(D=u&&(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.testbar_jetzt&&(0,Z.jsx)(H,{variant:`info`,size:`sm`,disabled:o.isPending,onClick:()=>c(`testen`),children:`Jetzt testen`}),n.status===`bestanden`&&(0,Z.jsx)(H,{size:`sm`,disabled:a.isPending,onClick:()=>c(`uebernehmen`),children:`Übernehmen`}),(0,Z.jsx)(H,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>c(`verwerfen`),children:`Verwerfen`})]}),t[28]=a.isPending,t[29]=n.status,t[30]=n.testbar_jetzt,t[31]=u,t[32]=o.isPending,t[33]=D):D=t[33];let O=s===`uebernehmen`,k=`${n.name} übernehmen?`,A=d?`${n.name} wird Lucys Hirn${i?` und löst ${i} ab`:``}. NerdQuiz und OpenChamber nutzen ab dann ebenfalls das neue Modell. Hermes startet dafür kurz neu, Lucy ist etwa eine Minute nicht erreichbar. Das alte Modell bleibt auf der Platte.`:`${n.name} wird der Coder${i?` und löst ${i} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,j;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(j=()=>c(null),t[34]=j):j=t[34];let M;t[35]!==a||t[36]!==s||t[37]!==n.id||t[38]!==n.name?(M=()=>{s===`uebernehmen`&&(a.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),c(null))},t[35]=a,t[36]=s,t[37]=n.id,t[38]=n.name,t[39]=M):M=t[39];let P;t[40]!==a.isPending||t[41]!==O||t[42]!==k||t[43]!==A||t[44]!==M?(P=(0,Z.jsx)(ne,{offen:O,titel:k,text:A,knopf:`Übernehmen`,gesperrt:a.isPending,onNein:j,onJa:M}),t[40]=a.isPending,t[41]=O,t[42]=k,t[43]=A,t[44]=M,t[45]=P):P=t[45];let F=s===`testen`,I=`${n.name} jetzt testen?`,L;t[46]===n.groesse_gb?L=t[47]:(L=n.groesse_gb==null?``:` (${n.groesse_gb.toLocaleString(`de-DE`)} GB)`,t[46]=n.groesse_gb,t[47]=L);let R=`Das Radar lädt ${n.name}${L} herunter, falls nötig, misst das heutige Modell der Rolle und dann den Kandidaten. Das dauert je nach Download eine halbe bis zwei Stunden. Solange antworten Lucy und NerdQuiz etwas langsamer; ein geladener Coder wird dafür entladen, und wird er währenddessen gebraucht, bricht der Test ab. Das Ergebnis kommt als Meldung; fällt der Kandidat durch, werden seine Dateien gelöscht.`,z;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>c(null),t[48]=z):z=t[48];let B;t[49]!==s||t[50]!==n.id||t[51]!==n.name||t[52]!==o?(B=()=>{s===`testen`&&(o.mutate({id:n.id,name:n.name}),c(null))},t[49]=s,t[50]=n.id,t[51]=n.name,t[52]=o,t[53]=B):B=t[53];let V;t[54]!==F||t[55]!==I||t[56]!==R||t[57]!==B||t[58]!==o.isPending?(V=(0,Z.jsx)(ne,{offen:F,titel:I,text:R,knopf:`Jetzt testen`,gesperrt:o.isPending,onNein:z,onJa:B}),t[54]=F,t[55]=I,t[56]=R,t[57]=B,t[58]=o.isPending,t[59]=V):V=t[59];let ee=s===`verwerfen`,te=`${n.name} verwerfen?`,U;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>c(null),t[60]=U):U=t[60];let W;t[61]!==a||t[62]!==s||t[63]!==n.id||t[64]!==n.name?(W=()=>{s===`verwerfen`&&(a.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),c(null))},t[61]=a,t[62]=s,t[63]=n.id,t[64]=n.name,t[65]=W):W=t[65];let G;t[66]!==a.isPending||t[67]!==ee||t[68]!==te||t[69]!==W?(G=(0,Z.jsx)(ne,{offen:ee,gefahr:!0,titel:te,text:`Die heruntergeladenen Dateien werden gelöscht, und das Radar testet dieses Modell nicht noch einmal.`,knopf:`Verwerfen`,gesperrt:a.isPending,onNein:U,onJa:W}),t[66]=a.isPending,t[67]=ee,t[68]=te,t[69]=W,t[70]=G):G=t[70];let K;return t[71]!==C||t[72]!==w||t[73]!==E||t[74]!==D||t[75]!==P||t[76]!==V||t[77]!==G||t[78]!==x?(K=(0,Z.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-white/[0.06] py-3.5`,children:[x,C,w,E,D,P,V,G]}),t[71]=C,t[72]=w,t[73]=E,t[74]=D,t[75]=P,t[76]=V,t[77]=G,t[78]=x,t[79]=K):K=t[79],K}function ut(e){let t=(0,Y.c)(30),{hirn:n,coder:r}=e,i=d(),a=v(),o=B(),s=y(),c=o.data?.jobs,l=(c??[]).filter(ft).at(-1),u=a.data?.job_id,f;t[0]!==u||t[1]!==c?(f=!!u&&!!c&&!c.some(e=>e.id===u),t[0]=u,t[1]=c,t[2]=f):f=t[2];let p=f,m=a.isPending||p||l!==void 0&&z(l),h=(0,X.useRef)(m);if((0,X.useEffect)(()=>{h.current&&!m&&s.invalidateQueries({queryKey:[`radar`]}),h.current=m},[m,s]),i.isError&&!i.data){let e=i.error instanceof F&&i.error.status===404,n;return t[3]!==e||t[4]!==i.error?(n=(0,Z.jsx)(K,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,children:e?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Radar antwortet gerade nicht: `,i.error.message]})}),t[3]=e,t[4]=i.error,t[5]=n):n=t[5],n}let g=i.data,_=K,b;t[6]===a?b=t[7]:(b=()=>a.mutate(void 0),t[6]=a,t[7]=b);let x=m?`Sucht …`:`Jetzt suchen`,S;t[8]!==m||t[9]!==b||t[10]!==x?(S=(0,Z.jsx)(H,{variant:`info`,size:`sm`,onClick:b,disabled:m,children:x}),t[8]=m,t[9]=b,t[10]=x,t[11]=S):S=t[11];let w;t[12]===g?w=t[13]:(w=g?.naechster_test?` Nächster Test: ${C(g.naechster_test)}.`:``,t[12]=g,t[13]=w);let T=m?` Sucht gerade bei Hugging Face. Das dauert ein paar Minuten; den Stand zeigt der Auftrag oben unter „Aufträge“.`:``,E;t[14]!==w||t[15]!==T?(E=(0,Z.jsxs)(`p`,{className:`-mt-2 text-sm text-text-2`,children:[`Testet nachts zwischen 00:30 und 02:30 selbst, höchstens einen Kandidaten pro Woche. Tagsüber geht es mit „Jetzt testen“, wenn der Kandidat samt Coder in den Speicher passt.`,w,T]}),t[14]=w,t[15]=T,t[16]=E):E=t[16];let D=!m&&l?.state===`failed`&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die letzte Suche ist gescheitert: `,re(l)??`ohne Meldung`]}),O;t[17]!==r||t[18]!==g||t[19]!==n?(O=g?g.kandidaten.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:g.kandidaten.map(e=>(0,Z.jsx)(lt,{k:e,test:g.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[17]=r,t[18]=g,t[19]=n,t[20]=O):O=t[20];let k;t[21]===g?k=t[22]:(k=g&&g.tests.length>0&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`etikett text-[10.5px] tracking-[0.12em] text-text-3`,children:`Letzte Tests`}),g.tests.slice(0,3).map(dt)]}),t[21]=g,t[22]=k);let A;return t[23]!==_||t[24]!==E||t[25]!==D||t[26]!==O||t[27]!==k||t[28]!==S?(A=(0,Z.jsxs)(_,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,rechts:S,children:[E,D,O,k]}),t[23]=_,t[24]=E,t[25]=D,t[26]=O,t[27]=k,t[28]=S,t[29]=A):A=t[29],A}function dt(e){return(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-text-3`,children:C(e.datum)}),` · `,e.zusammenfassung]},e.id)}function ft(e){return e.group===`radar`}var pt=`text-rot-text hover:bg-rot-grund hover:text-rot-text`;function mt(e){let t=(0,Y.c)(13),{titel:n,zusatz:r,children:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(c,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[a,n]}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[3]=r,t[4]=s);let l;t[5]!==o||t[6]!==s?(l=(0,Z.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=l):l=t[7];let u;t[8]===i?u=t[9]:(u=(0,Z.jsx)(`div`,{className:`flex flex-col gap-2 pb-1`,children:i}),t[8]=i,t[9]=u);let d;return t[10]!==l||t[11]!==u?(d=(0,Z.jsxs)(`details`,{className:`group flaeche-innen rounded-2xl px-4 open:pb-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function ht(){let e=(0,Y.c)(37),t=R(),n=M(),[r,i]=(0,X.useState)(null),a,o,s,c,l,u;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n){u=Symbol.for(`react.early_return_sentinel`);bb0:{let r=t.data?.kandidaten??[],d=r.reduce(gt,0);if(t.isError&&!t.data){let n;e[11]===t.error.message?n=e[12]:(n=(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Was sich aufräumen ließe, lässt sich gerade nicht lesen: `,t.error.message]}),e[11]=t.error.message,e[12]=n);let r;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(vt,{}),e[13]=r):r=e[13];let i;e[14]===n?i=e[15]:(i=(0,Z.jsxs)(K,{titel:`Aufräumen`,children:[n,r]}),e[14]=n,e[15]=i),u=i;break bb0}a=K,o=`Aufräumen`,s=r.length>0?(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`bis zu `,d.toLocaleString(`de-DE`,{maximumFractionDigits:0}),` GB frei`]}):void 0,e[16]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(`p`,{className:`-mt-2 text-sm text-text-2`,children:`Modelle und Ordner, die gerade niemand nutzt. Nichts davon wird von selbst gelöscht, das entscheidest du je Eintrag.`}),e[16]=c):c=e[16],l=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts aufzuräumen.`}):(0,Z.jsx)(mt,{titel:`Modelle und Ordner`,zusatz:`${r.length} Einträge · bis zu ${d.toLocaleString(`de-DE`,{maximumFractionDigits:0})} GB`,children:(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-white/[0.06] py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.name}),(0,Z.jsx)(g,{children:e.art===`eintrag`?`Eintrag`:`Ordner`})]}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[e.groesse_gb.toLocaleString(`de-DE`),` GB`]}),(0,Z.jsx)(H,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},`${e.art}-${e.name}`))})})}e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n,e[5]=a,e[6]=o,e[7]=s,e[8]=c,e[9]=l,e[10]=u}else a=e[5],o=e[6],s=e[7],c=e[8],l=e[9],u=e[10];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d=r!==null,f=`${r?.name??``} löschen?`,p;e[17]===r?.groesse_gb?p=e[18]:(p=r?.groesse_gb.toLocaleString(`de-DE`)??``,e[17]=r?.groesse_gb,e[18]=p);let m=`${r?.hinweis??``} Es werden ${p} GB frei. Das lässt sich nicht rückgängig machen — zurück ginge es nur mit einem neuen Download.`,h;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>i(null),e[19]=h):h=e[19];let _;e[20]!==r||e[21]!==n?(_=()=>{r&&n.mutate(r),i(null)},e[20]=r,e[21]=n,e[22]=_):_=e[22];let v;e[23]!==n.isPending||e[24]!==_||e[25]!==d||e[26]!==f||e[27]!==m?(v=(0,Z.jsx)(ne,{offen:d,gefahr:!0,titel:f,text:m,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:h,onJa:_}),e[23]=n.isPending,e[24]=_,e[25]=d,e[26]=f,e[27]=m,e[28]=v):v=e[28];let y;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsx)(vt,{}),e[29]=y):y=e[29];let b;return e[30]!==a||e[31]!==o||e[32]!==s||e[33]!==v||e[34]!==c||e[35]!==l?(b=(0,Z.jsxs)(a,{titel:o,rechts:s,children:[c,l,v,y]}),e[30]=a,e[31]=o,e[32]=s,e[33]=v,e[34]=c,e[35]=l,e[36]=b):b=e[36],b}function gt(e,t){return e+t.groesse_gb}function _t(e){return e>=1e9?`${(e/1e9).toLocaleString(`de-DE`,{maximumFractionDigits:1})} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:e>=1e3?`${Math.round(e/1e3)} KB`:`unter 1 KB`}function vt(){let e=(0,Y.c)(23),t=D(),n=u(),[r,i]=(0,X.useState)(null),a,o;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n.isPending){let r=t.data?.altreste??[],s=r.reduce(yt,0);a=`flex flex-col gap-2`,o=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):t.isError&&!t.data?(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Altreste lassen sich gerade nicht lesen: `,t.error.message]}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Altreste mehr.`}):(0,Z.jsxs)(mt,{titel:`Altreste neben dem Betrieb`,zusatz:`${r.length} Einträge · ${_t(s)}`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Test-Ordner, alte Umgebungen und Arbeitskopien, die nichts mehr nutzt. Die Box prüft sie gegen eine feste Liste und löscht auch hier nie von selbst.`}),(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-white/[0.06] py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm`,children:e.name}),(0,Z.jsx)(g,{children:`Altrest`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-xs break-all text-text-3`,children:e.pfade.join(` · `)}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:e.groesse}),(0,Z.jsx)(H,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},e.id))})]}),e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n.isPending,e[5]=a,e[6]=o}else a=e[5],o=e[6];let s=r!==null,c=`${r?.name??``} löschen?`,l;e[7]===r?.pfade?l=e[8]:(l=r?.pfade.join(`, `)??``,e[7]=r?.pfade,e[8]=l);let d=`${r?.hinweis??``} Gelöscht wird: ${l} (${r?.groesse??``}). Das lässt sich nicht rückgängig machen.`,f;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>i(null),e[9]=f):f=e[9];let p;e[10]!==r||e[11]!==n?(p=()=>{r&&n.mutate(r),i(null)},e[10]=r,e[11]=n,e[12]=p):p=e[12];let m;e[13]!==n.isPending||e[14]!==s||e[15]!==c||e[16]!==d||e[17]!==p?(m=(0,Z.jsx)(ne,{offen:s,gefahr:!0,titel:c,text:d,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:f,onJa:p}),e[13]=n.isPending,e[14]=s,e[15]=c,e[16]=d,e[17]=p,e[18]=m):m=e[18];let h;return e[19]!==a||e[20]!==o||e[21]!==m?(h=(0,Z.jsxs)(`div`,{className:a,children:[o,m]}),e[19]=a,e[20]=o,e[21]=m,e[22]=h):h=e[22],h}function yt(e,t){return e+t.groesse_bytes}function bt(){let e=(0,Y.c)(69),t=m(),n=p(),r=d(),i=B(),[a,o]=(0,X.useState)(!1),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={select:wt},e[0]=s):s=e[0];let c=oe(s),u=!!t.data&&!n.isPending&&!r.isPending&&!i.isPending,f,h;if(e[1]!==u||e[2]!==c?(f=()=>{u&&c===`radar`&&document.getElementById(`radar`)?.scrollIntoView({block:`start`})},h=[u,c],e[1]=u,e[2]=c,e[3]=f,e[4]=h):(f=e[3],h=e[4]),(0,X.useEffect)(f,h),t.isPending){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(_,{text:`Modelle werden gelesen …`}),e[5]=t):t=e[5],t}if(!t.data){let n=`Die Modell-Liste fehlt: ${t.error?.message??`keine Daten`}`,r;return e[6]===n?r=e[7]:(r=(0,Z.jsx)(_,{fehler:!0,text:n}),e[6]=n,e[7]=r),r}let g=t.data.models,v=t.data.running,y,b,S,w,T,E,D,O,k,A,j,M,N;if(e[8]!==v||e[9]!==g||e[10]!==n.data||e[11]!==n.error?.message||e[12]!==n.isPending){let t=g.find(Ct);b=g.find(St);let r;e[26]===g?r=e[27]:(r=(e,t)=>e?g.find(n=>n!==e&&n.aliases.includes(t)&&n.filename===e.filename):void 0,e[26]=g,e[27]=r);let i=r,a=i(t,`vision`);S=i(b,`coder-bild`);let s=g.filter(e=>![t,b,a,S].includes(e)),c;e[28]===n.data?.zuletzt_geladen?c=e[29]:(c=n.data?.zuletzt_geladen??{},e[28]=n.data?.zuletzt_geladen,e[29]=c);let u=c,d={};for(let[e,n]of[[t,`Hirn`],[b,`Coder`],[a,`Bild-Zwilling des Hirns`],[S,`Bild-Zwilling des Coders`]])e&&(d[e.name]=n);e[30]!==v||e[31]!==g?(M=(0,Z.jsx)(tt,{modelle:g,laufend:v}),e[30]=v,e[31]=g,e[32]=M):M=e[32],e[33]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Z.jsx)(q,{alsPanel:!0}),e[33]=N):N=e[33];let f;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(it,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[34]=f):f=e[34],w=(0,Z.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[(0,Z.jsx)(it,{titel:`Hirn`,modell:t,zwilling:a,laeuft:!!t&&v.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),(0,Z.jsx)(it,{titel:`Coder`,modell:b,zwilling:S,laeuft:!!b&&v.includes(b.name),nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),f]}),T=(0,Z.jsx)(Ye,{nutzung:n.data,laedt:n.isPending,fehler:n.error?.message??null,rollen:d});let p=t?.name,m=b?.name;e[35]!==p||e[36]!==m?(E=(0,Z.jsx)(ut,{hirn:p,coder:m}),e[35]=p,e[36]=m,e[37]=E):E=e[37],y=K,k=`Weitere Einträge`,e[38]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Z.jsxs)(H,{variant:`outline`,size:`sm`,onClick:()=>o(!0),children:[(0,Z.jsx)(l,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[38]=A):A=e[38],j=s.length===0&&(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine weiteren Einträge.`}),D=`m-0 flex list-none flex-col p-0`;let h;e[39]!==v||e[40]!==u?(h=e=>(0,Z.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-t border-white/[0.06] py-2.5 sm:grid-cols-[minmax(0,1fr)_120px_160px]`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:x(e.size_bytes)}),(0,Z.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:v.includes(e.name)?`geladen`:u[e.name]?`zuletzt ${C(u[e.name])}`:`länger nicht geladen`})]},e.name),e[39]=v,e[40]=u,e[41]=h):h=e[41],O=s.map(h),e[8]=v,e[9]=g,e[10]=n.data,e[11]=n.error?.message,e[12]=n.isPending,e[13]=y,e[14]=b,e[15]=S,e[16]=w,e[17]=T,e[18]=E,e[19]=D,e[20]=O,e[21]=k,e[22]=A,e[23]=j,e[24]=M,e[25]=N}else y=e[13],b=e[14],S=e[15],w=e[16],T=e[17],E=e[18],D=e[19],O=e[20],k=e[21],A=e[22],j=e[23],M=e[24],N=e[25];let P;e[42]!==D||e[43]!==O?(P=(0,Z.jsx)(`ul`,{className:D,children:O}),e[42]=D,e[43]=O,e[44]=P):P=e[44];let F;e[45]!==y||e[46]!==P||e[47]!==k||e[48]!==A||e[49]!==j?(F=(0,Z.jsxs)(y,{titel:k,rechts:A,children:[j,P]}),e[45]=y,e[46]=P,e[47]=k,e[48]=A,e[49]=j,e[50]=F):F=e[50];let I;e[51]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,Z.jsx)(ht,{}),e[51]=I):I=e[51];let L;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(L=()=>o(!1),e[52]=L):L=e[52];let R;e[53]!==b||e[54]!==S?(R=b?{name:b.name,zwilling:!!S,weitere:b.aliases.filter(xt)}:void 0,e[53]=b,e[54]=S,e[55]=R):R=e[55];let z;e[56]===R?z=e[57]:(z={coder:R},e[56]=R,e[57]=z);let V;e[58]!==a||e[59]!==z?(V=(0,Z.jsx)(Ze,{offen:a,onSchliessen:L,rollenJetzt:z}),e[58]=a,e[59]=z,e[60]=V):V=e[60];let ee;return e[61]!==w||e[62]!==T||e[63]!==E||e[64]!==F||e[65]!==V||e[66]!==M||e[67]!==N?(ee=(0,Z.jsxs)(Z.Fragment,{children:[M,N,w,T,E,F,I,V]}),e[61]=w,e[62]=T,e[63]=E,e[64]=F,e[65]=V,e[66]=M,e[67]=N,e[68]=ee):ee=e[68],ee}function xt(e){return e.toLowerCase()!==`coder`}function St(e){return O(e)===`coder`}function Ct(e){return O(e)===`hirn`}function wt(e){return e.hash}export{lt as Kandidat,bt as ModelleSeite}; \ No newline at end of file +import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{n as a,t as o}from"./useSelector-DBNxxw17.js";import{n as s}from"./useMatch-DDVpPKJI.js";import{t as c}from"./chevron-right-DF8ikrVh.js";import{t as l}from"./search-RXhRizww.js";import{$ as u,$t as d,An as f,At as p,Dt as m,Et as h,Gt as g,It as _,Lt as v,M as y,N as b,Nt as x,Pt as S,Tt as C,_n as w,an as T,bt as E,cn as D,en as O,et as k,g as A,h as j,hn as M,it as N,jn as P,m as F,mn as I,on as L,pn as R,rt as z,tn as B,vn as V}from"./index-CiJU28k0.js";import{t as H}from"./button-DwYvdWVr.js";import{a as ee,i as te,n as U,r as W,t as G}from"./sheet-CPc8xmap.js";import{t as ne}from"./Bestaetigen-BGcVQso2.js";import{t as K}from"./Panel-uT1S5ZGr.js";import{a as re,r as ie,s as ae,t as q}from"./Auftraege-D6FtdUOB.js";import{t as J}from"./breite-k-QN6GPl.js";function oe(e){let t=a();return o(t.stores.location,s(e,t))}var Y=r(),X=t(e(),1),Z=n(),Q=new Intl.NumberFormat(`de-DE`),se=240,ce=24,le={ArrowLeft:e=>Math.max(0,e-1),ArrowRight:(e,t)=>Math.min(t-1,e+1),Home:()=>0,End:(e,t)=>t-1};function ue(e){let t=(0,Y.c)(20),{saeule:n,reihen:r,summe:a,className:o,links:s}=e,c;t[0]===o?c=t[1]:(c=i(`flex flex-col gap-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 py-2`,o),t[0]=o,t[1]=c);let l;t[2]===s?l=t[3]:(l=s===void 0?void 0:{left:s},t[2]=s,t[3]=l);let u;t[4]===n.lang?u=t[5]:(u=(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:n.lang}),t[4]=n.lang,t[5]=u);let d;if(t[6]!==r||t[7]!==n.werte){let e;t[9]===n.werte?e=t[10]:(e=e=>(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 text-sm`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 shrink-0 self-center rounded-full`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(n.werte[e.name]??0)}),(0,Z.jsx)(`span`,{className:`min-w-0 text-text-3`,children:e.name})]},e.name),t[9]=n.werte,t[10]=e),d=r.map(e),t[6]=r,t[7]=n.werte,t[8]=d}else d=t[8];let f;t[11]!==r.length||t[12]!==a?(f=r.length>1&&(0,Z.jsxs)(`span`,{className:`flex items-baseline gap-2 border-t border-white/[0.06] pt-1 text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern font-semibold text-foreground`,children:Q.format(a)}),(0,Z.jsx)(`span`,{className:`text-text-3`,children:`zusammen`})]}),t[11]=r.length,t[12]=a,t[13]=f):f=t[13];let p;return t[14]!==c||t[15]!==l||t[16]!==u||t[17]!==d||t[18]!==f?(p=(0,Z.jsxs)(`div`,{role:`status`,className:c,style:l,children:[u,d,f]}),t[14]=c,t[15]=l,t[16]=u,t[17]=d,t[18]=f,t[19]=p):p=t[19],p}function de(e){let t=(0,Y.c)(92),{saeulen:n,reihen:r,titel:a,summen:o,hoehe:s,spalte:c}=e,l=o===void 0?`alle`:o,u=s===void 0?200:s,d=c===void 0?`Zeitraum`:c,[f,p]=J(),[m,h]=(0,X.useState)(null),g=n.length,_,v,y,b,x,S,C,w,T,E;if(t[0]!==p||t[1]!==u||t[2]!==m||t[3]!==g||t[4]!==f||t[5]!==r||t[6]!==n||t[7]!==d||t[8]!==l||t[9]!==a){let e;t[20]===n?e=t[21]:(e=e=>n.some(t=>(t.werte[e.name]??0)>0),t[20]=n,t[21]=e);let o=r.filter(e),s=n.map(e=>o.reduce((t,n)=>t+(e.werte[n.name]??0),0)),c=Math.max(0,...s),D=A(c),O=D[D.length-1],k;t[22]===O?k=t[23]:(k=Q.format(O),t[22]=O,t[23]=k);let M=Math.max(28,k.length*7+12),N=n.some(ge)?34:22,P;t[24]!==M||t[25]!==N?(P={links:M,rechts:4,oben:20,unten:N},t[24]=M,t[25]=N,t[26]=P):P=t[26];let I=P,L=Math.max(1,p-I.links-I.rechts),R=u-I.oben-I.unten,z=L/Math.max(1,g),B=Math.min(ce,Math.max(3,z*.72)),V;t[27]!==R||t[28]!==O||t[29]!==I.oben?(V=e=>I.oben+R-e/O*R,t[27]=R,t[28]=O,t[29]=I.oben,t[30]=V):V=t[30];let H=V,ee=I.oben+R,te;t[31]!==z||t[32]!==I.links?(te=e=>I.links+(e+.5)*z,t[31]=z,t[32]=I.links,t[33]=te):te=t[33];let U=te,W;t[34]===n?W=t[35]:(W=Math.max(1,...n.map(he)),t[34]=n,t[35]=W);let G=W*6.6+8,ne;t[36]!==z||t[37]!==G?(ne=[1,3,6,12].find(e=>e*z>=G)??24,t[36]=z,t[37]=G,t[38]=ne):ne=t[38];let K=ne,re=s.indexOf(c),ie=z<34,ae;t[39]===g?ae=t[40]:(ae=function(e){if(g===0)return;let t=e.currentTarget.getBoundingClientRect();h(Math.min(g-1,Math.max(0,Math.floor((e.clientX-t.left)/t.width*g))))},t[39]=g,t[40]=ae);let q=ae,J;t[41]===g?J=t[42]:(J=function(e){let t=le[e.key];g!==0&&t&&(e.preventDefault(),h(e=>t(e??g-1,g)))},t[41]=g,t[42]=J);let oe=J,Y=m===null?void 0:n[m],X=p>=360,de=m===null?0:Math.max(0,Math.min(p-se,U(m)+12+se>p?U(m)-12-se:U(m)+12));_=`flex flex-col gap-2`,v=o.length>1&&(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:o.map(me)});let _e;t[43]===g?_e=t[44]:(_e=()=>h(e=>e??(g?g-1:null)),t[43]=g,t[44]=_e);let ve;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(ve=()=>h(null),t[45]=ve):ve=t[45];let ye;t[46]!==Y||t[47]!==z||t[48]!==m||t[49]!==R||t[50]!==I.links||t[51]!==I.oben?(ye=Y&&m!==null&&(0,Z.jsx)(`rect`,{x:I.links+m*z,y:I.oben-4,width:z,height:R+4,rx:4,fill:`var(--erhaben)`}),t[46]=Y,t[47]=z,t[48]=m,t[49]=R,t[50]=I.links,t[51]=I.oben,t[52]=ye):ye=t[52];let be;t[53]!==p||t[54]!==I.links||t[55]!==I.rechts||t[56]!==H?(be=e=>(0,Z.jsxs)(`g`,{children:[(0,Z.jsx)(`line`,{x1:I.links,x2:p-I.rechts,y1:H(e),y2:H(e),strokeWidth:1,stroke:e===0?`var(--linie-stark)`:`var(--linie)`}),(0,Z.jsx)(`text`,{x:I.links-8,y:H(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:Q.format(e)})]},e),t[53]=p,t[54]=I.links,t[55]=I.rechts,t[56]=H,t[57]=be):be=t[57];let xe;t[58]!==L||t[59]!==R||t[60]!==c||t[61]!==I.links||t[62]!==I.oben?(xe=c===0&&(0,Z.jsx)(`text`,{x:I.links+L/2,y:I.oben+R/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Keine Anfragen in diesem Zeitraum`}),t[58]=L,t[59]=R,t[60]=c,t[61]=I.links,t[62]=I.oben,t[63]=xe):xe=t[63];let Se;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Se=e=>{e.pointerType!==`touch`&&h(null)},t[64]=Se):Se=t[64];let Ce;t[65]!==u||t[66]!==L||t[67]!==I.links||t[68]!==q?(Ce=(0,Z.jsx)(`rect`,{x:I.links,y:0,width:L,height:u,fill:`transparent`,onPointerMove:q,onPointerDown:q,onPointerLeave:Se}),t[65]=u,t[66]=L,t[67]=I.links,t[68]=q,t[69]=Ce):Ce=t[69],y=(0,Z.jsxs)(`div`,{ref:f,className:`relative w-full`,children:[(0,Z.jsxs)(`svg`,{width:p,height:u,viewBox:`0 0 ${p} ${u}`,role:`img`,"aria-label":a,tabIndex:0,onKeyDown:oe,onFocus:_e,onBlur:ve,className:`block h-auto max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[ye,D.map(be),n.map((e,t)=>{let n=U(t)-B/2;return(0,Z.jsxs)(`g`,{children:[j(o.map(t=>e.werte[t.name]??0),H).filter(pe).map(e=>e.oben?(0,Z.jsx)(`path`,{d:F(n,e.y,B,e.hoehe),fill:o[e.index].farbe},e.index):(0,Z.jsx)(`rect`,{x:n,y:e.y,width:B,height:e.hoehe,fill:o[e.index].farbe},e.index)),s[t]>0&&(l===`alle`||t===re)&&(0,Z.jsx)(`text`,{x:U(t),y:H(s[t])-6,textAnchor:`middle`,className:i(`fill-text-2 font-mono`,ie?`text-[10px]`:`text-[11px]`),children:Q.format(s[t])}),(e.raster??t)%K===0&&(0,Z.jsxs)(`text`,{x:U(t),y:ee+15,textAnchor:`middle`,className:`fill-text-3 font-mono text-[11px]`,children:[e.achse,e.achse2&&(0,Z.jsx)(`tspan`,{x:U(t),dy:13,className:`text-[10px]`,children:e.achse2})]})]},e.schluessel)}),xe,Ce]}),Y&&m!==null&&X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m],links:de,className:`pointer-events-none absolute top-1 z-10 w-60 shadow-lg`})]}),b=Y&&m!==null&&!X&&(0,Z.jsx)(ue,{saeule:Y,reihen:o,summe:s[m]}),T=`text-sm`,t[70]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[70]=E):E=t[70],w=`mt-2 overflow-x-auto`,S=`w-full border-collapse text-xs`;let we;t[71]===d?we=t[72]:(we=(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-left font-normal`,children:d}),t[71]=d,t[72]=we),C=(0,Z.jsx)(`thead`,{children:(0,Z.jsxs)(`tr`,{className:`text-text-3`,children:[we,o.map(fe),o.length>1&&(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 text-right font-normal`,children:`Zusammen`})]})}),x=n.map((e,t)=>(0,Z.jsxs)(`tr`,{className:`border-t border-white/[0.06]`,children:[(0,Z.jsx)(`th`,{scope:`row`,className:`py-1 pr-3 text-left font-normal text-text-3`,children:e.lang}),o.map(t=>(0,Z.jsx)(`td`,{className:`ziffern py-1 pr-3 text-right text-text-2`,children:Q.format(e.werte[t.name]??0)},t.name)),o.length>1&&(0,Z.jsx)(`td`,{className:`ziffern py-1 text-right text-foreground`,children:Q.format(s[t])})]},e.schluessel)),t[0]=p,t[1]=u,t[2]=m,t[3]=g,t[4]=f,t[5]=r,t[6]=n,t[7]=d,t[8]=l,t[9]=a,t[10]=_,t[11]=v,t[12]=y,t[13]=b,t[14]=x,t[15]=S,t[16]=C,t[17]=w,t[18]=T,t[19]=E}else _=t[10],v=t[11],y=t[12],b=t[13],x=t[14],S=t[15],C=t[16],w=t[17],T=t[18],E=t[19];let D;t[73]===x?D=t[74]:(D=(0,Z.jsx)(`tbody`,{children:x}),t[73]=x,t[74]=D);let O;t[75]!==D||t[76]!==S||t[77]!==C?(O=(0,Z.jsxs)(`table`,{className:S,children:[C,D]}),t[75]=D,t[76]=S,t[77]=C,t[78]=O):O=t[78];let k;t[79]!==O||t[80]!==w?(k=(0,Z.jsx)(`div`,{className:w,children:O}),t[79]=O,t[80]=w,t[81]=k):k=t[81];let M;t[82]!==k||t[83]!==T||t[84]!==E?(M=(0,Z.jsxs)(`details`,{className:T,children:[E,k]}),t[82]=k,t[83]=T,t[84]=E,t[85]=M):M=t[85];let N;return t[86]!==_||t[87]!==v||t[88]!==y||t[89]!==b||t[90]!==M?(N=(0,Z.jsxs)(`div`,{className:_,children:[v,y,b,M]}),t[86]=_,t[87]=v,t[88]=y,t[89]=b,t[90]=M,t[91]=N):N=t[91],N}function fe(e){return(0,Z.jsx)(`th`,{scope:`col`,className:`py-1 pr-3 text-right font-normal [overflow-wrap:anywhere]`,children:e.name},e.name)}function pe(e){return e.hoehe>0}function me(e){return(0,Z.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),e.name]},e.name)}function he(e){return e.achse.length}function ge(e){return e.achse2}var _e=`Europe/Berlin`,ve=[`var(--reihe-1)`,`var(--reihe-2)`,`var(--reihe-3)`],ye={name:`Weitere`,farbe:`var(--reihe-weitere)`},be=new Intl.NumberFormat(`de-DE`),xe=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),Se=new Intl.DateTimeFormat(`en-CA`,{timeZone:_e}),Ce=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:_e}),we=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,hourCycle:`h23`,timeZone:_e}),Te=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:`UTC`}),Ee=new Intl.DateTimeFormat(`de-DE`,{weekday:`long`,timeZone:`UTC`}),$=e=>be.format(e);function De(e){if(!(e>0))return`0 %`;let t=e*100;return t<.1?`unter 0,1 %`:`${t<10?xe.format(t):be.format(Math.round(t))} %`}function Oe(e,t=!1){if(e==null||!Number.isFinite(e)||e<0)return`–`;if(Math.round(e*1e3)<1e3)return`${Math.round(e*1e3)} ms`;if(e<9.95)return`${xe.format(e)} s`;let n=Math.round(e);if(n<60)return`${n} s`;if(n<3600&&!t)return n%60?`${Math.floor(n/60)} min ${n%60} s`:`${n/60} min`;let r=Math.round(e/60);return r<60?`${r} min`:r%60?`${Math.floor(r/60)} h ${r%60} min`:`${r/60} h`}var ke={400:`fehlerhafte Anfrage`,404:`nicht gefunden`,408:`Zeitüberschreitung`,413:`Anfrage zu groß`,429:`zu viele Anfragen`,499:`vom Absender abgebrochen`,500:`Fehler beim Modell`,502:`Modell nicht erreichbar`,503:`gerade nicht verfügbar`,504:`Zeitüberschreitung`};function Ae(e){return Object.entries(e??{}).sort(([e,t],[n,r])=>r-t||e.localeCompare(n)).map(([e,t])=>ke[e]?`${$(t)}× ${ke[e]} (${e})`:`${$(t)}× Status ${e}`).join(` · `)}function je(e){return e===null||e<.01?{art:`grau`,wort:null}:e>=.05?{art:`rot`,wort:`hoch`}:{art:`bernstein`,wort:`auffällig`}}var Me=e=>String(e).padStart(2,`0`),Ne=e=>Object.values(e??{}).reduce((e,t)=>e+t,0),Pe=e=>Te.format(e).replace(`.`,``);function Fe(e){return Number(we.formatToParts(e).find(e=>e.type===`hour`)?.value??0)%24}function Ie(e){let[,t,n]=e.split(`-`);return`${Ee.format(new Date(`${e}T12:00:00Z`))}, ${n}.${t}.`}function Le(e,t=new Date){let n=e.stand?new Date(e.stand):t,r=Se.format(n),i=new Date(Date.parse(`${r}T12:00:00Z`)-864e5).toISOString().slice(0,10),a=e.gesamt?.anfragen??e.absender.reduce((e,t)=>e+t.anfragen,0),o=e.gesamt?.dauer_summe_s??null,s=new Map(e.absender.map((e,t)=>[e.name,e.reihe??t])),c=e.absender.map(e=>{let t=s.get(e.name)??ve.length,n=t[e.name,e.reihe])),u=[];for(let e of[...c].sort((e,t)=>(s.get(e.name)??99)-(s.get(t.name)??99)))u.some(t=>t.name===e.reihe)||u.push({name:e.reihe,farbe:e.farbe});let d=e=>{let t={};for(let[n,r]of Object.entries(e??{})){let e=l.get(n)??ye.name;t[e]=(t[e]??0)+r,e===ye.name&&!u.some(t=>t.name===e)&&u.push({...ye})}return t},f=Object.keys(e.je_tag??{}).sort(),p=f.map(t=>{let i=t===r;return{schluessel:t,achse:Pe(new Date(`${t}T12:00:00Z`)),achse2:i?`heute`:`${Number(t.slice(8))}.`,lang:`${Ie(t)}${i?` (heute bis ${Ce.format(n)})`:``}`,werte:d(e.je_tag[t])}}),m;if(e.stunden?.length)m=e.stunden.map((e,t,n)=>{let a=new Date(e.beginn),o=Fe(a),s=Se.format(a),c=s===r?`Heute`:s===i?`Gestern`:Ie(s),l=t===n.length-1?` bis jetzt`:`–${Me((o+1)%24)}:00`;return{schluessel:e.beginn,achse:`${Me(o)}:00`,raster:o,lang:`${c} ${Me(o)}:00${l}`,werte:d(e.je_absender)}});else{let t=Fe(n),r=e.letzte_24h??[];m=[...r.slice(t+1),...r.slice(0,t+1)].map(e=>{let t=Number(e.stunde);return{schluessel:e.stunde,achse:`${Me(t)}:00`,raster:t,lang:`${Me(t)}:00–${Me((t+1)%24)}:00`,werte:d(e.je_absender)}})}let h=f.filter(e=>e!==r),g=e.seit?Se.format(new Date(e.seit)):null,_=e.ladevorgaenge??Object.entries(e.zuletzt_geladen??{}).sort(([,e],[,t])=>Date.parse(t)-Date.parse(e)).map(([e,t])=>({modell:e,anzahl:null,zeiten:[t]}));return{absender:c,reihen:u,tage:p,stunden:m,gesamt:{anfragen:a,fehler:e.gesamt?.fehler??null,fehlerCodes:e.gesamt?.fehler_codes??{},typisch:e.gesamt?.dauer_typisch_s??null,p90:e.gesamt?.dauer_p90_s??null,summe:o},heute:Ne(e.je_tag?.[r]),gestern:Ne(e.je_tag?.[i]),schnitt:h.length?h.reduce((t,n)=>t+Ne(e.je_tag[n]),0)/h.length:null,zeitraum:g?`seit ${Pe(new Date(`${g}T12:00:00Z`))} ${g.slice(8)}.${g.slice(5,7)}.`:`letzte ${e.tage} Tage`,stand:e.stand?Ce.format(n):null,modelle:_}}var Re={grau:`text-foreground`,bernstein:`text-bernstein`,rot:`text-rot-text`};function ze(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,art:o}=e,s=o===void 0?`grau`:o,c;t[0]===n?c=t[1]:(c=(0,Z.jsx)(`span`,{className:`etikett text-[10.5px] tracking-[0.14em] text-text-3`,children:n}),t[0]=n,t[1]=c);let l=Re[s],u;t[2]===l?u=t[3]:(u=i(`font-anzeige text-[28px] leading-none font-bold`,l),t[2]=l,t[3]=u);let d;t[4]!==u||t[5]!==r?(d=(0,Z.jsx)(`span`,{className:u,children:r}),t[4]=u,t[5]=r,t[6]=d):d=t[6];let f;t[7]===a?f=t[8]:(f=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=f);let p;return t[9]!==c||t[10]!==d||t[11]!==f?(p=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5 flaeche-innen rounded-2xl px-3.5 py-3`,children:[c,d,f]}),t[9]=c,t[10]=d,t[11]=f,t[12]=p):p=t[12],p}var Be=`lg:grid-cols-[minmax(0,1.5fr)_minmax(0,1.4fr)_minmax(0,1fr)_minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,0.8fr)]`;function Ve(e){let t=(0,Y.c)(13),{label:n,wert:r,zusatz:a,leise:o}=e,s;t[0]===n?s=t[1]:(s=(0,Z.jsx)(`span`,{className:`text-xs text-text-3 lg:hidden`,children:n}),t[0]=n,t[1]=s);let c=o?`text-text-3`:`text-foreground`,l;t[2]===c?l=t[3]:(l=i(`ziffern text-sm`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==r?(u=(0,Z.jsx)(`span`,{className:l,children:r}),t[4]=l,t[5]=r,t[6]=u):u=t[6];let d;t[7]===a?d=t[8]:(d=a&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:a}),t[7]=a,t[8]=d);let f;return t[9]!==s||t[10]!==u||t[11]!==d?(f=(0,Z.jsxs)(`span`,{role:`cell`,className:`flex min-w-0 flex-col gap-0.5`,children:[s,u,d]}),t[9]=s,t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function He(e){let t=(0,Y.c)(5),{zeilen:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsxs)(`div`,{role:`row`,className:i(`etikett hidden gap-x-4 pb-2 text-[10.5px] tracking-[0.14em] text-text-3 lg:grid`,Be),children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Absender`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Anfragen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Typische Antwort`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Rechenzeit`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Fehler`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`})]}),t[0]=r):r=t[0];let a;t[1]===n?a=t[2]:(a=n.map(Ue),t[1]=n,t[2]=a);let o;return t[3]===a?o=t[4]:(o=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Nutzung je Absender`,className:`flex flex-col`,children:[r,a]}),t[3]=a,t[4]=o),o}function Ue(e){return(0,Z.jsxs)(`div`,{role:`row`,className:i(`grid grid-cols-2 gap-x-4 gap-y-2.5 border-t border-white/[0.06] py-3 lg:items-start`,Be),children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`col-span-2 flex min-w-0 items-center gap-2 text-[15px] font-medium lg:col-span-1`,children:[(0,Z.jsx)(`span`,{"aria-hidden":!0,className:`size-2.5 shrink-0 rounded-[2px]`,style:{background:e.farbe}}),(0,Z.jsx)(`span`,{className:`min-w-0 break-words`,children:e.name})]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`col-span-2 flex min-w-0 flex-col gap-1.5 lg:col-span-1`,children:[(0,Z.jsxs)(`span`,{className:`text-sm`,children:[(0,Z.jsx)(`span`,{className:`ziffern`,children:$(e.anfragen)}),(0,Z.jsxs)(`span`,{className:`text-text-3`,children:[` · `,De(e.anteil),` aller Anfragen`]})]}),(0,Z.jsx)(`span`,{className:`h-1.5 w-full max-w-56 overflow-hidden rounded-full bg-white/[0.07]`,"aria-hidden":!0,children:(0,Z.jsx)(`span`,{className:`block h-full rounded-full`,style:{width:`${Math.max(1,e.anteil*100)}%`,background:e.farbe}})})]}),(0,Z.jsx)(Ve,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(Ve,{label:`Rechenzeit`,wert:Oe(e.summe,!0),zusatz:e.zeitAnteil===null?void 0:`${De(e.zeitAnteil)} aller Rechenzeit`}),(0,Z.jsx)(Ve,{label:`Fehler`,leise:e.fehler===0,wert:e.fehler===null?`–`:e.fehler===0?`keine`:`${$(e.fehler)} · ${De(e.fehler/e.anfragen)}`,zusatz:e.fehler?Ae(e.fehlerCodes):void 0}),(0,Z.jsx)(Ve,{label:`Zuletzt`,wert:e.zuletzt?d(e.zuletzt):`–`})]},e.name)}function We(e){let t=(0,Y.c)(11),{titel:n,zusatz:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,Z.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]===r?o=t[3]:(o=(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r}),t[2]=r,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==i||t[8]!==s||t[9]!==n?(c=(0,Z.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 flaeche-innen rounded-2xl p-4`,children:[s,i]}),t[7]=i,t[8]=s,t[9]=n,t[10]=c):c=t[10],c}function Ge(e){let t=(0,Y.c)(29),{modelle:n,rollen:r}=e;if(n.length===0)return null;let i,a,o,s,l,u;if(t[0]!==n){let e=n.every(Je)?n.reduce(qe,0):null;u=`group flaeche-innen rounded-2xl px-4 open:pb-2`,s=`flex min-h-12 cursor-pointer list-none flex-wrap items-center justify-between gap-x-3 gap-y-1 py-2 [&::-webkit-details-marker]:hidden`,t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[(0,Z.jsx)(c,{className:`size-4 shrink-0 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),`Wann welches Modell geladen wurde`]}),t[7]=l):l=t[7],i=`ziffern text-sm text-text-2`,a=n.length===1?`1 Modell`:`${n.length} Modelle`,o=e===null?``:` · ${$(e)}× geladen`,t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u}else i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6];let f;t[8]!==i||t[9]!==a||t[10]!==o?(f=(0,Z.jsxs)(`span`,{className:i,children:[a,o]}),t[8]=i,t[9]=a,t[10]=o,t[11]=f):f=t[11];let p;t[12]!==s||t[13]!==l||t[14]!==f?(p=(0,Z.jsxs)(`summary`,{className:s,children:[l,f]}),t[12]=s,t[13]=l,t[14]=f,t[15]=p):p=t[15];let m;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(`p`,{className:`pb-1 text-sm text-text-2`,children:`Gezählt wird, wie oft sich ein Modell nach dem Laden bereit meldete: nach einem Neustart von llama-swap oder wenn es auf Abruf gebraucht wurde.`}),t[16]=m):m=t[16];let h;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsxs)(`div`,{role:`row`,className:`etikett hidden gap-x-4 py-2 text-[10.5px] tracking-[0.14em] text-text-3 sm:grid sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)]`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Modell`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Geladen`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Zuletzt`}),(0,Z.jsx)(`span`,{role:`columnheader`,children:`Davor`})]}),t[17]=h):h=t[17];let g;if(t[18]!==n||t[19]!==r){let e;t[21]===r?e=t[22]:(e=e=>(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto] gap-x-4 gap-y-1 border-t border-white/[0.06] py-2.5 sm:grid-cols-[minmax(0,1.5fr)_70px_130px_minmax(0,1.5fr)] sm:items-baseline`,children:[(0,Z.jsxs)(`span`,{role:`rowheader`,className:`flex min-w-0 flex-col`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.modell}),r[e.modell]&&(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:r[e.modell]})]}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-sm text-text-2 sm:text-left`,children:e.anzahl===null?`–`:`${$(e.anzahl)}×`}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-2 sm:col-span-1`,children:[(0,Z.jsx)(`span`,{className:`font-sans text-text-3 sm:hidden`,children:`zuletzt `}),d(e.zeiten[0])]}),(0,Z.jsxs)(`span`,{role:`cell`,className:`ziffern col-span-2 text-xs text-text-3 sm:col-span-1`,children:[e.zeiten.length>1&&(0,Z.jsx)(`span`,{className:`font-sans sm:hidden`,children:`davor `}),e.zeiten.length>1?e.zeiten.slice(1,4).map(Ke).join(` · `):(0,Z.jsx)(`span`,{className:`hidden sm:inline`,children:`–`})]})]},e.modell),t[21]=r,t[22]=e),g=n.map(e),t[18]=n,t[19]=r,t[20]=g}else g=t[20];let _;t[23]===g?_=t[24]:(_=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Ladevorgänge je Modell`,className:`flex flex-col`,children:[h,g]}),t[23]=g,t[24]=_);let v;return t[25]!==_||t[26]!==u||t[27]!==p?(v=(0,Z.jsxs)(`details`,{className:u,children:[p,m,_]}),t[25]=_,t[26]=u,t[27]=p,t[28]=v):v=t[28],v}function Ke(e){return d(e)}function qe(e,t){return e+(t.anzahl??0)}function Je(e){return e.anzahl!==null}function Ye(e){let t=(0,Y.c)(23),{nutzung:n,laedt:r,fehler:i,rollen:a}=e,o;t[0]===a?o=t[1]:(o=a===void 0?{}:a,t[0]=a,t[1]=o);let s=o;if(!n){let e;return t[2]!==i||t[3]!==r?(e=(0,Z.jsx)(K,{titel:`Wer nutzt die Modelle`,children:r?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Nutzung lässt sich gerade nicht lesen`,i?`: ${i}`:`.`]})}),t[2]=i,t[3]=r,t[4]=e):e=t[4],e}let c,l,u,d,f;if(t[5]!==n){l=Le(n);let e=l.gesamt,r=e.fehler!==null&&e.anfragen?e.fehler/e.anfragen:null,i;t[11]===r?i=t[12]:(i=je(r),t[11]=r,t[12]=i);let a=i;c=K,u=`Wer nutzt die Modelle`,d=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[l.zeitraum,l.stand?` · Stand ${l.stand}`:``]}),f=e.anfragen===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Anfragen aufgezeichnet.`}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,Z.jsx)(ze,{label:`Anfragen`,wert:$(e.anfragen),zusatz:l.schnitt===null?void 0:`im Schnitt ${$(Math.round(l.schnitt))} am Tag`}),(0,Z.jsx)(ze,{label:`Heute`,wert:$(l.heute),zusatz:`${l.stand?`bis ${l.stand} · `:``}gestern ${$(l.gestern)}`}),(0,Z.jsx)(ze,{label:`Typische Antwort`,wert:Oe(e.typisch),zusatz:e.p90===null?void 0:`9 von 10 bis ${Oe(e.p90)}`}),(0,Z.jsx)(ze,{label:`Fehler`,wert:e.fehler===null?`–`:$(e.fehler),art:a.art,zusatz:e.fehler===null?void 0:e.fehler===0?`alle beantwortet`:`${De(r??0)} der Anfragen${a.wort?` · ${a.wort}`:``}`})]}),(0,Z.jsx)(He,{zeilen:l.absender}),(0,Z.jsxs)(`div`,{className:`grid gap-4 xl:grid-cols-2`,children:[(0,Z.jsx)(We,{titel:`Anfragen je Tag`,zusatz:`letzte 7 Tage, heute bis jetzt`,children:(0,Z.jsx)(de,{saeulen:l.tage,reihen:l.reihen,spalte:`Tag`,titel:`Anfragen je Tag der letzten 7 Tage, gestapelt nach Absender`})}),(0,Z.jsx)(We,{titel:`Anfragen je Stunde`,zusatz:`letzte 24 Stunden`,children:(0,Z.jsx)(de,{saeulen:l.stunden,reihen:l.reihen,spalte:`Stunde`,summen:`hoechste`,titel:`Anfragen je Stunde der letzten 24 Stunden, gestapelt nach Absender`})})]})]}),t[5]=n,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f}else c=t[6],l=t[7],u=t[8],d=t[9],f=t[10];let p;t[13]!==l.modelle||t[14]!==s?(p=(0,Z.jsx)(Ge,{modelle:l.modelle,rollen:s}),t[13]=l.modelle,t[14]=s,t[15]=p):p=t[15];let m;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:`Chat-Anfragen an llama-swap, gelesen aus seinem Protokoll und alle 10 Minuten neu gerechnet. NerdQuiz fragt direkt dort an, Lucy und OpenChamber über MC2. Antwortzeit: bis die Antwort ganz da war. Rechenzeit: alle Antwortzeiten zusammen, gleichzeitige Anfragen zählen einzeln.`}),t[16]=m):m=t[16];let h;return t[17]!==c||t[18]!==u||t[19]!==d||t[20]!==f||t[21]!==p?(h=(0,Z.jsxs)(c,{titel:u,rechts:d,children:[f,p,m]}),t[17]=c,t[18]=u,t[19]=d,t[20]=f,t[21]=p,t[22]=h):h=t[22],h}var Xe={coder:`Coder`};function Ze(e){let t=(0,Y.c)(102),{offen:n,onSchliessen:r,rollenJetzt:i}=e,a=E(),[o,s]=(0,X.useState)(``),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(null),[p,m]=(0,X.useState)(``),[h,g]=(0,X.useState)(null),_=(0,X.useRef)(!1),v,y;t[0]===c?(v=t[1],y=t[2]):(v=[`hf-suche`,c],y=()=>V(`/api/hf/search?q=${encodeURIComponent(c)}`),t[0]=c,t[1]=v,t[2]=y);let b=c.length>1,x;t[3]!==v||t[4]!==y||t[5]!==b?(x={queryKey:v,queryFn:y,enabled:b},t[3]=v,t[4]=y,t[5]=b,t[6]=x):x=t[6];let S=f(x),C,w;t[7]===u?(C=t[8],w=t[9]):(C=[`hf-quants`,u],w=()=>V(`/api/hf/quants?repo=${encodeURIComponent(u??``)}`),t[7]=u,t[8]=C,t[9]=w);let D=!!u,O;t[10]!==C||t[11]!==w||t[12]!==D?(O={queryKey:C,queryFn:w,enabled:D},t[10]=C,t[11]=w,t[12]=D,t[13]=O):O=t[13];let k=f(O),A,j,M,N,P,F,I,L,R,z,K,re,q;if(t[14]!==h||t[15]!==o||t[16]!==a||t[17]!==n||t[18]!==r||t[19]!==k.data||t[20]!==k.error||t[21]!==k.isError||t[22]!==k.isFetching||t[23]!==u||t[24]!==p||t[25]!==i||t[26]!==S){let e=(k.data?.quants??[]).map($e),c=p?Xe[p]??p:null,f;t[40]!==u||t[41]!==p||t[42]!==i||t[43]!==c?(f=c&&u?ae(u,c,i[p]):null,t[40]=u,t[41]=p,t[42]=i,t[43]=c,t[44]=f):f=t[44],M=f;let v;t[45]!==h||t[46]!==a||t[47]!==r||t[48]!==u||t[49]!==p?(v=function(){u&&h&&!_.current&&(_.current=!0,a.mutate({repo:u,quant:h.quant,rolle:p||null},{onSuccess:e=>{g(null),e.ok!==!1&&r()},onError:()=>g(null),onSettled:()=>{_.current=!1}}))},t[45]=h,t[46]=a,t[47]=r,t[48]=u,t[49]=p,t[50]=v):v=t[50],N=v,j=G,K=n,t[51]===r?re=t[52]:(re=e=>!e&&r(),t[51]=r,t[52]=re),A=U,I=`right`,L=`gap-3 overflow-y-auto border-white/10 bg-[#0e121a] data-[side=right]:w-full data-[side=right]:sm:max-w-xl`,t[53]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,Z.jsxs)(te,{children:[(0,Z.jsx)(ee,{className:`text-[19px] font-semibold`,children:`Modelle selbst suchen`}),(0,Z.jsx)(W,{className:`text-text-2`,children:`Auf Hugging Face suchen, Quantisierung wählen, installieren.`})]}),t[53]=R):R=t[53];let y;t[54]===o?y=t[55]:(y=e=>{e.preventDefault(),d(null),l(o.trim())},t[54]=o,t[55]=y);let b;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(`label`,{htmlFor:`hf-suche`,className:`sr-only`,children:`Suchbegriff`}),t[56]=b):b=t[56];let x;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>s(e.target.value),t[57]=x):x=t[57];let C;t[58]===o?C=t[59]:(C=(0,Z.jsx)(`input`,{id:`hf-suche`,value:o,onChange:x,placeholder:`z. B. Qwen3.8 GGUF`,className:`h-11 min-w-0 flex-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-[15px] outline-none focus:border-cyan/60 focus:bg-white/[0.06]`}),t[58]=o,t[59]=C);let w;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Z.jsx)(H,{type:`submit`,children:`Suchen`}),t[60]=w):w=t[60],t[61]!==y||t[62]!==C?(z=(0,Z.jsxs)(`form`,{className:`flex gap-2 px-4`,onSubmit:y,children:[b,C,w]}),t[61]=y,t[62]=C,t[63]=z):z=t[63],q=`flex flex-col px-4 pb-4`,t[64]!==u||t[65]!==S?(P=!u&&(0,Z.jsxs)(Z.Fragment,{children:[S.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`py-3 text-sm text-text-2`,children:`Suche läuft …`}),!S.isFetching&&S.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`py-3 text-sm text-rot-text`,children:[`Die Suche ging nicht: `,S.error.message]}),!S.isFetching&&S.data?.results.length===0&&(0,Z.jsx)(`p`,{className:`py-3 text-sm text-text-2`,children:`Keine Treffer. Versuch einen anderen Suchbegriff — oder Hugging Face ist gerade nicht erreichbar.`}),S.data?.results.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>d(e.repo),className:`flex min-h-11 items-center justify-between gap-3 border-t border-white/[0.06] py-2 text-left hover:text-cyan`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:e.repo}),(0,Z.jsxs)(`span`,{className:`ziffern shrink-0 text-xs text-text-3`,children:[T(e.downloads),` ↓`]})]},e.repo))]}),t[64]=u,t[65]=S,t[66]=P):P=t[66],F=u&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-3 pt-2`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern min-w-0 text-sm break-all`,children:u}),(0,Z.jsx)(H,{variant:`ghost`,size:`sm`,onClick:()=>d(null),children:`Zurück`})]}),(0,Z.jsxs)(`label`,{className:`flex flex-wrap items-center gap-3 text-sm text-text-2`,children:[`Rolle`,(0,Z.jsxs)(`select`,{value:p,onChange:e=>m(e.target.value),className:`h-11 min-w-0 rounded-xl border border-white/12 bg-white/[0.04] px-3 text-foreground`,children:[(0,Z.jsx)(`option`,{value:``,children:`ohne Rolle (nur installieren)`}),Object.entries(Xe).map(Qe)]})]}),M&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-sm leading-relaxed text-bernstein`,children:M}),k.isFetching&&(0,Z.jsx)(`p`,{role:`status`,className:`text-sm text-text-2`,children:`Quantisierungen werden gelesen …`}),!k.isFetching&&k.isError&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die Dateien dieses Modells ließen sich nicht lesen: `,k.error.message]}),!k.isFetching&&k.data&&e.length===0&&(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Hier gibt es keine GGUF-Dateien, die sich installieren lassen.`}),e.map(e=>{let t=e.quant??e.name??`?`,n=e.total_bytes??e.size_bytes;return(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-white/[0.06] py-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm`,children:t}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[n?(0,Z.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:B(n,1)}):null,(0,Z.jsx)(H,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>g({quant:t,bytes:n}),children:`Installieren`})]})]},t)})]}),t[14]=h,t[15]=o,t[16]=a,t[17]=n,t[18]=r,t[19]=k.data,t[20]=k.error,t[21]=k.isError,t[22]=k.isFetching,t[23]=u,t[24]=p,t[25]=i,t[26]=S,t[27]=A,t[28]=j,t[29]=M,t[30]=N,t[31]=P,t[32]=F,t[33]=I,t[34]=L,t[35]=R,t[36]=z,t[37]=K,t[38]=re,t[39]=q}else A=t[27],j=t[28],M=t[29],N=t[30],P=t[31],F=t[32],I=t[33],L=t[34],R=t[35],z=t[36],K=t[37],re=t[38],q=t[39];let J;t[67]!==P||t[68]!==F||t[69]!==q?(J=(0,Z.jsxs)(`div`,{className:q,children:[P,F]}),t[67]=P,t[68]=F,t[69]=q,t[70]=J):J=t[70];let oe=h!==null,Q;t[71]!==h||t[72]!==u?(Q=h&&u?`${u} (${h.quant}${h.bytes?`, ${B(h.bytes,1)}`:``}) wird heruntergeladen und in llama-swap eingetragen.`+(h.bytes?``:` Die Größe siehst du beim Auftrag, sobald der Download läuft.`):``,t[71]=h,t[72]=u,t[73]=Q):Q=t[73];let se=a.isPending?`Wird gestartet …`:`Installieren`,ce=a.isPending,le;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>g(null),t[74]=le):le=t[74];let ue;t[75]===M?ue=t[76]:(ue=M&&(0,Z.jsx)(`p`,{className:`m-0 rounded-lg border border-bernstein/60 bg-bernstein-grund px-3 py-2.5 text-[15px] leading-relaxed text-bernstein`,children:M}),t[75]=M,t[76]=ue);let de=!!p,fe;t[77]===de?fe=t[78]:(fe=ie(de),t[77]=de,t[78]=fe);let pe;t[79]===fe?pe=t[80]:(pe=(0,Z.jsx)(`p`,{className:`m-0 text-[15px] leading-relaxed text-text-2`,children:fe}),t[79]=fe,t[80]=pe);let me;t[81]!==a.isPending||t[82]!==N||t[83]!==oe||t[84]!==Q||t[85]!==se||t[86]!==ue||t[87]!==pe?(me=(0,Z.jsxs)(ne,{offen:oe,titel:`Modell installieren?`,text:Q,knopf:se,gesperrt:ce,onNein:le,onJa:N,children:[ue,pe]}),t[81]=a.isPending,t[82]=N,t[83]=oe,t[84]=Q,t[85]=se,t[86]=ue,t[87]=pe,t[88]=me):me=t[88];let he;t[89]!==A||t[90]!==I||t[91]!==L||t[92]!==R||t[93]!==z||t[94]!==J||t[95]!==me?(he=(0,Z.jsxs)(A,{side:I,className:L,children:[R,z,J,me]}),t[89]=A,t[90]=I,t[91]=L,t[92]=R,t[93]=z,t[94]=J,t[95]=me,t[96]=he):he=t[96];let ge;return t[97]!==j||t[98]!==K||t[99]!==re||t[100]!==he?(ge=(0,Z.jsx)(j,{open:K,onOpenChange:re,children:he}),t[97]=j,t[98]=K,t[99]=re,t[100]=he,t[101]=ge):ge=t[101],ge}function Qe(e){let[t,n]=e;return(0,Z.jsx)(`option`,{value:t,children:n},t)}function $e(e){return typeof e==`string`?{quant:e}:e}var et=115;function tt(e){let t=(0,Y.c)(55),{modelle:n,laufend:r}=e,i=L(),a=g(),o,s,c,l,u,d,f,p,m,h;if(t[0]!==r||t[1]!==i?.ram_total||t[2]!==i?.ram_used||t[3]!==n||t[4]!==a){let e=O(i?.ram_total??a.data?.box.ram_total)??122.7,g=O(i?.ram_used??a.data?.box.ram_used)??0,_;t[15]===r?_=t[16]:(_=e=>r.includes(e.name),t[15]=r,t[16]=_);let v=n.filter(_).reduce(nt,0);s=Math.max(0,g-v);let y=t=>`${Math.min(100,t/e*100)}%`;o=K,p=`Speicher`,m=(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[Math.round(g),` von `,Math.round(e),` GB belegt · Grenze ~`,et,` GB`]});let b=`Speicher: ${Math.round(g)} von ${Math.round(e)} GB belegt`,x=y(g),S;t[17]===x?S=t[18]:(S={width:x},t[17]=x,t[18]=S);let C=`${g?v/g*100:0}%`,w;t[19]===C?w=t[20]:(w=(0,Z.jsx)(`div`,{className:`h-full bg-cyan`,style:{width:C}}),t[19]=C,t[20]=w);let T=`${g?s/g*100:0}%`,E;t[21]===T?E=t[22]:(E=(0,Z.jsx)(`div`,{className:`h-full bg-cyan/35`,style:{width:T}}),t[21]=T,t[22]=E);let D;t[23]!==S||t[24]!==w||t[25]!==E?(D=(0,Z.jsxs)(`div`,{className:`absolute inset-y-0 left-0 flex overflow-hidden rounded-lg`,style:S,children:[w,E]}),t[23]=S,t[24]=w,t[25]=E,t[26]=D):D=t[26];let k=y(et),A;t[27]===k?A=t[28]:(A=(0,Z.jsx)(`div`,{className:`absolute -top-1.5 -bottom-1.5 w-0.5 bg-bernstein`,style:{left:k}}),t[27]=k,t[28]=A),t[29]!==b||t[30]!==D||t[31]!==A?(h=(0,Z.jsxs)(`div`,{className:`relative h-8 overflow-hidden rounded-xl bg-white/[0.06]`,role:`img`,"aria-label":b,children:[D,A]}),t[29]=b,t[30]=D,t[31]=A,t[32]=h):h=t[32],f=`flex flex-wrap gap-x-6 gap-y-2 text-sm text-text-2`,c=`flex items-center gap-2`,t[33]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan`}),t[33]=l):l=t[33],u=` Geladene Modelle: `,d=Math.round(v),t[0]=r,t[1]=i?.ram_total,t[2]=i?.ram_used,t[3]=n,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=p,t[13]=m,t[14]=h}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],p=t[12],m=t[13],h=t[14];let _;t[34]!==c||t[35]!==l||t[36]!==u||t[37]!==d?(_=(0,Z.jsxs)(`span`,{className:c,children:[l,u,d,` GB Dateien`]}),t[34]=c,t[35]=l,t[36]=u,t[37]=d,t[38]=_):_=t[38];let v;t[39]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsx)(`span`,{className:`size-2.5 rounded-sm bg-cyan/35`}),t[39]=v):v=t[39];let y;t[40]===s?y=t[41]:(y=Math.round(s),t[40]=s,t[41]=y);let b;t[42]===y?b=t[43]:(b=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[v,` Cache, Dienste, System: `,y,` GB`]}),t[42]=y,t[43]=b);let x;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`h-3 w-0.5 bg-bernstein`}),` Ab hier wird es eng`]}),t[44]=x):x=t[44];let S;t[45]!==b||t[46]!==f||t[47]!==_?(S=(0,Z.jsxs)(`div`,{className:f,children:[_,b,x]}),t[45]=b,t[46]=f,t[47]=_,t[48]=S):S=t[48];let C;return t[49]!==o||t[50]!==S||t[51]!==p||t[52]!==m||t[53]!==h?(C=(0,Z.jsxs)(o,{titel:p,rechts:m,children:[h,S]}),t[49]=o,t[50]=S,t[51]=p,t[52]=m,t[53]=h,t[54]=C):C=t[54],C}function nt(e,t){return e+(O(t.size_bytes)??0)}function rt(e){let t=(0,Y.c)(7),{name:n,wert:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`dt`,{className:`text-xs text-text-3`,children:n}),t[0]=n,t[1]=i);let a;t[2]===r?a=t[3]:(a=(0,Z.jsx)(`dd`,{className:`ziffern m-0 text-lg`,children:r}),t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function it(e){let t=(0,Y.c)(48),{titel:n,modell:r,zwilling:i,laeuft:a,nutzer:o}=e,s=h();if(!r){let e;t[0]===n?e=t[1]:(e=(0,Z.jsx)(`span`,{className:`etikett text-[11px] tracking-[0.14em] text-text-3`,children:n}),t[0]=n,t[1]=e);let r;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(y,{children:`Frei`}),t[2]=r):r=t[2];let i;t[3]===e?i=t[4]:(i=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between`,children:[e,r]}),t[3]=e,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(`h3`,{className:`font-anzeige text-xl font-semibold text-text-2`,children:`Nicht belegt`}),o=(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Nur belegen, wenn ein Modell hier echten Mehrwert bringt. Das Radar meldet Kandidaten.`}),t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]===i?s=t[8]:(s=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 rounded-2xl border border-dashed border-white/15 p-5`,children:[i,a,o]}),t[7]=i,t[8]=s),s}let c;t[9]!==r.ctx||t[10]!==r.parallel_slots?(c=r.ctx?Math.round(r.ctx/Math.max(1,r.parallel_slots)/1024):null,t[9]=r.ctx,t[10]=r.parallel_slots,t[11]=c):c=t[11];let l=c,u=!!r.capabilities?.vision||!!i,d;t[12]===n?d=t[13]:(d=(0,Z.jsx)(`span`,{className:`etikett text-[11px] tracking-[0.14em] text-text-3`,children:n}),t[12]=n,t[13]=d);let f=a?`gruen`:`grau`,p=a?`Geladen`:`Auf Abruf`,m;t[14]!==f||t[15]!==p?(m=(0,Z.jsx)(y,{art:f,children:p}),t[14]=f,t[15]=p,t[16]=m):m=t[16];let g;t[17]!==d||t[18]!==m?(g=(0,Z.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[d,m]}),t[17]=d,t[18]=m,t[19]=g):g=t[19];let _;t[20]===r.name?_=t[21]:(_=(0,Z.jsx)(`h3`,{className:`ziffern m-0 text-lg font-medium break-all`,children:r.name}),t[20]=r.name,t[21]=_);let v;t[22]===r.size_bytes?v=t[23]:(v=B(r.size_bytes),t[22]=r.size_bytes,t[23]=v);let b;t[24]===v?b=t[25]:(b=(0,Z.jsx)(rt,{name:`Größe`,wert:v}),t[24]=v,t[25]=b);let x=l?`${l}k`:`–`,S;t[26]===x?S=t[27]:(S=(0,Z.jsx)(rt,{name:`Kontext`,wert:x}),t[26]=x,t[27]=S);let C=u?`ja`:`nein`,w;t[28]===C?w=t[29]:(w=(0,Z.jsx)(rt,{name:`Bilder`,wert:C}),t[28]=C,t[29]=w);let T;t[30]!==S||t[31]!==w||t[32]!==b?(T=(0,Z.jsxs)(`dl`,{className:`m-0 grid grid-cols-3 gap-3`,children:[b,S,w]}),t[30]=S,t[31]=w,t[32]=b,t[33]=T):T=t[33];let E=r.spec_active?` Mit Draft-Beschleunigung.`:``,D=i?` Bilder sieht es über seinen Bild-Zwilling, der nur bei Bedarf lädt.`:``,O;t[34]!==o||t[35]!==E||t[36]!==D?(O=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[`Genutzt von `,o,`.`,E,D]}),t[34]=o,t[35]=E,t[36]=D,t[37]=O):O=t[37];let k;t[38]!==s||t[39]!==a||t[40]!==r.name?(k=!a&&(0,Z.jsx)(H,{variant:`outline`,size:`sm`,className:`mt-auto self-start`,onClick:()=>s.mutate(r.name),disabled:s.isPending,children:`Jetzt laden`}),t[38]=s,t[39]=a,t[40]=r.name,t[41]=k):k=t[41];let A;return t[42]!==T||t[43]!==O||t[44]!==k||t[45]!==g||t[46]!==_?(A=(0,Z.jsxs)(`article`,{className:`flex flex-col gap-3.5 flaeche rounded-2xl p-5`,children:[g,_,T,O,k]}),t[42]=T,t[43]=O,t[44]=k,t[45]=g,t[46]=_,t[47]=A):A=t[47],A}var at={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`,getestet:`grau`,uebernommen:`gruen`,verworfen:`grau`},ot={besser:`text-gruen`,schlechter:`text-rot-text`,gleich:`text-text-2`};function st(e){let t=(0,Y.c)(4),{test:n}=e,r,i;if(t[0]!==n.vergleich){i=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Object.entries(n.vergleich??{});if(e.length===0){i=null;break bb0}let a;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsxs)(`div`,{role:`row`,className:`etikett grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 pb-1 text-[10.5px] tracking-[0.14em] text-text-3`,children:[(0,Z.jsx)(`span`,{role:`columnheader`,children:`Messwert`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Kandidat`}),(0,Z.jsx)(`span`,{role:`columnheader`,className:`text-right`,children:`Heute`})]}),t[3]=a):a=t[3],r=(0,Z.jsxs)(`div`,{role:`table`,"aria-label":`Messwerte gegen das heutige Modell`,className:`flaeche-innen rounded-xl px-3 py-2 text-sm`,children:[a,e.map(ct)]})}t[0]=n.vergleich,t[1]=r,t[2]=i}else r=t[1],i=t[2];return i===Symbol.for(`react.early_return_sentinel`)?r:i}function ct(e){let[t,n]=e;return(0,Z.jsxs)(`div`,{role:`row`,className:`grid grid-cols-[minmax(0,1fr)_auto_auto] gap-x-4 border-t border-white/[0.06] py-1`,children:[(0,Z.jsx)(`span`,{role:`rowheader`,className:`text-text-2`,children:t}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right ${ot[n.urteil??``]??`text-text-2`}`,children:I(n.kandidat,n.einheit)}),(0,Z.jsx)(`span`,{role:`cell`,className:`ziffern text-right text-text-3`,children:I(n.baseline,n.einheit)})]},t)}function lt(e){let t=(0,Y.c)(80),{k:n,test:r,heute:i}=e,a=S(),o=v(),[s,c]=(0,X.useState)(null),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=[`bestanden`,`wartet`,`neu`,`getestet`],t[0]=l):l=t[0];let u=l.includes(n.status),d=n.rolle===`hirn`,f;t[1]===n.name?f=t[2]:(f=(0,Z.jsx)(`span`,{className:`ziffern text-[15px] font-medium`,children:n.name}),t[1]=n.name,t[2]=f);let p=d?`fürs Hirn`:`fürs Coden`,m;t[3]===p?m=t[4]:(m=(0,Z.jsx)(y,{art:`cyan`,children:p}),t[3]=p,t[4]=m);let h;t[5]!==n.eng||t[6]!==n.groesse_gb||t[7]!==n.passt?(h=n.groesse_gb!=null&&(0,Z.jsx)(y,{art:n.eng?`bernstein`:n.passt?`gruen`:`rot`,children:n.eng?`passt knapp`:n.passt?`passt`:`passt nicht`}),t[5]=n.eng,t[6]=n.groesse_gb,t[7]=n.passt,t[8]=h):h=t[8];let g=at[n.status]??`grau`,_=D[n.status]??n.status,b;t[9]!==g||t[10]!==_?(b=(0,Z.jsx)(y,{art:g,children:_}),t[9]=g,t[10]=_,t[11]=b):b=t[11];let x;t[12]!==f||t[13]!==m||t[14]!==h||t[15]!==b?(x=(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[f,m,h,b]}),t[12]=f,t[13]=m,t[14]=h,t[15]=b,t[16]=x):x=t[16];let C;t[17]===n.groesse_gb?C=t[18]:(C=n.groesse_gb==null?``:`${n.groesse_gb.toLocaleString(`de-DE`)} GB. `,t[17]=n.groesse_gb,t[18]=C);let w;t[19]!==n.begruendung||t[20]!==C?(w=(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[C,n.begruendung]}),t[19]=n.begruendung,t[20]=C,t[21]=w):w=t[21];let T;t[22]!==n.status||t[23]!==r?(T=r&&[`bestanden`,`durchgefallen`].includes(n.status)&&(0,Z.jsx)(st,{test:r}),t[22]=n.status,t[23]=r,t[24]=T):T=t[24];let E;t[25]!==n.begruendung||t[26]!==n.testbar_grund?(E=n.testbar_grund&&!n.begruendung.startsWith(`Läuft gerade`)&&(0,Z.jsx)(`p`,{className:`text-xs text-text-3`,children:n.testbar_grund}),t[25]=n.begruendung,t[26]=n.testbar_grund,t[27]=E):E=t[27];let O;t[28]!==a.isPending||t[29]!==n.status||t[30]!==n.testbar_jetzt||t[31]!==u||t[32]!==o.isPending?(O=u&&(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[n.testbar_jetzt&&(0,Z.jsx)(H,{variant:`info`,size:`sm`,disabled:o.isPending,onClick:()=>c(`testen`),children:`Jetzt testen`}),n.status===`bestanden`&&(0,Z.jsx)(H,{size:`sm`,disabled:a.isPending,onClick:()=>c(`uebernehmen`),children:`Übernehmen`}),(0,Z.jsx)(H,{variant:`outline`,size:`sm`,disabled:a.isPending,onClick:()=>c(`verwerfen`),children:`Verwerfen`})]}),t[28]=a.isPending,t[29]=n.status,t[30]=n.testbar_jetzt,t[31]=u,t[32]=o.isPending,t[33]=O):O=t[33];let k=s===`uebernehmen`,A=`${n.name} übernehmen?`,j=d?`${n.name} wird Lucys Hirn${i?` und löst ${i} ab`:``}. NerdQuiz und OpenChamber nutzen ab dann ebenfalls das neue Modell. Hermes startet dafür kurz neu, Lucy ist etwa eine Minute nicht erreichbar. Das alte Modell bleibt auf der Platte.`:`${n.name} wird der Coder${i?` und löst ${i} ab`:``}. OpenChamber plant und baut ab dann damit. Das alte Modell bleibt auf der Platte.`,M;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(M=()=>c(null),t[34]=M):M=t[34];let N;t[35]!==a||t[36]!==s||t[37]!==n.id||t[38]!==n.name?(N=()=>{s===`uebernehmen`&&(a.mutate({id:n.id,aktion:`uebernehmen`,name:n.name}),c(null))},t[35]=a,t[36]=s,t[37]=n.id,t[38]=n.name,t[39]=N):N=t[39];let P;t[40]!==a.isPending||t[41]!==k||t[42]!==A||t[43]!==j||t[44]!==N?(P=(0,Z.jsx)(ne,{offen:k,titel:A,text:j,knopf:`Übernehmen`,gesperrt:a.isPending,onNein:M,onJa:N}),t[40]=a.isPending,t[41]=k,t[42]=A,t[43]=j,t[44]=N,t[45]=P):P=t[45];let F=s===`testen`,I=`${n.name} jetzt testen?`,L;t[46]===n.groesse_gb?L=t[47]:(L=n.groesse_gb==null?``:` (${n.groesse_gb.toLocaleString(`de-DE`)} GB)`,t[46]=n.groesse_gb,t[47]=L);let R=`Das Radar lädt ${n.name}${L} herunter, falls nötig, misst das heutige Modell der Rolle und dann den Kandidaten. Das dauert je nach Download eine halbe bis zwei Stunden. Solange antworten Lucy und NerdQuiz etwas langsamer; ein geladener Coder wird dafür entladen, und wird er währenddessen gebraucht, bricht der Test ab. Das Ergebnis kommt als Meldung; fällt der Kandidat durch, werden seine Dateien gelöscht.`,z;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(z=()=>c(null),t[48]=z):z=t[48];let B;t[49]!==s||t[50]!==n.id||t[51]!==n.name||t[52]!==o?(B=()=>{s===`testen`&&(o.mutate({id:n.id,name:n.name}),c(null))},t[49]=s,t[50]=n.id,t[51]=n.name,t[52]=o,t[53]=B):B=t[53];let V;t[54]!==F||t[55]!==I||t[56]!==R||t[57]!==B||t[58]!==o.isPending?(V=(0,Z.jsx)(ne,{offen:F,titel:I,text:R,knopf:`Jetzt testen`,gesperrt:o.isPending,onNein:z,onJa:B}),t[54]=F,t[55]=I,t[56]=R,t[57]=B,t[58]=o.isPending,t[59]=V):V=t[59];let ee=s===`verwerfen`,te=`${n.name} verwerfen?`,U;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(U=()=>c(null),t[60]=U):U=t[60];let W;t[61]!==a||t[62]!==s||t[63]!==n.id||t[64]!==n.name?(W=()=>{s===`verwerfen`&&(a.mutate({id:n.id,aktion:`verwerfen`,name:n.name}),c(null))},t[61]=a,t[62]=s,t[63]=n.id,t[64]=n.name,t[65]=W):W=t[65];let G;t[66]!==a.isPending||t[67]!==ee||t[68]!==te||t[69]!==W?(G=(0,Z.jsx)(ne,{offen:ee,gefahr:!0,titel:te,text:`Die heruntergeladenen Dateien werden gelöscht, und das Radar testet dieses Modell nicht noch einmal.`,knopf:`Verwerfen`,gesperrt:a.isPending,onNein:U,onJa:W}),t[66]=a.isPending,t[67]=ee,t[68]=te,t[69]=W,t[70]=G):G=t[70];let K;return t[71]!==w||t[72]!==T||t[73]!==E||t[74]!==O||t[75]!==P||t[76]!==V||t[77]!==G||t[78]!==x?(K=(0,Z.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-white/[0.06] py-3.5`,children:[x,w,T,E,O,P,V,G]}),t[71]=w,t[72]=T,t[73]=E,t[74]=O,t[75]=P,t[76]=V,t[77]=G,t[78]=x,t[79]=K):K=t[79],K}function ut(e){let t=(0,Y.c)(30),{hirn:n,coder:r}=e,i=x(),a=_(),o=C(),s=P(),c=o.data?.jobs,l=(c??[]).filter(ft).at(-1),u=a.data?.job_id,f;t[0]!==u||t[1]!==c?(f=!!u&&!!c&&!c.some(e=>e.id===u),t[0]=u,t[1]=c,t[2]=f):f=t[2];let p=f,m=a.isPending||p||l!==void 0&&R(l),h=(0,X.useRef)(m);if((0,X.useEffect)(()=>{h.current&&!m&&s.invalidateQueries({queryKey:[`radar`]}),h.current=m},[m,s]),i.isError&&!i.data){let e=i.error instanceof w&&i.error.status===404,n;return t[3]!==e||t[4]!==i.error?(n=(0,Z.jsx)(K,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,children:e?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Das Radar ist auf dieser Box noch nicht eingerichtet.`}):(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Das Radar antwortet gerade nicht: `,i.error.message]})}),t[3]=e,t[4]=i.error,t[5]=n):n=t[5],n}let g=i.data,v=K,y;t[6]===a?y=t[7]:(y=()=>a.mutate(void 0),t[6]=a,t[7]=y);let b=m?`Sucht …`:`Jetzt suchen`,S;t[8]!==m||t[9]!==y||t[10]!==b?(S=(0,Z.jsx)(H,{variant:`info`,size:`sm`,onClick:y,disabled:m,children:b}),t[8]=m,t[9]=y,t[10]=b,t[11]=S):S=t[11];let T;t[12]===g?T=t[13]:(T=g?.naechster_test?` Nächster Test: ${d(g.naechster_test)}.`:``,t[12]=g,t[13]=T);let E=m?` Sucht gerade bei Hugging Face. Das dauert ein paar Minuten; den Stand zeigt der Auftrag oben unter „Aufträge“.`:``,D;t[14]!==T||t[15]!==E?(D=(0,Z.jsxs)(`p`,{className:`-mt-2 text-sm text-text-2`,children:[`Testet nachts zwischen 00:30 und 02:30 selbst, höchstens einen Kandidaten pro Woche. Tagsüber geht es mit „Jetzt testen“, wenn der Kandidat samt Coder in den Speicher passt.`,T,E]}),t[14]=T,t[15]=E,t[16]=D):D=t[16];let O=!m&&l?.state===`failed`&&(0,Z.jsxs)(`p`,{role:`alert`,className:`text-sm text-rot-text`,children:[`Die letzte Suche ist gescheitert: `,re(l)??`ohne Meldung`]}),k;t[17]!==r||t[18]!==g||t[19]!==n?(k=g?g.kandidaten.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}):(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:g.kandidaten.map(e=>(0,Z.jsx)(lt,{k:e,test:g.tests.find(t=>t.kandidat===e.id),heute:e.rolle===`hirn`?n:r},e.id))}):(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),t[17]=r,t[18]=g,t[19]=n,t[20]=k):k=t[20];let A;t[21]===g?A=t[22]:(A=g&&g.tests.length>0&&(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(`h3`,{className:`etikett text-[10.5px] tracking-[0.12em] text-text-3`,children:`Letzte Tests`}),g.tests.slice(0,3).map(dt)]}),t[21]=g,t[22]=A);let j;return t[23]!==v||t[24]!==D||t[25]!==O||t[26]!==k||t[27]!==A||t[28]!==S?(j=(0,Z.jsxs)(v,{titel:`Modell-Radar`,id:`radar`,className:`scroll-mt-4`,rechts:S,children:[D,O,k,A]}),t[23]=v,t[24]=D,t[25]=O,t[26]=k,t[27]=A,t[28]=S,t[29]=j):j=t[29],j}function dt(e){return(0,Z.jsxs)(`p`,{className:`text-sm text-text-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-text-3`,children:d(e.datum)}),` · `,e.zusammenfassung]},e.id)}function ft(e){return e.group===`radar`}var pt=`text-rot-text hover:bg-rot-grund hover:text-rot-text`;function mt(e){let t=(0,Y.c)(13),{titel:n,zusatz:r,children:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(c,{className:`size-4 text-text-3 transition-transform group-open:rotate-90`,"aria-hidden":!0}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,Z.jsxs)(`span`,{className:`flex items-center gap-2 text-[15px] font-medium`,children:[a,n]}),t[1]=n,t[2]=o);let s;t[3]===r?s=t[4]:(s=(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:r}),t[3]=r,t[4]=s);let l;t[5]!==o||t[6]!==s?(l=(0,Z.jsxs)(`summary`,{className:`flex min-h-12 cursor-pointer list-none items-center justify-between gap-3 [&::-webkit-details-marker]:hidden`,children:[o,s]}),t[5]=o,t[6]=s,t[7]=l):l=t[7];let u;t[8]===i?u=t[9]:(u=(0,Z.jsx)(`div`,{className:`flex flex-col gap-2 pb-1`,children:i}),t[8]=i,t[9]=u);let d;return t[10]!==l||t[11]!==u?(d=(0,Z.jsxs)(`details`,{className:`group flaeche-innen rounded-2xl px-4 open:pb-2`,children:[l,u]}),t[10]=l,t[11]=u,t[12]=d):d=t[12],d}function ht(){let e=(0,Y.c)(37),t=z(),n=N(),[r,i]=(0,X.useState)(null),a,o,s,c,l,u;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n){u=Symbol.for(`react.early_return_sentinel`);bb0:{let r=t.data?.kandidaten??[],d=r.reduce(gt,0);if(t.isError&&!t.data){let n;e[11]===t.error.message?n=e[12]:(n=(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Was sich aufräumen ließe, lässt sich gerade nicht lesen: `,t.error.message]}),e[11]=t.error.message,e[12]=n);let r;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Z.jsx)(vt,{}),e[13]=r):r=e[13];let i;e[14]===n?i=e[15]:(i=(0,Z.jsxs)(K,{titel:`Aufräumen`,children:[n,r]}),e[14]=n,e[15]=i),u=i;break bb0}a=K,o=`Aufräumen`,s=r.length>0?(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[`bis zu `,d.toLocaleString(`de-DE`,{maximumFractionDigits:0}),` GB frei`]}):void 0,e[16]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(`p`,{className:`-mt-2 text-sm text-text-2`,children:`Modelle und Ordner, die gerade niemand nutzt. Nichts davon wird von selbst gelöscht, das entscheidest du je Eintrag.`}),e[16]=c):c=e[16],l=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Nichts aufzuräumen.`}):(0,Z.jsx)(mt,{titel:`Modelle und Ordner`,zusatz:`${r.length} Einträge · bis zu ${d.toLocaleString(`de-DE`,{maximumFractionDigits:0})} GB`,children:(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-white/[0.06] py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm break-all`,children:e.name}),(0,Z.jsx)(y,{children:e.art===`eintrag`?`Eintrag`:`Ordner`})]}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsxs)(`span`,{className:`ziffern text-sm text-text-2`,children:[e.groesse_gb.toLocaleString(`de-DE`),` GB`]}),(0,Z.jsx)(H,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},`${e.art}-${e.name}`))})})}e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n,e[5]=a,e[6]=o,e[7]=s,e[8]=c,e[9]=l,e[10]=u}else a=e[5],o=e[6],s=e[7],c=e[8],l=e[9],u=e[10];if(u!==Symbol.for(`react.early_return_sentinel`))return u;let d=r!==null,f=`${r?.name??``} löschen?`,p;e[17]===r?.groesse_gb?p=e[18]:(p=r?.groesse_gb.toLocaleString(`de-DE`)??``,e[17]=r?.groesse_gb,e[18]=p);let m=`${r?.hinweis??``} Es werden ${p} GB frei. Das lässt sich nicht rückgängig machen — zurück ginge es nur mit einem neuen Download.`,h;e[19]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>i(null),e[19]=h):h=e[19];let g;e[20]!==r||e[21]!==n?(g=()=>{r&&n.mutate(r),i(null)},e[20]=r,e[21]=n,e[22]=g):g=e[22];let _;e[23]!==n.isPending||e[24]!==g||e[25]!==d||e[26]!==f||e[27]!==m?(_=(0,Z.jsx)(ne,{offen:d,gefahr:!0,titel:f,text:m,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:h,onJa:g}),e[23]=n.isPending,e[24]=g,e[25]=d,e[26]=f,e[27]=m,e[28]=_):_=e[28];let v;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsx)(vt,{}),e[29]=v):v=e[29];let b;return e[30]!==a||e[31]!==o||e[32]!==s||e[33]!==_||e[34]!==c||e[35]!==l?(b=(0,Z.jsxs)(a,{titel:o,rechts:s,children:[c,l,_,v]}),e[30]=a,e[31]=o,e[32]=s,e[33]=_,e[34]=c,e[35]=l,e[36]=b):b=e[36],b}function gt(e,t){return e+t.groesse_gb}function _t(e){return e>=1e9?`${(e/1e9).toLocaleString(`de-DE`,{maximumFractionDigits:1})} GB`:e>=1e6?`${Math.round(e/1e6)} MB`:e>=1e3?`${Math.round(e/1e3)} KB`:`unter 1 KB`}function vt(){let e=(0,Y.c)(23),t=k(),n=u(),[r,i]=(0,X.useState)(null),a,o;if(e[0]!==t.data||e[1]!==t.error||e[2]!==t.isError||e[3]!==t.isPending||e[4]!==n.isPending){let r=t.data?.altreste??[],s=r.reduce(yt,0);a=`flex flex-col gap-2`,o=t.isPending?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}):t.isError&&!t.data?(0,Z.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Altreste lassen sich gerade nicht lesen: `,t.error.message]}):r.length===0?(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine Altreste mehr.`}):(0,Z.jsxs)(mt,{titel:`Altreste neben dem Betrieb`,zusatz:`${r.length} Einträge · ${_t(s)}`,children:[(0,Z.jsx)(`p`,{className:`text-sm text-text-2`,children:`Test-Ordner, alte Umgebungen und Arbeitskopien, die nichts mehr nutzt. Die Box prüft sie gegen eine feste Liste und löscht auch hier nie von selbst.`}),(0,Z.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:r.map(e=>(0,Z.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-white/[0.06] py-3`,children:[(0,Z.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Z.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Z.jsx)(`span`,{className:`text-sm`,children:e.name}),(0,Z.jsx)(y,{children:`Altrest`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-xs break-all text-text-3`,children:e.pfade.join(` · `)}),(0,Z.jsx)(`span`,{className:`text-sm text-text-2`,children:e.hinweis})]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:e.groesse}),(0,Z.jsx)(H,{variant:`ghost`,size:`sm`,className:pt,disabled:n.isPending,onClick:()=>i(e),children:`Löschen`})]})]},e.id))})]}),e[0]=t.data,e[1]=t.error,e[2]=t.isError,e[3]=t.isPending,e[4]=n.isPending,e[5]=a,e[6]=o}else a=e[5],o=e[6];let s=r!==null,c=`${r?.name??``} löschen?`,l;e[7]===r?.pfade?l=e[8]:(l=r?.pfade.join(`, `)??``,e[7]=r?.pfade,e[8]=l);let d=`${r?.hinweis??``} Gelöscht wird: ${l} (${r?.groesse??``}). Das lässt sich nicht rückgängig machen.`,f;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>i(null),e[9]=f):f=e[9];let p;e[10]!==r||e[11]!==n?(p=()=>{r&&n.mutate(r),i(null)},e[10]=r,e[11]=n,e[12]=p):p=e[12];let m;e[13]!==n.isPending||e[14]!==s||e[15]!==c||e[16]!==d||e[17]!==p?(m=(0,Z.jsx)(ne,{offen:s,gefahr:!0,titel:c,text:d,knopf:`Endgültig löschen`,gesperrt:n.isPending,onNein:f,onJa:p}),e[13]=n.isPending,e[14]=s,e[15]=c,e[16]=d,e[17]=p,e[18]=m):m=e[18];let h;return e[19]!==a||e[20]!==o||e[21]!==m?(h=(0,Z.jsxs)(`div`,{className:a,children:[o,m]}),e[19]=a,e[20]=o,e[21]=m,e[22]=h):h=e[22],h}function yt(e,t){return e+t.groesse_bytes}function bt(){let e=(0,Y.c)(69),t=m(),n=p(),r=x(),i=C(),[a,o]=(0,X.useState)(!1),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={select:wt},e[0]=s):s=e[0];let c=oe(s),u=!!t.data&&!n.isPending&&!r.isPending&&!i.isPending,f,h;if(e[1]!==u||e[2]!==c?(f=()=>{u&&c===`radar`&&document.getElementById(`radar`)?.scrollIntoView({block:`start`})},h=[u,c],e[1]=u,e[2]=c,e[3]=f,e[4]=h):(f=e[3],h=e[4]),(0,X.useEffect)(f,h),t.isPending){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(b,{text:`Modelle werden gelesen …`}),e[5]=t):t=e[5],t}if(!t.data){let n=`Die Modell-Liste fehlt: ${t.error?.message??`keine Daten`}`,r;return e[6]===n?r=e[7]:(r=(0,Z.jsx)(b,{fehler:!0,text:n}),e[6]=n,e[7]=r),r}let g=t.data.models,_=t.data.running,v,y,S,w,T,E,D,O,k,A,j,M,N;if(e[8]!==_||e[9]!==g||e[10]!==n.data||e[11]!==n.error?.message||e[12]!==n.isPending){let t=g.find(Ct);y=g.find(St);let r;e[26]===g?r=e[27]:(r=(e,t)=>e?g.find(n=>n!==e&&n.aliases.includes(t)&&n.filename===e.filename):void 0,e[26]=g,e[27]=r);let i=r,a=i(t,`vision`);S=i(y,`coder-bild`);let s=g.filter(e=>![t,y,a,S].includes(e)),c;e[28]===n.data?.zuletzt_geladen?c=e[29]:(c=n.data?.zuletzt_geladen??{},e[28]=n.data?.zuletzt_geladen,e[29]=c);let u=c,f={};for(let[e,n]of[[t,`Hirn`],[y,`Coder`],[a,`Bild-Zwilling des Hirns`],[S,`Bild-Zwilling des Coders`]])e&&(f[e.name]=n);e[30]!==_||e[31]!==g?(M=(0,Z.jsx)(tt,{modelle:g,laufend:_}),e[30]=_,e[31]=g,e[32]=M):M=e[32],e[33]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,Z.jsx)(q,{alsPanel:!0}),e[33]=N):N=e[33];let p;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(it,{titel:`Dritte Rolle`,laeuft:!1,nutzer:``}),e[34]=p):p=e[34],w=(0,Z.jsxs)(`section`,{"aria-label":`Rollen`,className:`grid gap-5 md:grid-cols-3 md:gap-6`,children:[(0,Z.jsx)(it,{titel:`Hirn`,modell:t,zwilling:a,laeuft:!!t&&_.includes(t.name),nutzer:`Lucy, NerdQuiz und OpenChamber für Kleinkram`}),(0,Z.jsx)(it,{titel:`Coder`,modell:y,zwilling:S,laeuft:!!y&&_.includes(y.name),nutzer:`OpenChamber zum Planen und Bauen und Lucys Delegation`}),p]}),T=(0,Z.jsx)(Ye,{nutzung:n.data,laedt:n.isPending,fehler:n.error?.message??null,rollen:f});let m=t?.name,h=y?.name;e[35]!==m||e[36]!==h?(E=(0,Z.jsx)(ut,{hirn:m,coder:h}),e[35]=m,e[36]=h,e[37]=E):E=e[37],v=K,k=`Weitere Einträge`,e[38]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,Z.jsxs)(H,{variant:`outline`,size:`sm`,onClick:()=>o(!0),children:[(0,Z.jsx)(l,{"aria-hidden":!0}),` Modelle selbst suchen`]}),e[38]=A):A=e[38],j=s.length===0&&(0,Z.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine weiteren Einträge.`}),D=`m-0 flex list-none flex-col p-0`;let b;e[39]!==_||e[40]!==u?(b=e=>(0,Z.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-3 border-t border-white/[0.06] py-2.5 sm:grid-cols-[minmax(0,1fr)_120px_160px]`,children:[(0,Z.jsxs)(`span`,{className:`min-w-0`,children:[(0,Z.jsx)(`span`,{className:`ziffern block text-sm break-all`,children:e.name}),(0,Z.jsx)(`span`,{className:`text-xs text-text-3`,children:e.aliases.length?e.aliases.join(`, `):`ohne Rolle`})]}),(0,Z.jsx)(`span`,{className:`ziffern text-sm text-text-2`,children:B(e.size_bytes)}),(0,Z.jsx)(`span`,{className:`ziffern hidden text-xs text-text-3 sm:block`,children:_.includes(e.name)?`geladen`:u[e.name]?`zuletzt ${d(u[e.name])}`:`länger nicht geladen`})]},e.name),e[39]=_,e[40]=u,e[41]=b):b=e[41],O=s.map(b),e[8]=_,e[9]=g,e[10]=n.data,e[11]=n.error?.message,e[12]=n.isPending,e[13]=v,e[14]=y,e[15]=S,e[16]=w,e[17]=T,e[18]=E,e[19]=D,e[20]=O,e[21]=k,e[22]=A,e[23]=j,e[24]=M,e[25]=N}else v=e[13],y=e[14],S=e[15],w=e[16],T=e[17],E=e[18],D=e[19],O=e[20],k=e[21],A=e[22],j=e[23],M=e[24],N=e[25];let P;e[42]!==D||e[43]!==O?(P=(0,Z.jsx)(`ul`,{className:D,children:O}),e[42]=D,e[43]=O,e[44]=P):P=e[44];let F;e[45]!==v||e[46]!==P||e[47]!==k||e[48]!==A||e[49]!==j?(F=(0,Z.jsxs)(v,{titel:k,rechts:A,children:[j,P]}),e[45]=v,e[46]=P,e[47]=k,e[48]=A,e[49]=j,e[50]=F):F=e[50];let I;e[51]===Symbol.for(`react.memo_cache_sentinel`)?(I=(0,Z.jsx)(ht,{}),e[51]=I):I=e[51];let L;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(L=()=>o(!1),e[52]=L):L=e[52];let R;e[53]!==y||e[54]!==S?(R=y?{name:y.name,zwilling:!!S,weitere:y.aliases.filter(xt)}:void 0,e[53]=y,e[54]=S,e[55]=R):R=e[55];let z;e[56]===R?z=e[57]:(z={coder:R},e[56]=R,e[57]=z);let V;e[58]!==a||e[59]!==z?(V=(0,Z.jsx)(Ze,{offen:a,onSchliessen:L,rollenJetzt:z}),e[58]=a,e[59]=z,e[60]=V):V=e[60];let ee;return e[61]!==w||e[62]!==T||e[63]!==E||e[64]!==F||e[65]!==V||e[66]!==M||e[67]!==N?(ee=(0,Z.jsxs)(Z.Fragment,{children:[M,N,w,T,E,F,I,V]}),e[61]=w,e[62]=T,e[63]=E,e[64]=F,e[65]=V,e[66]=M,e[67]=N,e[68]=ee):ee=e[68],ee}function xt(e){return e.toLowerCase()!==`coder`}function St(e){return M(e)===`coder`}function Ct(e){return M(e)===`hirn`}function wt(e){return e.hash}export{lt as Kandidat,bt as ModelleSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Monitoring-CSGIxU_X.js b/frontend/dist/assets/Monitoring-BnCuva0g.js similarity index 81% rename from frontend/dist/assets/Monitoring-CSGIxU_X.js rename to frontend/dist/assets/Monitoring-BnCuva0g.js index cf035e0..61a9d58 100644 --- a/frontend/dist/assets/Monitoring-CSGIxU_X.js +++ b/frontend/dist/assets/Monitoring-BnCuva0g.js @@ -1 +1 @@ -import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{C as a,D as o,E as s,N as c,O as l,Ot as u,S as d,T as f,at as p,bt as m,d as h,f as g,j as _,mt as v,p as y,rn as b,w as x,wn as S}from"./index-CJ1jXWsM.js";import{t as C}from"./Panel-uT1S5ZGr.js";import{t as w}from"./breite-k-QN6GPl.js";var T=t(e(),1),E=r(),D=n(),O={ruhig:{wert:`text-foreground`,marke:null},gelb:{wert:`text-bernstein`,marke:`hoch`},rot:{wert:`text-rot-text`,marke:`kritisch`}};function k(e){let t=(0,E.c)(29),{label:n,wert:r,einheit:a,punkte:o,max:s,zustand:c,farbe:l,zeitraumText:u}=e,d=O[c===void 0?`ruhig`:c],p;t[0]===n?p=t[1]:(p=(0,D.jsx)(`span`,{className:`etikett text-[11px] text-text-3`,children:n}),t[0]=n,t[1]=p);let m;t[2]===d.wert?m=t[3]:(m=i(`font-anzeige text-[28px] leading-none font-semibold tabular-nums`,d.wert),t[2]=d.wert,t[3]=m);let g;t[4]!==a||t[5]!==r?(g=f(r,a),t[4]=a,t[5]=r,t[6]=g):g=t[6];let _;t[7]!==m||t[8]!==g?(_=(0,D.jsx)(`span`,{className:m,children:g}),t[7]=m,t[8]=g,t[9]=_):_=t[9];let v;t[10]!==d.marke||t[11]!==d.wert?(v=d.marke&&(0,D.jsx)(`span`,{className:i(`etikett text-[10.5px]`,d.wert),children:d.marke}),t[10]=d.marke,t[11]=d.wert,t[12]=v):v=t[12];let y;t[13]!==_||t[14]!==v?(y=(0,D.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[_,v]}),t[13]=_,t[14]=v,t[15]=y):y=t[15];let b;t[16]!==l||t[17]!==n||t[18]!==s||t[19]!==o||t[20]!==u?(b=o&&o.length>1&&(0,D.jsx)(h,{punkte:o,max:s,farbe:l,beschriftung:`${n}, ${u}`}),t[16]=l,t[17]=n,t[18]=s,t[19]=o,t[20]=u,t[21]=b):b=t[21];let x;t[22]===o?x=t[23]:(x=o&&o.length<=1&&(0,D.jsx)(`span`,{className:`h-9`,"aria-hidden":!0}),t[22]=o,t[23]=x);let S;return t[24]!==p||t[25]!==y||t[26]!==b||t[27]!==x?(S=(0,D.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 flex-col gap-1.5 rounded-xl px-3.5 pt-3 pb-2`,children:[p,y,b,x]}),t[24]=p,t[25]=y,t[26]=b,t[27]=x,t[28]=S):S=t[28],S}var A={rechts:12,oben:10,unten:24};function j(e){let t=(0,E.c)(72),{reihen:n,einheit:r,langerZeitraum:i,hoehe:a,titel:o}=e,c=a===void 0?180:a,[l,u]=w(),[d,p]=(0,T.useState)(null),m,h,_,v,b,S,C,O;if(t[0]!==u||t[1]!==r||t[2]!==c||t[3]!==d||t[4]!==i||t[5]!==l||t[6]!==n||t[7]!==o){let e=n[0]?.punkte??[],a=e.length,w=x(n.map(re),r),T=r===`prozent`?[0,25,50,75,100]:[0,w/2,w],E=Math.max(40,Math.max(...T.map(e=>f(e,r).length))*7+12),k;t[16]===E?k=t[17]:(k={...A,links:E},t[16]=E,t[17]=k);let j=k,M=u-j.links-A.rechts,N=c-A.oben-A.unten,ie=e[0]?.[0]??0,P=e[a-1]?.[0]??1,F=e=>j.links+(P>ie?(e-ie)/(P-ie)*M:0),I;t[18]!==N||t[19]!==w?(I=e=>A.oben+N-Math.min(e,w)/(w||1)*N,t[18]=N,t[19]=w,t[20]=I):I=t[20];let L=I,R=A.oben+N,z=a>1?[0,.25,.5,.75,1].map(t=>e[Math.round(t*(a-1))][0]):[],B;t[21]===n?B=t[22]:(B=n.some(ne),t[21]=n,t[22]=B);let V=B,H;t[23]===a?H=t[24]:(H=function(e){if(a===0)return;let t=e.currentTarget.getBoundingClientRect(),n=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width));p(Math.round(n*(a-1)))},t[23]=a,t[24]=H);let U=H,W;t[25]===a?W=t[26]:(W=function(e){if(a!==0){if(e.key===`ArrowLeft`)p(e=>Math.max(0,(e??a-1)-1));else if(e.key===`ArrowRight`)p(e=>Math.min(a-1,(e??a-1)+1));else return;e.preventDefault()}},t[25]=a,t[26]=W);let ae=W,G=d!==null&&e[d]?e[d][0]:null,K=G===null?0:F(G),oe=e.slice(-12);S=`flex flex-col gap-2`,t[27]===n?C=t[28]:(C=n.length>1&&(0,D.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:n.map(te)}),t[27]=n,t[28]=C);let q;t[29]===a?q=t[30]:(q=()=>p(e=>e??(a?a-1:null)),t[29]=a,t[30]=q);let J;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>p(null),t[31]=J):J=t[31];let Y;t[32]!==j.links||t[33]!==R||t[34]!==V||t[35]!==M||t[36]!==N||t[37]!==n||t[38]!==F||t[39]!==L?(Y=V?n.map(e=>(0,D.jsxs)(`g`,{children:[n.length===1&&(0,D.jsx)(`path`,{d:g(e.punkte,F,L,R),fill:e.farbe,opacity:.1}),(0,D.jsx)(`path`,{d:y(e.punkte,F,L),fill:`none`,stroke:e.farbe,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})]},e.name)):(0,D.jsx)(`text`,{x:j.links+M/2,y:A.oben+N/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Noch keine Messwerte in diesem Zeitraum`}),t[32]=j.links,t[33]=R,t[34]=V,t[35]=M,t[36]=N,t[37]=n,t[38]=F,t[39]=L,t[40]=Y):Y=t[40];let se;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(se=()=>p(null),t[41]=se):se=t[41];let X;t[42]!==j.links||t[43]!==M||t[44]!==N||t[45]!==U?(X=(0,D.jsx)(`rect`,{x:j.links,y:A.oben,width:M,height:N,fill:`transparent`,onPointerMove:U,onPointerLeave:se}),t[42]=j.links,t[43]=M,t[44]=N,t[45]=U,t[46]=X):X=t[46];let ce=(0,D.jsxs)(`svg`,{width:u,height:c,role:`img`,"aria-label":o,tabIndex:0,onKeyDown:ae,onFocus:q,onBlur:J,className:`block max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[T.map(e=>(0,D.jsxs)(`g`,{children:[(0,D.jsx)(`line`,{x1:j.links,x2:u-A.rechts,y1:L(e),y2:L(e),stroke:`var(--linie)`,strokeWidth:1}),(0,D.jsx)(`text`,{x:j.links-8,y:L(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:f(e,r)})]},e)),z.map((e,t)=>(0,D.jsx)(`text`,{x:F(e),y:c-6,className:`fill-text-3 font-mono text-[11px]`,textAnchor:t===0?`start`:t===z.length-1?`end`:`middle`,children:s(e,i)},e)),Y,G!==null&&(0,D.jsxs)(`g`,{"aria-hidden":!0,children:[(0,D.jsx)(`line`,{x1:F(G),x2:F(G),y1:A.oben,y2:R,stroke:`var(--text-3)`,strokeWidth:1}),n.map(e=>{let t=e.punkte[d]?.[1];return t==null?null:(0,D.jsx)(`circle`,{cx:F(G),cy:L(t),r:4,fill:e.farbe,stroke:`var(--panel)`,strokeWidth:2},e.name)})]}),X]}),Z=G!==null&&(0,D.jsxs)(`div`,{role:`status`,className:`pointer-events-none absolute top-1 z-10 flex min-w-36 flex-col gap-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 py-2 shadow-lg`,style:K>u/2?{right:u-K+10}:{left:K+10},children:[(0,D.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:s(G,!0)}),n.map(e=>(0,D.jsxs)(`span`,{className:`flex items-center gap-2 text-sm`,children:[(0,D.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 rounded-full`,style:{background:e.farbe}}),(0,D.jsx)(`span`,{className:`font-semibold text-foreground`,children:f(e.punkte[d]?.[1],r)}),n.length>1&&(0,D.jsx)(`span`,{className:`text-text-3`,children:e.name})]},e.name))]});t[47]!==l||t[48]!==ce||t[49]!==Z?(O=(0,D.jsxs)(`div`,{ref:l,className:`relative w-full`,children:[ce,Z]}),t[47]=l,t[48]=ce,t[49]=Z,t[50]=O):O=t[50],v=`group text-sm`,t[51]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,D.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[51]=b):b=t[51],h=`ziffern mt-2 w-full max-w-md border-collapse text-xs`;let Q;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,D.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:`Zeit`}),t[52]=Q):Q=t[52];let $;t[53]===n?$=t[54]:($=n.map(ee),t[53]=n,t[54]=$),t[55]===$?_=t[56]:(_=(0,D.jsx)(`thead`,{children:(0,D.jsxs)(`tr`,{className:`text-left text-text-3`,children:[Q,$]})}),t[55]=$,t[56]=_),m=oe.map((e,t)=>{let[o]=e;return(0,D.jsxs)(`tr`,{className:`border-t border-white/[0.06]`,children:[(0,D.jsx)(`td`,{className:`py-1 pr-4 text-text-3`,children:s(o,i)}),n.map(e=>(0,D.jsx)(`td`,{className:`py-1 pr-4 text-text-2`,children:f(e.punkte[a-oe.length+t]?.[1],r)},e.name))]},o)}),t[0]=u,t[1]=r,t[2]=c,t[3]=d,t[4]=i,t[5]=l,t[6]=n,t[7]=o,t[8]=m,t[9]=h,t[10]=_,t[11]=v,t[12]=b,t[13]=S,t[14]=C,t[15]=O}else m=t[8],h=t[9],_=t[10],v=t[11],b=t[12],S=t[13],C=t[14],O=t[15];let k;t[57]===m?k=t[58]:(k=(0,D.jsx)(`tbody`,{children:m}),t[57]=m,t[58]=k);let j;t[59]!==k||t[60]!==h||t[61]!==_?(j=(0,D.jsxs)(`table`,{className:h,children:[_,k]}),t[59]=k,t[60]=h,t[61]=_,t[62]=j):j=t[62];let M;t[63]!==j||t[64]!==v||t[65]!==b?(M=(0,D.jsxs)(`details`,{className:v,children:[b,j]}),t[63]=j,t[64]=v,t[65]=b,t[66]=M):M=t[66];let N;return t[67]!==M||t[68]!==S||t[69]!==C||t[70]!==O?(N=(0,D.jsxs)(`div`,{className:S,children:[C,O,M]}),t[67]=M,t[68]=S,t[69]=C,t[70]=O,t[71]=N):N=t[71],N}function ee(e){return(0,D.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:e.name},e.name)}function te(e){return(0,D.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-4 rounded-full`,style:{background:e.farbe}}),e.name]},e.name)}function ne(e){return e.punkte.some(M)}function M(e){let[,t]=e;return t!==null}function re(e){return e.punkte}var N=[{id:`1h`,name:`1 Stunde`,text:`letzte Stunde`},{id:`24h`,name:`24 Stunden`,text:`letzte 24 Stunden`},{id:`7d`,name:`7 Tage`,text:`letzte 7 Tage`}];function ie(e){let t=(0,E.c)(6),{wert:n,onWahl:r,farbe:a}=e,o=a===`box`?`border-box-rand bg-box-grund text-box-text`:`border-lab-rand bg-lab-grund text-lab-text`,s;t[0]!==o||t[1]!==r||t[2]!==n?(s=N.map(e=>(0,D.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),"aria-pressed":n===e.id,className:i(`h-9 rounded-full border px-4 text-sm`,n===e.id?o:`border-white/10 text-text-2 hover:border-white/20 hover:text-foreground`),children:e.name},e.id)),t[0]=o,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;return t[4]===s?c=t[5]:(c=(0,D.jsx)(`div`,{role:`group`,"aria-label":`Zeitraum`,className:`flex flex-wrap gap-2`,children:s}),t[4]=s,t[5]=c),c}function P(e){let t=(0,E.c)(9),{titel:n,rechts:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,D.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]!==r||t[3]!==a?(o=(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[a,r]}),t[2]=r,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==i||t[6]!==o||t[7]!==n?(s=(0,D.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 flaeche rounded-2xl p-4 sm:p-5`,children:[o,i]}),t[5]=i,t[6]=o,t[7]=n,t[8]=s):s=t[8],s}var F=e=>N.find(t=>t.id===e)?.text??``;function I(){let e=(0,E.c)(97),[t,n]=(0,T.useState)(`1h`),r=p(t),s=b(),l;e[0]===r.data?.reihen?l=e[1]:(l=r.data?.reihen??{},e[0]=r.data?.reihen,e[1]=l);let u=l,d;e[2]===r.data?.aktuell?d=e[3]:(d=r.data?.aktuell??{},e[2]=r.data?.aktuell,e[3]=d);let f=d,m=t===`7d`,h;e[4]!==f||e[5]!==u?(h=(e,t)=>e??f[t]??a(u[t]),e[4]=f,e[5]=u,e[6]=h):h=e[6];let g=h,_;e[7]===t?_=e[8]:(_=(0,D.jsx)(ie,{wert:t,onWahl:n,farbe:`box`}),e[7]=t,e[8]=_);let v;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,D.jsx)(`span`,{className:`text-sm text-text-3`,children:`Zahlen live, Verläufe im Minutentakt`}),e[9]=v):v=e[9];let y;e[10]===_?y=e[11]:(y=(0,D.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[_,v]}),e[10]=_,e[11]=y);let x=s?.cpu,S;e[12]!==x||e[13]!==g?(S=g(x,`cpu`),e[12]=x,e[13]=g,e[14]=S):S=e[14];let C=s?.cpu,w;e[15]!==C||e[16]!==g?(w=o(g(C,`cpu`),85,95),e[15]=C,e[16]=g,e[17]=w):w=e[17];let O;e[18]===t?O=e[19]:(O=F(t),e[18]=t,e[19]=O);let A;e[20]!==O||e[21]!==S||e[22]!==w?(A=(0,D.jsx)(k,{label:`CPU`,wert:S,einheit:`prozent`,max:100,zustand:w,zeitraumText:O}),e[20]=O,e[21]=S,e[22]=w,e[23]=A):A=e[23];let ee=s?.ram,te;e[24]!==ee||e[25]!==g?(te=g(ee,`ram`),e[24]=ee,e[25]=g,e[26]=te):te=e[26];let ne=s?.ram,M;e[27]!==ne||e[28]!==g?(M=o(g(ne,`ram`),85,95),e[27]=ne,e[28]=g,e[29]=M):M=e[29];let re;e[30]===t?re=e[31]:(re=F(t),e[30]=t,e[31]=re);let N;e[32]!==te||e[33]!==M||e[34]!==re?(N=(0,D.jsx)(k,{label:`Speicher`,wert:te,einheit:`prozent`,max:100,zustand:M,zeitraumText:re}),e[32]=te,e[33]=M,e[34]=re,e[35]=N):N=e[35];let I=s?.gpu,L;e[36]!==I||e[37]!==g?(L=g(I,`gpu`),e[36]=I,e[37]=g,e[38]=L):L=e[38];let R;e[39]===t?R=e[40]:(R=F(t),e[39]=t,e[40]=R);let z;e[41]!==L||e[42]!==R?(z=(0,D.jsx)(k,{label:`GPU`,wert:L,einheit:`prozent`,max:100,zeitraumText:R}),e[41]=L,e[42]=R,e[43]=z):z=e[43];let B=s?.temp_cpu,V;e[44]!==B||e[45]!==g?(V=g(B,`temp_cpu`),e[44]=B,e[45]=g,e[46]=V):V=e[46];let H=s?.temp_cpu,U;e[47]!==H||e[48]!==g?(U=o(g(H,`temp_cpu`),80,90),e[47]=H,e[48]=g,e[49]=U):U=e[49];let W;e[50]===t?W=e[51]:(W=F(t),e[50]=t,e[51]=W);let ae;e[52]!==V||e[53]!==U||e[54]!==W?(ae=(0,D.jsx)(k,{label:`CPU-Temp.`,wert:V,einheit:`grad`,max:100,zustand:U,zeitraumText:W}),e[52]=V,e[53]=U,e[54]=W,e[55]=ae):ae=e[55];let G=s?.temp_gpu,K;e[56]!==G||e[57]!==g?(K=g(G,`temp_gpu`),e[56]=G,e[57]=g,e[58]=K):K=e[58];let oe=s?.temp_gpu,q;e[59]!==oe||e[60]!==g?(q=o(g(oe,`temp_gpu`),80,90),e[59]=oe,e[60]=g,e[61]=q):q=e[61];let J;e[62]===t?J=e[63]:(J=F(t),e[62]=t,e[63]=J);let Y;e[64]!==K||e[65]!==q||e[66]!==J?(Y=(0,D.jsx)(k,{label:`GPU-Temp.`,wert:K,einheit:`grad`,max:100,zustand:q,zeitraumText:J}),e[64]=K,e[65]=q,e[66]=J,e[67]=Y):Y=e[67];let se=s?.disk,X;e[68]!==se||e[69]!==g?(X=g(se,`platte`),e[68]=se,e[69]=g,e[70]=X):X=e[70];let ce=s?.disk,Z;e[71]!==ce||e[72]!==g?(Z=o(g(ce,`platte`),80,90),e[71]=ce,e[72]=g,e[73]=Z):Z=e[73];let Q;e[74]===t?Q=e[75]:(Q=F(t),e[74]=t,e[75]=Q);let $;e[76]!==X||e[77]!==Z||e[78]!==Q?($=(0,D.jsx)(k,{label:`Platte`,wert:X,einheit:`prozent`,max:100,zustand:Z,zeitraumText:Q}),e[76]=X,e[77]=Z,e[78]=Q,e[79]=$):$=e[79];let le;e[80]!==A||e[81]!==N||e[82]!==z||e[83]!==ae||e[84]!==Y||e[85]!==$?(le=(0,D.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-3 xl:grid-cols-6`,children:[A,N,z,ae,Y,$]}),e[80]=A,e[81]=N,e[82]=z,e[83]=ae,e[84]=Y,e[85]=$,e[86]=le):le=e[86];let ue;e[87]!==m||e[88]!==r.data||e[89]!==r.isError||e[90]!==r.isPlaceholderData||e[91]!==u?(ue=r.isError&&!r.data?(0,D.jsx)(c,{text:`Der Verlauf ist noch nicht da: Die KI-Box sammelt Messwerte, sobald der neue Stand läuft. Die Zahlen oben sind live.`}):(0,D.jsxs)(`div`,{className:i(`grid gap-5 md:gap-6 xl:grid-cols-2`,r.isPlaceholderData&&`opacity-70`),children:[(0,D.jsx)(P,{titel:`CPU`,children:(0,D.jsx)(j,{titel:`CPU-Auslastung in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`CPU`,punkte:u.cpu??[],farbe:`var(--reihe-1)`}]})}),(0,D.jsx)(P,{titel:`Speicher`,children:(0,D.jsx)(j,{titel:`Belegter Speicher in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`Speicher`,punkte:u.ram??[],farbe:`var(--reihe-1)`}]})}),(0,D.jsx)(P,{titel:`GPU`,children:(0,D.jsx)(j,{titel:`GPU-Last in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`GPU`,punkte:u.gpu??[],farbe:`var(--reihe-1)`}]})}),(0,D.jsx)(P,{titel:`Temperatur`,children:(0,D.jsx)(j,{titel:`Temperatur von CPU und GPU in Grad`,einheit:`grad`,langerZeitraum:m,reihen:[{name:`CPU`,punkte:u.temp_cpu??[],farbe:`var(--reihe-1)`},{name:`GPU`,punkte:u.temp_gpu??[],farbe:`var(--reihe-2)`}]})}),(0,D.jsx)(P,{titel:`Netz`,children:(0,D.jsx)(j,{titel:`Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:m,reihen:[{name:`empfangen`,punkte:u.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:u.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(0,D.jsx)(P,{titel:`Tokens pro Minute`,children:(0,D.jsx)(j,{titel:`Erzeugte und gelesene Tokens pro Minute`,einheit:`anzahl`,langerZeitraum:m,reihen:[{name:`Tokens`,punkte:u.tokens??[],farbe:`var(--reihe-1)`}]})})]}),e[87]=m,e[88]=r.data,e[89]=r.isError,e[90]=r.isPlaceholderData,e[91]=u,e[92]=ue):ue=e[92];let de;return e[93]!==le||e[94]!==ue||e[95]!==y?(de=(0,D.jsxs)(D.Fragment,{children:[y,le,ue]}),e[93]=le,e[94]=ue,e[95]=y,e[96]=de):de=e[96],de}function L(e){let t=(0,E.c)(43),{g:n,zeitraum:r}=e,i=n.aktuell,a=n.id,o=n.name,s;t[0]!==n.art||t[1]!==n.name?(s=_({art:n.art,name:n.name}),t[0]=n.art,t[1]=n.name,t[2]=s):s=t[2];let c;t[3]===s?c=t[4]:(c=(0,D.jsx)(l,{bild:s,groesse:`sm`}),t[3]=s,t[4]=c);let u;t[5]===n.name?u=t[6]:(u=(0,D.jsx)(`h3`,{className:`text-[15px] font-semibold`,children:n.name}),t[5]=n.name,t[6]=u);let f;t[7]!==c||t[8]!==u?(f=(0,D.jsxs)(`span`,{className:`flex min-w-0 items-center gap-3`,children:[c,u]}),t[7]=c,t[8]=u,t[9]=f):f=t[9];let p;t[10]===i.cpu?p=t[11]:(p=i.cpu==null?`–`:`${Math.round(i.cpu)} %`,t[10]=i.cpu,t[11]=p);let m;t[12]===i.ram?m=t[13]:(m=i.ram==null?`–`:`${Math.round(i.ram)} %`,t[12]=i.ram,t[13]=m);let h;t[14]===i.uptime_s?h=t[15]:(h=d(i.uptime_s),t[14]=i.uptime_s,t[15]=h);let g;t[16]!==p||t[17]!==m||t[18]!==h?(g=(0,D.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`CPU `,p,` · RAM `,m,` · läuft `,h]}),t[16]=p,t[17]=m,t[18]=h,t[19]=g):g=t[19];let v;t[20]!==g||t[21]!==f?(v=(0,D.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[f,g]}),t[20]=g,t[21]=f,t[22]=v):v=t[22];let y=`${n.name}: CPU und Speicher in Prozent`,b=r===`7d`,x;t[23]===n.reihen.cpu?x=t[24]:(x=n.reihen.cpu??[],t[23]=n.reihen.cpu,t[24]=x);let S;t[25]===x?S=t[26]:(S={name:`CPU`,punkte:x,farbe:`var(--reihe-1)`},t[25]=x,t[26]=S);let C;t[27]===n.reihen.ram?C=t[28]:(C=n.reihen.ram??[],t[27]=n.reihen.ram,t[28]=C);let w;t[29]===C?w=t[30]:(w={name:`Speicher`,punkte:C,farbe:`var(--reihe-2)`},t[29]=C,t[30]=w);let T;t[31]!==S||t[32]!==w?(T=[S,w],t[31]=S,t[32]=w,t[33]=T):T=t[33];let O;t[34]!==y||t[35]!==b||t[36]!==T?(O=(0,D.jsx)(j,{titel:y,einheit:`prozent`,langerZeitraum:b,hoehe:140,reihen:T}),t[34]=y,t[35]=b,t[36]=T,t[37]=O):O=t[37];let k;return t[38]!==n.id||t[39]!==n.name||t[40]!==v||t[41]!==O?(k=(0,D.jsxs)(`section`,{id:a,"aria-label":o,className:`flex min-w-0 scroll-mt-6 flex-col gap-3 flaeche rounded-2xl p-4 sm:p-5`,children:[v,O]}),t[38]=n.id,t[39]=n.name,t[40]=v,t[41]=O,t[42]=k):k=t[42],k}function R(){let e=(0,E.c)(31),[t,n]=(0,T.useState)(`1h`),r=m(),a=u(),s=r.data?.rolle===`homelab`||!!(a.data?.eingerichtet&&a.data.erreichbar),l=v(t,s),f;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(f={select:H},e[0]=f):f=e[0];let p=S(f),h,g;if(e[1]!==p||e[2]!==l.data?(h=()=>{p&&l.data&&document.getElementById(p)?.scrollIntoView({block:`start`})},g=[p,l.data],e[1]=p,e[2]=l.data,e[3]=h,e[4]=g):(h=e[3],g=e[4]),(0,T.useEffect)(h,g),!s){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(c,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[5]=t):t=e[5],t}if(l.isPending){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(c,{text:`Die Messwerte kommen gleich …`}),e[6]=t):t=e[6],t}if(!l.data){let t;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(c,{text:`Noch keine Messwerte: Der Ausführer schickt sie jede Minute, sobald sein neuer Stand eingespielt ist.`}),e[7]=t):t=e[7],t}let _,y,b,x;if(e[8]!==l.data.geraete||e[9]!==l.isPlaceholderData||e[10]!==t){let r=l.data.geraete.find(V),a=l.data.geraete.filter(B),s=t===`7d`,c=r?.aktuell??{},u;e[15]===t?u=e[16]:(u=(0,D.jsx)(ie,{wert:t,onWahl:n,farbe:`homelab`}),e[15]=t,e[16]=u);let f;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,D.jsx)(`span`,{className:`text-sm text-text-3`,children:`Werte im Minutentakt vom Proxmox-Host`}),e[17]=f):f=e[17],e[18]===u?b=e[19]:(b=(0,D.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[u,f]}),e[18]=u,e[19]=b),x=r&&(0,D.jsxs)(C,{titel:`Proxmox-Host`,rechts:(0,D.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`läuft `,d(c.uptime_s),c.load1==null?``:` · Last ${c.load1.toFixed(2).replace(`.`,`,`)}`]}),children:[(0,D.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,D.jsx)(k,{label:`CPU`,wert:c.cpu,einheit:`prozent`,max:100,punkte:r.reihen.cpu,zustand:o(c.cpu??null,85,95),zeitraumText:F(t)}),(0,D.jsx)(k,{label:`Speicher`,wert:c.ram,einheit:`prozent`,max:100,punkte:r.reihen.ram,zustand:o(c.ram??null,90,95),zeitraumText:F(t)}),(0,D.jsx)(k,{label:`Temperatur`,wert:c.temp_cpu,einheit:`grad`,max:100,punkte:r.reihen.temp_cpu,zustand:o(c.temp_cpu??null,80,90),zeitraumText:F(t)}),(0,D.jsx)(k,{label:`Systemplatte`,wert:c.platte,einheit:`prozent`,max:100,punkte:r.reihen.platte,zustand:o(c.platte??null,80,90),zeitraumText:F(t)})]}),(0,D.jsxs)(`div`,{className:i(`grid gap-5 xl:grid-cols-2`,l.isPlaceholderData&&`opacity-70`),children:[(0,D.jsx)(P,{titel:`CPU und Speicher`,children:(0,D.jsx)(j,{titel:`Proxmox-Host: CPU und Speicher in Prozent`,einheit:`prozent`,langerZeitraum:s,reihen:[{name:`CPU`,punkte:r.reihen.cpu??[],farbe:`var(--reihe-1)`},{name:`Speicher`,punkte:r.reihen.ram??[],farbe:`var(--reihe-2)`}]})}),(0,D.jsx)(P,{titel:`Netz`,children:(0,D.jsx)(j,{titel:`Proxmox-Host: Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:s,reihen:[{name:`empfangen`,punkte:r.reihen.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:r.reihen.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(r.reihen.temp_cpu?.some(z)??!1)&&(0,D.jsx)(P,{titel:`Temperatur`,children:(0,D.jsx)(j,{titel:`Proxmox-Host: CPU-Temperatur in Grad`,einheit:`grad`,langerZeitraum:s,reihen:[{name:`CPU`,punkte:r.reihen.temp_cpu??[],farbe:`var(--reihe-1)`}]})})]})]});let p=l.isPlaceholderData&&`opacity-70`;e[20]===p?_=e[21]:(_=i(`grid gap-5 md:gap-6 xl:grid-cols-2`,p),e[20]=p,e[21]=_);let m;e[22]===t?m=e[23]:(m=e=>(0,D.jsx)(L,{g:e,zeitraum:t},e.id),e[22]=t,e[23]=m),y=a.map(m),e[8]=l.data.geraete,e[9]=l.isPlaceholderData,e[10]=t,e[11]=_,e[12]=y,e[13]=b,e[14]=x}else _=e[11],y=e[12],b=e[13],x=e[14];let w;e[24]!==_||e[25]!==y?(w=(0,D.jsx)(`div`,{className:_,children:y}),e[24]=_,e[25]=y,e[26]=w):w=e[26];let O;return e[27]!==b||e[28]!==x||e[29]!==w?(O=(0,D.jsxs)(D.Fragment,{children:[b,x,w]}),e[27]=b,e[28]=x,e[29]=w,e[30]=O):O=e[30],O}function z(e){let[,t]=e;return t!==null}function B(e){return e.art!==`proxmox-host`}function V(e){return e.art===`proxmox-host`}function H(e){return e.location.hash}export{I as BoxMonitoringSeite,R as HomelabMonitoringSeite}; \ No newline at end of file +import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{C as a,D as o,Dn as s,E as c,N as l,O as u,S as d,T as f,at as p,d as m,f as h,ht as g,j as _,jt as v,on as y,p as b,w as x,xt as S}from"./index-CiJU28k0.js";import{t as C}from"./Panel-uT1S5ZGr.js";import{t as w}from"./breite-k-QN6GPl.js";var T=t(e(),1),E=r(),D=n(),O={ruhig:{wert:`text-foreground`,marke:null},gelb:{wert:`text-bernstein`,marke:`hoch`},rot:{wert:`text-rot-text`,marke:`kritisch`}};function k(e){let t=(0,E.c)(29),{label:n,wert:r,einheit:a,punkte:o,max:s,zustand:c,farbe:l,zeitraumText:u}=e,d=O[c===void 0?`ruhig`:c],p;t[0]===n?p=t[1]:(p=(0,D.jsx)(`span`,{className:`etikett text-[11px] text-text-3`,children:n}),t[0]=n,t[1]=p);let h;t[2]===d.wert?h=t[3]:(h=i(`font-anzeige text-[28px] leading-none font-semibold tabular-nums`,d.wert),t[2]=d.wert,t[3]=h);let g;t[4]!==a||t[5]!==r?(g=f(r,a),t[4]=a,t[5]=r,t[6]=g):g=t[6];let _;t[7]!==h||t[8]!==g?(_=(0,D.jsx)(`span`,{className:h,children:g}),t[7]=h,t[8]=g,t[9]=_):_=t[9];let v;t[10]!==d.marke||t[11]!==d.wert?(v=d.marke&&(0,D.jsx)(`span`,{className:i(`etikett text-[10.5px]`,d.wert),children:d.marke}),t[10]=d.marke,t[11]=d.wert,t[12]=v):v=t[12];let y;t[13]!==_||t[14]!==v?(y=(0,D.jsxs)(`span`,{className:`flex items-baseline gap-2`,children:[_,v]}),t[13]=_,t[14]=v,t[15]=y):y=t[15];let b;t[16]!==l||t[17]!==n||t[18]!==s||t[19]!==o||t[20]!==u?(b=o&&o.length>1&&(0,D.jsx)(m,{punkte:o,max:s,farbe:l,beschriftung:`${n}, ${u}`}),t[16]=l,t[17]=n,t[18]=s,t[19]=o,t[20]=u,t[21]=b):b=t[21];let x;t[22]===o?x=t[23]:(x=o&&o.length<=1&&(0,D.jsx)(`span`,{className:`h-9`,"aria-hidden":!0}),t[22]=o,t[23]=x);let S;return t[24]!==p||t[25]!==y||t[26]!==b||t[27]!==x?(S=(0,D.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 flex-col gap-1.5 rounded-xl px-3.5 pt-3 pb-2`,children:[p,y,b,x]}),t[24]=p,t[25]=y,t[26]=b,t[27]=x,t[28]=S):S=t[28],S}var A={rechts:12,oben:10,unten:24};function j(e){let t=(0,E.c)(72),{reihen:n,einheit:r,langerZeitraum:i,hoehe:a,titel:o}=e,s=a===void 0?180:a,[l,u]=w(),[d,p]=(0,T.useState)(null),m,g,_,v,y,S,C,O;if(t[0]!==u||t[1]!==r||t[2]!==s||t[3]!==d||t[4]!==i||t[5]!==l||t[6]!==n||t[7]!==o){let e=n[0]?.punkte??[],a=e.length,w=x(n.map(re),r),T=r===`prozent`?[0,25,50,75,100]:[0,w/2,w],E=Math.max(40,Math.max(...T.map(e=>f(e,r).length))*7+12),k;t[16]===E?k=t[17]:(k={...A,links:E},t[16]=E,t[17]=k);let j=k,M=u-j.links-A.rechts,N=s-A.oben-A.unten,ie=e[0]?.[0]??0,P=e[a-1]?.[0]??1,F=e=>j.links+(P>ie?(e-ie)/(P-ie)*M:0),I;t[18]!==N||t[19]!==w?(I=e=>A.oben+N-Math.min(e,w)/(w||1)*N,t[18]=N,t[19]=w,t[20]=I):I=t[20];let L=I,R=A.oben+N,z=a>1?[0,.25,.5,.75,1].map(t=>e[Math.round(t*(a-1))][0]):[],B;t[21]===n?B=t[22]:(B=n.some(ne),t[21]=n,t[22]=B);let V=B,H;t[23]===a?H=t[24]:(H=function(e){if(a===0)return;let t=e.currentTarget.getBoundingClientRect(),n=Math.min(1,Math.max(0,(e.clientX-t.left)/t.width));p(Math.round(n*(a-1)))},t[23]=a,t[24]=H);let U=H,W;t[25]===a?W=t[26]:(W=function(e){if(a!==0){if(e.key===`ArrowLeft`)p(e=>Math.max(0,(e??a-1)-1));else if(e.key===`ArrowRight`)p(e=>Math.min(a-1,(e??a-1)+1));else return;e.preventDefault()}},t[25]=a,t[26]=W);let ae=W,G=d!==null&&e[d]?e[d][0]:null,K=G===null?0:F(G),oe=e.slice(-12);S=`flex flex-col gap-2`,t[27]===n?C=t[28]:(C=n.length>1&&(0,D.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-1 p-0 text-sm text-text-2`,"aria-label":`Legende`,children:n.map(te)}),t[27]=n,t[28]=C);let q;t[29]===a?q=t[30]:(q=()=>p(e=>e??(a?a-1:null)),t[29]=a,t[30]=q);let J;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(J=()=>p(null),t[31]=J):J=t[31];let Y;t[32]!==j.links||t[33]!==R||t[34]!==V||t[35]!==M||t[36]!==N||t[37]!==n||t[38]!==F||t[39]!==L?(Y=V?n.map(e=>(0,D.jsxs)(`g`,{children:[n.length===1&&(0,D.jsx)(`path`,{d:h(e.punkte,F,L,R),fill:e.farbe,opacity:.1}),(0,D.jsx)(`path`,{d:b(e.punkte,F,L),fill:`none`,stroke:e.farbe,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})]},e.name)):(0,D.jsx)(`text`,{x:j.links+M/2,y:A.oben+N/2,textAnchor:`middle`,className:`fill-text-3 text-sm`,children:`Noch keine Messwerte in diesem Zeitraum`}),t[32]=j.links,t[33]=R,t[34]=V,t[35]=M,t[36]=N,t[37]=n,t[38]=F,t[39]=L,t[40]=Y):Y=t[40];let se;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(se=()=>p(null),t[41]=se):se=t[41];let X;t[42]!==j.links||t[43]!==M||t[44]!==N||t[45]!==U?(X=(0,D.jsx)(`rect`,{x:j.links,y:A.oben,width:M,height:N,fill:`transparent`,onPointerMove:U,onPointerLeave:se}),t[42]=j.links,t[43]=M,t[44]=N,t[45]=U,t[46]=X):X=t[46];let ce=(0,D.jsxs)(`svg`,{width:u,height:s,role:`img`,"aria-label":o,tabIndex:0,onKeyDown:ae,onFocus:q,onBlur:J,className:`block max-w-full outline-none focus-visible:rounded-md focus-visible:ring-2 focus-visible:ring-cyan/60`,children:[T.map(e=>(0,D.jsxs)(`g`,{children:[(0,D.jsx)(`line`,{x1:j.links,x2:u-A.rechts,y1:L(e),y2:L(e),stroke:`var(--linie)`,strokeWidth:1}),(0,D.jsx)(`text`,{x:j.links-8,y:L(e)+4,textAnchor:`end`,className:`fill-text-3 font-mono text-[11px]`,children:f(e,r)})]},e)),z.map((e,t)=>(0,D.jsx)(`text`,{x:F(e),y:s-6,className:`fill-text-3 font-mono text-[11px]`,textAnchor:t===0?`start`:t===z.length-1?`end`:`middle`,children:c(e,i)},e)),Y,G!==null&&(0,D.jsxs)(`g`,{"aria-hidden":!0,children:[(0,D.jsx)(`line`,{x1:F(G),x2:F(G),y1:A.oben,y2:R,stroke:`var(--text-3)`,strokeWidth:1}),n.map(e=>{let t=e.punkte[d]?.[1];return t==null?null:(0,D.jsx)(`circle`,{cx:F(G),cy:L(t),r:4,fill:e.farbe,stroke:`var(--panel)`,strokeWidth:2},e.name)})]}),X]}),Z=G!==null&&(0,D.jsxs)(`div`,{role:`status`,className:`pointer-events-none absolute top-1 z-10 flex min-w-36 flex-col gap-1 rounded-xl border border-white/12 bg-white/[0.04] px-3 py-2 shadow-lg`,style:K>u/2?{right:u-K+10}:{left:K+10},children:[(0,D.jsx)(`span`,{className:`ziffern text-xs text-text-3`,children:c(G,!0)}),n.map(e=>(0,D.jsxs)(`span`,{className:`flex items-center gap-2 text-sm`,children:[(0,D.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-3 rounded-full`,style:{background:e.farbe}}),(0,D.jsx)(`span`,{className:`font-semibold text-foreground`,children:f(e.punkte[d]?.[1],r)}),n.length>1&&(0,D.jsx)(`span`,{className:`text-text-3`,children:e.name})]},e.name))]});t[47]!==l||t[48]!==ce||t[49]!==Z?(O=(0,D.jsxs)(`div`,{ref:l,className:`relative w-full`,children:[ce,Z]}),t[47]=l,t[48]=ce,t[49]=Z,t[50]=O):O=t[50],v=`group text-sm`,t[51]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,D.jsx)(`summary`,{className:`inline-flex cursor-pointer items-center text-text-3 hover:text-text-2`,children:`Werte als Tabelle`}),t[51]=y):y=t[51],g=`ziffern mt-2 w-full max-w-md border-collapse text-xs`;let Q;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,D.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:`Zeit`}),t[52]=Q):Q=t[52];let $;t[53]===n?$=t[54]:($=n.map(ee),t[53]=n,t[54]=$),t[55]===$?_=t[56]:(_=(0,D.jsx)(`thead`,{children:(0,D.jsxs)(`tr`,{className:`text-left text-text-3`,children:[Q,$]})}),t[55]=$,t[56]=_),m=oe.map((e,t)=>{let[o]=e;return(0,D.jsxs)(`tr`,{className:`border-t border-white/[0.06]`,children:[(0,D.jsx)(`td`,{className:`py-1 pr-4 text-text-3`,children:c(o,i)}),n.map(e=>(0,D.jsx)(`td`,{className:`py-1 pr-4 text-text-2`,children:f(e.punkte[a-oe.length+t]?.[1],r)},e.name))]},o)}),t[0]=u,t[1]=r,t[2]=s,t[3]=d,t[4]=i,t[5]=l,t[6]=n,t[7]=o,t[8]=m,t[9]=g,t[10]=_,t[11]=v,t[12]=y,t[13]=S,t[14]=C,t[15]=O}else m=t[8],g=t[9],_=t[10],v=t[11],y=t[12],S=t[13],C=t[14],O=t[15];let k;t[57]===m?k=t[58]:(k=(0,D.jsx)(`tbody`,{children:m}),t[57]=m,t[58]=k);let j;t[59]!==k||t[60]!==g||t[61]!==_?(j=(0,D.jsxs)(`table`,{className:g,children:[_,k]}),t[59]=k,t[60]=g,t[61]=_,t[62]=j):j=t[62];let M;t[63]!==j||t[64]!==v||t[65]!==y?(M=(0,D.jsxs)(`details`,{className:v,children:[y,j]}),t[63]=j,t[64]=v,t[65]=y,t[66]=M):M=t[66];let N;return t[67]!==M||t[68]!==S||t[69]!==C||t[70]!==O?(N=(0,D.jsxs)(`div`,{className:S,children:[C,O,M]}),t[67]=M,t[68]=S,t[69]=C,t[70]=O,t[71]=N):N=t[71],N}function ee(e){return(0,D.jsx)(`th`,{className:`py-1 pr-4 font-normal`,children:e.name},e.name)}function te(e){return(0,D.jsxs)(`li`,{className:`flex items-center gap-2`,children:[(0,D.jsx)(`span`,{"aria-hidden":!0,className:`h-0.5 w-4 rounded-full`,style:{background:e.farbe}}),e.name]},e.name)}function ne(e){return e.punkte.some(M)}function M(e){let[,t]=e;return t!==null}function re(e){return e.punkte}var N=[{id:`1h`,name:`1 Stunde`,text:`letzte Stunde`},{id:`24h`,name:`24 Stunden`,text:`letzte 24 Stunden`},{id:`7d`,name:`7 Tage`,text:`letzte 7 Tage`}];function ie(e){let t=(0,E.c)(6),{wert:n,onWahl:r,farbe:a}=e,o=a===`box`?`border-box-rand bg-box-grund text-box-text`:`border-lab-rand bg-lab-grund text-lab-text`,s;t[0]!==o||t[1]!==r||t[2]!==n?(s=N.map(e=>(0,D.jsx)(`button`,{type:`button`,onClick:()=>r(e.id),"aria-pressed":n===e.id,className:i(`h-9 rounded-full border px-4 text-sm`,n===e.id?o:`border-white/10 text-text-2 hover:border-white/20 hover:text-foreground`),children:e.name},e.id)),t[0]=o,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;return t[4]===s?c=t[5]:(c=(0,D.jsx)(`div`,{role:`group`,"aria-label":`Zeitraum`,className:`flex flex-wrap gap-2`,children:s}),t[4]=s,t[5]=c),c}function P(e){let t=(0,E.c)(9),{titel:n,rechts:r,children:i}=e,a;t[0]===n?a=t[1]:(a=(0,D.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-2`,children:n}),t[0]=n,t[1]=a);let o;t[2]!==r||t[3]!==a?(o=(0,D.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[a,r]}),t[2]=r,t[3]=a,t[4]=o):o=t[4];let s;return t[5]!==i||t[6]!==o||t[7]!==n?(s=(0,D.jsxs)(`section`,{"aria-label":n,className:`flex min-w-0 flex-col gap-3 flaeche rounded-2xl p-4 sm:p-5`,children:[o,i]}),t[5]=i,t[6]=o,t[7]=n,t[8]=s):s=t[8],s}var F=e=>N.find(t=>t.id===e)?.text??``;function I(){let e=(0,E.c)(97),[t,n]=(0,T.useState)(`1h`),r=p(t),s=y(),c;e[0]===r.data?.reihen?c=e[1]:(c=r.data?.reihen??{},e[0]=r.data?.reihen,e[1]=c);let u=c,d;e[2]===r.data?.aktuell?d=e[3]:(d=r.data?.aktuell??{},e[2]=r.data?.aktuell,e[3]=d);let f=d,m=t===`7d`,h;e[4]!==f||e[5]!==u?(h=(e,t)=>e??f[t]??a(u[t]),e[4]=f,e[5]=u,e[6]=h):h=e[6];let g=h,_;e[7]===t?_=e[8]:(_=(0,D.jsx)(ie,{wert:t,onWahl:n,farbe:`box`}),e[7]=t,e[8]=_);let v;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,D.jsx)(`span`,{className:`text-sm text-text-3`,children:`Zahlen live, Verläufe im Minutentakt`}),e[9]=v):v=e[9];let b;e[10]===_?b=e[11]:(b=(0,D.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[_,v]}),e[10]=_,e[11]=b);let x=s?.cpu,S;e[12]!==x||e[13]!==g?(S=g(x,`cpu`),e[12]=x,e[13]=g,e[14]=S):S=e[14];let C=s?.cpu,w;e[15]!==C||e[16]!==g?(w=o(g(C,`cpu`),85,95),e[15]=C,e[16]=g,e[17]=w):w=e[17];let O;e[18]===t?O=e[19]:(O=F(t),e[18]=t,e[19]=O);let A;e[20]!==O||e[21]!==S||e[22]!==w?(A=(0,D.jsx)(k,{label:`CPU`,wert:S,einheit:`prozent`,max:100,zustand:w,zeitraumText:O}),e[20]=O,e[21]=S,e[22]=w,e[23]=A):A=e[23];let ee=s?.ram,te;e[24]!==ee||e[25]!==g?(te=g(ee,`ram`),e[24]=ee,e[25]=g,e[26]=te):te=e[26];let ne=s?.ram,M;e[27]!==ne||e[28]!==g?(M=o(g(ne,`ram`),85,95),e[27]=ne,e[28]=g,e[29]=M):M=e[29];let re;e[30]===t?re=e[31]:(re=F(t),e[30]=t,e[31]=re);let N;e[32]!==te||e[33]!==M||e[34]!==re?(N=(0,D.jsx)(k,{label:`Speicher`,wert:te,einheit:`prozent`,max:100,zustand:M,zeitraumText:re}),e[32]=te,e[33]=M,e[34]=re,e[35]=N):N=e[35];let I=s?.gpu,L;e[36]!==I||e[37]!==g?(L=g(I,`gpu`),e[36]=I,e[37]=g,e[38]=L):L=e[38];let R;e[39]===t?R=e[40]:(R=F(t),e[39]=t,e[40]=R);let z;e[41]!==L||e[42]!==R?(z=(0,D.jsx)(k,{label:`GPU`,wert:L,einheit:`prozent`,max:100,zeitraumText:R}),e[41]=L,e[42]=R,e[43]=z):z=e[43];let B=s?.temp_cpu,V;e[44]!==B||e[45]!==g?(V=g(B,`temp_cpu`),e[44]=B,e[45]=g,e[46]=V):V=e[46];let H=s?.temp_cpu,U;e[47]!==H||e[48]!==g?(U=o(g(H,`temp_cpu`),80,90),e[47]=H,e[48]=g,e[49]=U):U=e[49];let W;e[50]===t?W=e[51]:(W=F(t),e[50]=t,e[51]=W);let ae;e[52]!==V||e[53]!==U||e[54]!==W?(ae=(0,D.jsx)(k,{label:`CPU-Temp.`,wert:V,einheit:`grad`,max:100,zustand:U,zeitraumText:W}),e[52]=V,e[53]=U,e[54]=W,e[55]=ae):ae=e[55];let G=s?.temp_gpu,K;e[56]!==G||e[57]!==g?(K=g(G,`temp_gpu`),e[56]=G,e[57]=g,e[58]=K):K=e[58];let oe=s?.temp_gpu,q;e[59]!==oe||e[60]!==g?(q=o(g(oe,`temp_gpu`),80,90),e[59]=oe,e[60]=g,e[61]=q):q=e[61];let J;e[62]===t?J=e[63]:(J=F(t),e[62]=t,e[63]=J);let Y;e[64]!==K||e[65]!==q||e[66]!==J?(Y=(0,D.jsx)(k,{label:`GPU-Temp.`,wert:K,einheit:`grad`,max:100,zustand:q,zeitraumText:J}),e[64]=K,e[65]=q,e[66]=J,e[67]=Y):Y=e[67];let se=s?.disk,X;e[68]!==se||e[69]!==g?(X=g(se,`platte`),e[68]=se,e[69]=g,e[70]=X):X=e[70];let ce=s?.disk,Z;e[71]!==ce||e[72]!==g?(Z=o(g(ce,`platte`),80,90),e[71]=ce,e[72]=g,e[73]=Z):Z=e[73];let Q;e[74]===t?Q=e[75]:(Q=F(t),e[74]=t,e[75]=Q);let $;e[76]!==X||e[77]!==Z||e[78]!==Q?($=(0,D.jsx)(k,{label:`Platte`,wert:X,einheit:`prozent`,max:100,zustand:Z,zeitraumText:Q}),e[76]=X,e[77]=Z,e[78]=Q,e[79]=$):$=e[79];let le;e[80]!==A||e[81]!==N||e[82]!==z||e[83]!==ae||e[84]!==Y||e[85]!==$?(le=(0,D.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-3 xl:grid-cols-6`,children:[A,N,z,ae,Y,$]}),e[80]=A,e[81]=N,e[82]=z,e[83]=ae,e[84]=Y,e[85]=$,e[86]=le):le=e[86];let ue;e[87]!==m||e[88]!==r.data||e[89]!==r.isError||e[90]!==r.isPlaceholderData||e[91]!==u?(ue=r.isError&&!r.data?(0,D.jsx)(l,{text:`Der Verlauf ist noch nicht da: Die KI-Box sammelt Messwerte, sobald der neue Stand läuft. Die Zahlen oben sind live.`}):(0,D.jsxs)(`div`,{className:i(`grid gap-5 md:gap-6 xl:grid-cols-2`,r.isPlaceholderData&&`opacity-70`),children:[(0,D.jsx)(P,{titel:`CPU`,children:(0,D.jsx)(j,{titel:`CPU-Auslastung in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`CPU`,punkte:u.cpu??[],farbe:`var(--reihe-1)`}]})}),(0,D.jsx)(P,{titel:`Speicher`,children:(0,D.jsx)(j,{titel:`Belegter Speicher in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`Speicher`,punkte:u.ram??[],farbe:`var(--reihe-1)`}]})}),(0,D.jsx)(P,{titel:`GPU`,children:(0,D.jsx)(j,{titel:`GPU-Last in Prozent`,einheit:`prozent`,langerZeitraum:m,reihen:[{name:`GPU`,punkte:u.gpu??[],farbe:`var(--reihe-1)`}]})}),(0,D.jsx)(P,{titel:`Temperatur`,children:(0,D.jsx)(j,{titel:`Temperatur von CPU und GPU in Grad`,einheit:`grad`,langerZeitraum:m,reihen:[{name:`CPU`,punkte:u.temp_cpu??[],farbe:`var(--reihe-1)`},{name:`GPU`,punkte:u.temp_gpu??[],farbe:`var(--reihe-2)`}]})}),(0,D.jsx)(P,{titel:`Netz`,children:(0,D.jsx)(j,{titel:`Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:m,reihen:[{name:`empfangen`,punkte:u.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:u.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(0,D.jsx)(P,{titel:`Tokens pro Minute`,children:(0,D.jsx)(j,{titel:`Erzeugte und gelesene Tokens pro Minute`,einheit:`anzahl`,langerZeitraum:m,reihen:[{name:`Tokens`,punkte:u.tokens??[],farbe:`var(--reihe-1)`}]})})]}),e[87]=m,e[88]=r.data,e[89]=r.isError,e[90]=r.isPlaceholderData,e[91]=u,e[92]=ue):ue=e[92];let de;return e[93]!==le||e[94]!==ue||e[95]!==b?(de=(0,D.jsxs)(D.Fragment,{children:[b,le,ue]}),e[93]=le,e[94]=ue,e[95]=b,e[96]=de):de=e[96],de}function L(e){let t=(0,E.c)(43),{g:n,zeitraum:r}=e,i=n.aktuell,a=n.id,o=n.name,s;t[0]!==n.art||t[1]!==n.name?(s=_({art:n.art,name:n.name}),t[0]=n.art,t[1]=n.name,t[2]=s):s=t[2];let c;t[3]===s?c=t[4]:(c=(0,D.jsx)(u,{bild:s,groesse:`sm`}),t[3]=s,t[4]=c);let l;t[5]===n.name?l=t[6]:(l=(0,D.jsx)(`h3`,{className:`text-[15px] font-semibold`,children:n.name}),t[5]=n.name,t[6]=l);let f;t[7]!==c||t[8]!==l?(f=(0,D.jsxs)(`span`,{className:`flex min-w-0 items-center gap-3`,children:[c,l]}),t[7]=c,t[8]=l,t[9]=f):f=t[9];let p;t[10]===i.cpu?p=t[11]:(p=i.cpu==null?`–`:`${Math.round(i.cpu)} %`,t[10]=i.cpu,t[11]=p);let m;t[12]===i.ram?m=t[13]:(m=i.ram==null?`–`:`${Math.round(i.ram)} %`,t[12]=i.ram,t[13]=m);let h;t[14]===i.uptime_s?h=t[15]:(h=d(i.uptime_s),t[14]=i.uptime_s,t[15]=h);let g;t[16]!==p||t[17]!==m||t[18]!==h?(g=(0,D.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[`CPU `,p,` · RAM `,m,` · läuft `,h]}),t[16]=p,t[17]=m,t[18]=h,t[19]=g):g=t[19];let v;t[20]!==g||t[21]!==f?(v=(0,D.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[f,g]}),t[20]=g,t[21]=f,t[22]=v):v=t[22];let y=`${n.name}: CPU und Speicher in Prozent`,b=r===`7d`,x;t[23]===n.reihen.cpu?x=t[24]:(x=n.reihen.cpu??[],t[23]=n.reihen.cpu,t[24]=x);let S;t[25]===x?S=t[26]:(S={name:`CPU`,punkte:x,farbe:`var(--reihe-1)`},t[25]=x,t[26]=S);let C;t[27]===n.reihen.ram?C=t[28]:(C=n.reihen.ram??[],t[27]=n.reihen.ram,t[28]=C);let w;t[29]===C?w=t[30]:(w={name:`Speicher`,punkte:C,farbe:`var(--reihe-2)`},t[29]=C,t[30]=w);let T;t[31]!==S||t[32]!==w?(T=[S,w],t[31]=S,t[32]=w,t[33]=T):T=t[33];let O;t[34]!==y||t[35]!==b||t[36]!==T?(O=(0,D.jsx)(j,{titel:y,einheit:`prozent`,langerZeitraum:b,hoehe:140,reihen:T}),t[34]=y,t[35]=b,t[36]=T,t[37]=O):O=t[37];let k;return t[38]!==n.id||t[39]!==n.name||t[40]!==v||t[41]!==O?(k=(0,D.jsxs)(`section`,{id:a,"aria-label":o,className:`flex min-w-0 scroll-mt-6 flex-col gap-3 flaeche rounded-2xl p-4 sm:p-5`,children:[v,O]}),t[38]=n.id,t[39]=n.name,t[40]=v,t[41]=O,t[42]=k):k=t[42],k}function R(){let e=(0,E.c)(31),[t,n]=(0,T.useState)(`1h`),r=S(),a=v(),c=r.data?.rolle===`homelab`||!!(a.data?.eingerichtet&&a.data.erreichbar),u=g(t,c),f;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(f={select:H},e[0]=f):f=e[0];let p=s(f),m,h;if(e[1]!==p||e[2]!==u.data?(m=()=>{p&&u.data&&document.getElementById(p)?.scrollIntoView({block:`start`})},h=[p,u.data],e[1]=p,e[2]=u.data,e[3]=m,e[4]=h):(m=e[3],h=e[4]),(0,T.useEffect)(m,h),!c){let t;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(l,{fehler:!0,text:`Der Homelab-Teil antwortet gerade nicht.`}),e[5]=t):t=e[5],t}if(u.isPending){let t;return e[6]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(l,{text:`Die Messwerte kommen gleich …`}),e[6]=t):t=e[6],t}if(!u.data){let t;return e[7]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,D.jsx)(l,{text:`Noch keine Messwerte: Der Ausführer schickt sie jede Minute, sobald sein neuer Stand eingespielt ist.`}),e[7]=t):t=e[7],t}let _,y,b,x;if(e[8]!==u.data.geraete||e[9]!==u.isPlaceholderData||e[10]!==t){let r=u.data.geraete.find(V),a=u.data.geraete.filter(B),s=t===`7d`,c=r?.aktuell??{},l;e[15]===t?l=e[16]:(l=(0,D.jsx)(ie,{wert:t,onWahl:n,farbe:`homelab`}),e[15]=t,e[16]=l);let f;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,D.jsx)(`span`,{className:`text-sm text-text-3`,children:`Werte im Minutentakt vom Proxmox-Host`}),e[17]=f):f=e[17],e[18]===l?b=e[19]:(b=(0,D.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[l,f]}),e[18]=l,e[19]=b),x=r&&(0,D.jsxs)(C,{titel:`Proxmox-Host`,rechts:(0,D.jsxs)(`span`,{className:`ziffern text-sm text-text-3`,children:[`läuft `,d(c.uptime_s),c.load1==null?``:` · Last ${c.load1.toFixed(2).replace(`.`,`,`)}`]}),children:[(0,D.jsxs)(`div`,{className:`grid grid-cols-2 gap-2.5 sm:grid-cols-4`,children:[(0,D.jsx)(k,{label:`CPU`,wert:c.cpu,einheit:`prozent`,max:100,punkte:r.reihen.cpu,zustand:o(c.cpu??null,85,95),zeitraumText:F(t)}),(0,D.jsx)(k,{label:`Speicher`,wert:c.ram,einheit:`prozent`,max:100,punkte:r.reihen.ram,zustand:o(c.ram??null,90,95),zeitraumText:F(t)}),(0,D.jsx)(k,{label:`Temperatur`,wert:c.temp_cpu,einheit:`grad`,max:100,punkte:r.reihen.temp_cpu,zustand:o(c.temp_cpu??null,80,90),zeitraumText:F(t)}),(0,D.jsx)(k,{label:`Systemplatte`,wert:c.platte,einheit:`prozent`,max:100,punkte:r.reihen.platte,zustand:o(c.platte??null,80,90),zeitraumText:F(t)})]}),(0,D.jsxs)(`div`,{className:i(`grid gap-5 xl:grid-cols-2`,u.isPlaceholderData&&`opacity-70`),children:[(0,D.jsx)(P,{titel:`CPU und Speicher`,children:(0,D.jsx)(j,{titel:`Proxmox-Host: CPU und Speicher in Prozent`,einheit:`prozent`,langerZeitraum:s,reihen:[{name:`CPU`,punkte:r.reihen.cpu??[],farbe:`var(--reihe-1)`},{name:`Speicher`,punkte:r.reihen.ram??[],farbe:`var(--reihe-2)`}]})}),(0,D.jsx)(P,{titel:`Netz`,children:(0,D.jsx)(j,{titel:`Proxmox-Host: Netzverkehr in Bytes pro Sekunde`,einheit:`bytes_s`,langerZeitraum:s,reihen:[{name:`empfangen`,punkte:r.reihen.netz_rx??[],farbe:`var(--reihe-1)`},{name:`gesendet`,punkte:r.reihen.netz_tx??[],farbe:`var(--reihe-2)`}]})}),(r.reihen.temp_cpu?.some(z)??!1)&&(0,D.jsx)(P,{titel:`Temperatur`,children:(0,D.jsx)(j,{titel:`Proxmox-Host: CPU-Temperatur in Grad`,einheit:`grad`,langerZeitraum:s,reihen:[{name:`CPU`,punkte:r.reihen.temp_cpu??[],farbe:`var(--reihe-1)`}]})})]})]});let p=u.isPlaceholderData&&`opacity-70`;e[20]===p?_=e[21]:(_=i(`grid gap-5 md:gap-6 xl:grid-cols-2`,p),e[20]=p,e[21]=_);let m;e[22]===t?m=e[23]:(m=e=>(0,D.jsx)(L,{g:e,zeitraum:t},e.id),e[22]=t,e[23]=m),y=a.map(m),e[8]=u.data.geraete,e[9]=u.isPlaceholderData,e[10]=t,e[11]=_,e[12]=y,e[13]=b,e[14]=x}else _=e[11],y=e[12],b=e[13],x=e[14];let w;e[24]!==_||e[25]!==y?(w=(0,D.jsx)(`div`,{className:_,children:y}),e[24]=_,e[25]=y,e[26]=w):w=e[26];let O;return e[27]!==b||e[28]!==x||e[29]!==w?(O=(0,D.jsxs)(D.Fragment,{children:[b,x,w]}),e[27]=b,e[28]=x,e[29]=w,e[30]=O):O=e[30],O}function z(e){let[,t]=e;return t!==null}function B(e){return e.art!==`proxmox-host`}function V(e){return e.art===`proxmox-host`}function H(e){return e.location.hash}export{I as BoxMonitoringSeite,R as HomelabMonitoringSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Protokollfenster-C-Jw7ZLy.js b/frontend/dist/assets/Protokollfenster-DfGuXWdW.js similarity index 94% rename from frontend/dist/assets/Protokollfenster-C-Jw7ZLy.js rename to frontend/dist/assets/Protokollfenster-DfGuXWdW.js index 8e20da7..b043e71 100644 --- a/frontend/dist/assets/Protokollfenster-C-Jw7ZLy.js +++ b/frontend/dist/assets/Protokollfenster-DfGuXWdW.js @@ -1 +1 @@ -import{i as e,r as t}from"./dist-aE7UmubC.js";import{a as n,i as r,n as i,r as a,t as o}from"./sheet-DE9QulgP.js";var s=t(),c=e();function l(e){let t=(0,s.c)(14),{offen:l,titel:u,text:d,onSchliessen:f}=e,p;t[0]===f?p=t[1]:(p=e=>!e&&f(),t[0]=f,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,c.jsx)(n,{className:`text-[19px] font-semibold`,children:`Protokoll`}),t[2]=m):m=t[2];let h;t[3]===u?h=t[4]:(h=(0,c.jsxs)(r,{children:[m,(0,c.jsx)(a,{className:`text-text-2`,children:u})]}),t[3]=u,t[4]=h);let g;t[5]===d?g=t[6]:(g=(0,c.jsx)(`pre`,{className:`ziffern mx-4 mb-4 flex-1 overflow-auto rounded-lg bg-black/30 ring-1 ring-white/[0.07] ring-inset p-3 text-xs leading-relaxed whitespace-pre-wrap text-text-2`,children:d}),t[5]=d,t[6]=g);let _;t[7]!==h||t[8]!==g?(_=(0,c.jsxs)(i,{side:`right`,className:`border-white/10 bg-[#0e121a] data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[h,g]}),t[7]=h,t[8]=g,t[9]=_):_=t[9];let v;return t[10]!==l||t[11]!==p||t[12]!==_?(v=(0,c.jsx)(o,{open:l,onOpenChange:p,children:_}),t[10]=l,t[11]=p,t[12]=_,t[13]=v):v=t[13],v}export{l as Protokollfenster}; \ No newline at end of file +import{i as e,r as t}from"./dist-aE7UmubC.js";import{a as n,i as r,n as i,r as a,t as o}from"./sheet-CPc8xmap.js";var s=t(),c=e();function l(e){let t=(0,s.c)(14),{offen:l,titel:u,text:d,onSchliessen:f}=e,p;t[0]===f?p=t[1]:(p=e=>!e&&f(),t[0]=f,t[1]=p);let m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,c.jsx)(n,{className:`text-[19px] font-semibold`,children:`Protokoll`}),t[2]=m):m=t[2];let h;t[3]===u?h=t[4]:(h=(0,c.jsxs)(r,{children:[m,(0,c.jsx)(a,{className:`text-text-2`,children:u})]}),t[3]=u,t[4]=h);let g;t[5]===d?g=t[6]:(g=(0,c.jsx)(`pre`,{className:`ziffern mx-4 mb-4 flex-1 overflow-auto rounded-lg bg-black/30 ring-1 ring-white/[0.07] ring-inset p-3 text-xs leading-relaxed whitespace-pre-wrap text-text-2`,children:d}),t[5]=d,t[6]=g);let _;t[7]!==h||t[8]!==g?(_=(0,c.jsxs)(i,{side:`right`,className:`border-white/10 bg-[#0e121a] data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[h,g]}),t[7]=h,t[8]=g,t[9]=_):_=t[9];let v;return t[10]!==l||t[11]!==p||t[12]!==_?(v=(0,c.jsx)(o,{open:l,onOpenChange:p,children:_}),t[10]=l,t[11]=p,t[12]=_,t[13]=v):v=t[13],v}export{l as Protokollfenster}; \ No newline at end of file diff --git a/frontend/dist/assets/Start-dQPgTPlg.js b/frontend/dist/assets/Start-oSvXqmAt.js similarity index 61% rename from frontend/dist/assets/Start-dQPgTPlg.js rename to frontend/dist/assets/Start-oSvXqmAt.js index fac5a68..3b0b3ae 100644 --- a/frontend/dist/assets/Start-dQPgTPlg.js +++ b/frontend/dist/assets/Start-oSvXqmAt.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Protokollfenster-C-Jw7ZLy.js","assets/dist-aE7UmubC.js","assets/sheet-DE9QulgP.js","assets/index-CJ1jXWsM.js","assets/useSelector-DBNxxw17.js","assets/useMatch-DDVpPKJI.js","assets/index-CeLk3zt0.css","assets/button-DwYvdWVr.js","assets/dist-D-yM169e.js","assets/Bestaetigen-6C3zYuEE.js"])))=>i.map(i=>d[i]); -import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{$t as a,At as o,Ht as s,M as c,N as l,P as u,Qt as d,Tn as f,Xt as p,Zt as m,_ as h,an as g,cn as _,en as v,gn as y,in as b,k as x,ln as S,lt as C,on as w,pn as T,rn as E,tn as D,v as O}from"./index-CJ1jXWsM.js";import{t as k}from"./button-DwYvdWVr.js";import{t as A}from"./Panel-uT1S5ZGr.js";import{n as j,t as M}from"./Lagekopf-_LyvkRPo.js";var N=r(),P=t(e(),1),F=n(),I=(0,P.lazy)(()=>u(()=>import(`./Protokollfenster-C-Jw7ZLy.js`).then(e=>({default:e.Protokollfenster})),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),L=(0,P.lazy)(()=>u(()=>import(`./Bestaetigen-6C3zYuEE.js`).then(e=>e.n).then(e=>({default:e.Bestaetigen})),__vite__mapDeps([9,1,3,4,5,6,7,8])));function R({h:e}){let t=C(),[n,r]=(0,P.useState)(null),[a,o]=(0,P.useState)(null),s=e.stufe===`rot`,c=a?S(e,a):null;async function l(){try{let t=await y(`/api/hinweise/${encodeURIComponent(e.id)}/aktion/protokoll`);r({titel:e.titel,text:t.text||t.out||t.err||`Kein Protokoll vorhanden.`})}catch(e){b(`fehler`,e.message)}}function u(n){t.mutate({hinweis:e.id,aktion:n.id,label:n.label})}function d(t){t.id===`protokoll`?l():S(e,t)?o(t):u(t)}return(0,F.jsxs)(`article`,{className:i(`flex flex-col gap-2.5 rounded-2xl px-4 py-3.5 ring-1 ring-inset`,s?`bg-rot/[0.07] ring-rot/35`:`bg-bernstein/[0.06] ring-bernstein/30`),children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,F.jsx)(`h3`,{className:`min-w-0 flex-1 font-sans text-[16.5px] leading-snug font-semibold`,children:e.titel}),(0,F.jsx)(`span`,{className:i(`etikett shrink-0 rounded-full px-2.5 py-0.5 text-[10.5px] tracking-[0.12em] ring-1 ring-inset`,s?`bg-rot/12 text-rot-text ring-rot/40`:`bg-bernstein/10 text-bernstein ring-bernstein/35`),children:s?`Jetzt`:`Prüfen`})]}),(0,F.jsxs)(`p`,{className:`ziffern text-[13px] text-text-3`,children:[v(e.seit),` · zuletzt `,D(e.zuletzt)]}),e.text&&(0,F.jsx)(`p`,{className:`text-[15px] leading-relaxed break-words text-text-2`,children:e.text}),e.aktionen.length>0&&(0,F.jsx)(`div`,{className:`flex flex-wrap gap-2.5 pt-1`,children:e.aktionen.map((e,n)=>(0,F.jsx)(k,{variant:n===0&&e.id!==`protokoll`?`default`:`outline`,size:`sm`,disabled:t.isPending,onClick:()=>d(e),children:e.label},e.id))}),n&&(0,F.jsx)(P.Suspense,{fallback:null,children:(0,F.jsx)(I,{offen:!0,titel:n.titel,text:n.text,onSchliessen:()=>r(null)})}),a&&c&&(0,F.jsx)(P.Suspense,{fallback:null,children:(0,F.jsx)(L,{offen:!0,titel:c.titel,text:c.text,knopf:c.knopf,gesperrt:t.isPending,onNein:()=>o(null),onJa:()=>{u(a),o(null)}})})]})}function z(e){let t=(0,N.c)(12),{hinweise:n,verlauf:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Date().toDateString(),t[0]=i):i=t[0];let a=i,o;if(t[1]!==n.length||t[2]!==r){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>(e.art===`erledigt`||e.art===`auto`)&&new Date(e.ts*1e3).toDateString()===a,t[4]=e):e=t[4];let i=r.filter(e);if(n.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,F.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine offenen Punkte. Der Wächter prüft jede Minute.`}),t[5]=e):e=t[5];let n=i.length>0&&(0,F.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm text-text-3`,children:i.slice(0,4).map(V)}),r;t[6]===n?r=t[7]:(r=(0,F.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e,n]}),t[6]=n,t[7]=r),o=r;break bb0}}t[1]=n.length,t[2]=r,t[3]=o}else o=t[3];if(o!==Symbol.for(`react.early_return_sentinel`))return o;let s;t[8]===n?s=t[9]:(s=n.map(B),t[8]=n,t[9]=s);let c;return t[10]===s?c=t[11]:(c=(0,F.jsx)(`div`,{className:`flex flex-col gap-3`,children:s}),t[10]=s,t[11]=c),c}function B(e){return(0,F.jsx)(R,{h:e},e.id)}function V(e){return(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`span`,{className:`ziffern`,children:D(e.ts)}),` · `,e.text]},`${e.id}-${e.ts}`)}var H={erledigt:{text:`Erledigt`,farbe:`text-gruen-text`,punkt:`bg-gruen`},fehler:{text:`Fehler`,farbe:`text-rot-text`,punkt:`bg-rot`},geplant:{text:`Geplant`,farbe:`text-text-3`,punkt:`bg-white/25`}};function U(e){let t=(0,N.c)(23),{e:n}=e,r=H[n.status]??H.geplant,a=n.status===`geplant`&&/update/i.test(n.titel)?`text-cyan-text`:r.farbe,o;t[0]===n.zeit?o=t[1]:(o=p(n.zeit),t[0]=n.zeit,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,F.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:o}),t[2]=o,t[3]=s);let c;t[4]===n.text?c=t[5]:(c=n.text&&(0,F.jsxs)(`span`,{className:`text-text-3`,children:[`, `,n.text]}),t[4]=n.text,t[5]=c);let l;t[6]!==n.titel||t[7]!==c?(l=(0,F.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-base break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:[n.titel,c]}),t[6]=n.titel,t[7]=c,t[8]=l):l=t[8];let u;t[9]===a?u=t[10]:(u=i(`etikett col-start-2 row-start-1 flex items-center gap-1.5 justify-self-end text-[10.5px] tracking-[0.12em] @sm:col-start-3`,a),t[9]=a,t[10]=u);let d;t[11]===r.punkt?d=t[12]:(d=i(`size-1.5 rounded-full`,r.punkt),t[11]=r.punkt,t[12]=d);let f;t[13]===d?f=t[14]:(f=(0,F.jsx)(`span`,{"aria-hidden":!0,className:d}),t[13]=d,t[14]=f);let m;t[15]!==r.text||t[16]!==u||t[17]!==f?(m=(0,F.jsxs)(`span`,{className:u,children:[f,r.text]}),t[15]=r.text,t[16]=u,t[17]=f,t[18]=m):m=t[18];let h;return t[19]!==s||t[20]!==l||t[21]!==m?(h=(0,F.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-white/[0.06] py-2.5 first:border-t-0 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[s,l,m]}),t[19]=s,t[20]=l,t[21]=m,t[22]=h):h=t[22],h}function W(e){let t=(0,N.c)(6),{gelaufen:n,geplant:r}=e,i;t[0]!==n||t[1]!==r?(i=[...n,...r.slice(0,5)],t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i;if(a.length===0){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,F.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Heute ist noch nichts gelaufen, und nichts ist geplant.`}),t[3]=e):e=t[3],e}let o;return t[4]===a?o=t[5]:(o=(0,F.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:a.map(G)}),t[4]=a,t[5]=o),o}function G(e){return(0,F.jsx)(U,{e},`${e.titel}-${e.zeit}`)}function K(e){let t=(0,N.c)(28),{anteil:n,farbe:r,zonen:i,mitte:a,unter:o,beschriftung:s,ariaText:c,hinweis:l}=e,u=r===void 0?`var(--box)`:r,d;t[0]===i?d=t[1]:(d=i===void 0?[]:i,t[0]=i,t[1]=d);let f=d,p=n!=null&&n>.004,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,F.jsx)(`path`,{d:w(0,1,75),fill:`none`,stroke:`rgb(255 255 255 / 0.07)`,strokeWidth:12,strokeLinecap:`round`}),t[2]=m):m=t[2];let h;t[3]===f?h=t[4]:(h=f.map(q),t[3]=f,t[4]=h);let g;t[5]!==n||t[6]!==u||t[7]!==p?(g=p&&(0,F.jsx)(`path`,{d:w(0,n,75),fill:`none`,stroke:u,strokeWidth:12,strokeLinecap:`round`,style:{filter:`drop-shadow(0 0 7px color-mix(in srgb, ${u} 60%, transparent))`}}),t[5]=n,t[6]=u,t[7]=p,t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_={fontFamily:`var(--font-anzeige)`,fontSize:40,fontWeight:600,fill:`var(--foreground)`},t[9]=_):_=t[9];let v;t[10]===a?v=t[11]:(v=(0,F.jsx)(`text`,{x:`100`,y:`102`,textAnchor:`middle`,style:_,children:a}),t[10]=a,t[11]=v);let y;t[12]===o?y=t[13]:(y=o&&(0,F.jsx)(`text`,{x:`100`,y:`124`,textAnchor:`middle`,style:{fontFamily:`var(--font-sans)`,fontSize:13,fontWeight:500,fill:`var(--text-3)`},children:o}),t[12]=o,t[13]=y);let b;t[14]!==c||t[15]!==h||t[16]!==g||t[17]!==v||t[18]!==y?(b=(0,F.jsxs)(`svg`,{viewBox:`0 0 200 150`,className:`h-auto w-full max-w-[200px]`,role:`img`,"aria-label":c,children:[m,h,g,v,y]}),t[14]=c,t[15]=h,t[16]=g,t[17]=v,t[18]=y,t[19]=b):b=t[19];let x;t[20]===s?x=t[21]:(x=(0,F.jsx)(`figcaption`,{className:`etikett text-[11.5px] tracking-[0.14em] text-text-3`,children:s}),t[20]=s,t[21]=x);let S;t[22]===l?S=t[23]:(S=l&&(0,F.jsx)(`span`,{className:`text-center text-xs ${l.className}`,children:l.text}),t[22]=l,t[23]=S);let C;return t[24]!==b||t[25]!==x||t[26]!==S?(C=(0,F.jsxs)(`figure`,{className:`m-0 flex min-w-0 flex-col items-center gap-1`,children:[b,x,S]}),t[24]=b,t[25]=x,t[26]=S,t[27]=C):C=t[27],C}function q(e){return(0,F.jsx)(`path`,{d:w(e.von,e.bis,86),fill:`none`,stroke:e.farbe,strokeWidth:4,strokeLinecap:`round`},`${e.von}-${e.bis}`)}function J(e){let t=(0,N.c)(12),{zustand:n,lampen:r,onAnsehen:i}=e,a;t[0]===n?a=t[1]:(a=_(n),t[0]=n,t[1]=a);let o=a,s=o.art,c=o.oben,l=o.mitte,u=o.unten,d=o.art===`gelb`||o.art===`rot`,f;t[2]===r?f=t[3]:(f=r.map(Y),t[2]=r,t[3]=f);let p;return t[4]!==o.art||t[5]!==o.mitte||t[6]!==o.oben||t[7]!==o.unten||t[8]!==i||t[9]!==d||t[10]!==f?(p=(0,F.jsx)(j,{art:s,oben:c,mitte:l,unten:u,aktiv:d,onAnsehen:i,label:`Warnpanel`,children:f}),t[4]=o.art,t[5]=o.mitte,t[6]=o.oben,t[7]=o.unten,t[8]=i,t[9]=d,t[10]=f,t[11]=p):p=t[11],p}function Y(e){return(0,F.jsx)(M,{bild:x(e.id),name:e.label,wert:e.wert,zustand:e.zustand},e.id)}function X(e){let t=(0,N.c)(2),{z:n}=e,r;return t[0]===n?r=t[1]:(r=(0,F.jsx)(`span`,{className:`ziffern inline-flex h-[1.75em] w-[1.1875em] shrink-0 items-center justify-center rounded-lg border border-white/10 bg-gradient-to-b from-white/[0.07] to-white/[0.02] font-medium shadow-[inset_0_1px_0_rgb(255_255_255/0.06)]`,children:n}),t[0]=n,t[1]=r),r}function Z(e){let t=(0,N.c)(25),{sekunden:n}=e,r;t[0]===n?r=t[1]:(r=a(n),t[0]=n,t[1]=r);let i=r,o=String(Math.min(i?.[0]??0,99)),s;t[2]===o?s=t[3]:(s=o.padStart(2,`0`),t[2]=o,t[3]=s);let c=s,l=String(i?.[1]??0),u;t[4]===l?u=t[5]:(u=l.padStart(2,`0`),t[4]=l,t[5]=u);let d=u,f=i?`Laufzeit ohne Neustart: ${i[0]} Tage, ${i[1]} Stunden`:`Laufzeit unbekannt`,p=i?c[0]:`–`,m;t[6]===p?m=t[7]:(m=(0,F.jsx)(X,{z:p}),t[6]=p,t[7]=m);let h=i?c[1]:`–`,g;t[8]===h?g=t[9]:(g=(0,F.jsx)(X,{z:h}),t[8]=h,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,F.jsx)(`span`,{className:`etikett mr-[0.444em] ml-[0.111em] text-[0.5625em] text-text-3`,children:`T`}),t[10]=_):_=t[10];let v=i?d[0]:`–`,y;t[11]===v?y=t[12]:(y=(0,F.jsx)(X,{z:v}),t[11]=v,t[12]=y);let b=i?d[1]:`–`,x;t[13]===b?x=t[14]:(x=(0,F.jsx)(X,{z:b}),t[13]=b,t[14]=x);let S;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,F.jsx)(`span`,{className:`etikett ml-[0.111em] text-[0.5625em] text-text-3`,children:`H`}),t[15]=S):S=t[15];let C;t[16]!==y||t[17]!==x||t[18]!==m||t[19]!==g||t[20]!==f?(C=(0,F.jsxs)(`div`,{"aria-label":f,role:`img`,className:`flex h-[min(75cqw,150px)] items-center gap-[0.1875em] pb-[min(10cqw,20px)] text-[length:clamp(14px,14.5cqw,32px)]`,children:[m,g,_,y,x,S]}),t[16]=y,t[17]=x,t[18]=m,t[19]=g,t[20]=f,t[21]=C):C=t[21];let w;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,F.jsx)(`figcaption`,{className:`etikett text-[11.5px] tracking-[0.14em] text-text-3`,children:`Ohne Neustart`}),t[22]=w):w=t[22];let T;return t[23]===C?T=t[24]:(T=(0,F.jsxs)(`figure`,{className:`@container m-0 flex min-w-0 flex-col items-center justify-end gap-1`,children:[C,w]}),t[23]=C,t[24]=T),T}function Q(e){let t=(0,N.c)(53),{box:n}=e,r=E(),i=r?.ram_used??n.ram_used,a=r?.ram_total??n.ram_total,o=r?.temp_cpu??n.temp_cpu,s=r?.temp_gpu??n.temp_gpu,c=n.platte,l=c?.vorhersage,u;t[0]===l?u=t[1]:(u=O(l),t[0]=l,t[1]=u);let f=u,p=r?.uptime_s??n.uptime_s,g=i!=null&&a?i/a:null,_;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(_={"--i":1},t[2]=_):_=t[2];let v;t[3]===i?v=t[4]:(v=i==null?`–`:String(Math.round(m(i)??0)),t[3]=i,t[4]=v);let y;t[5]===a?y=t[6]:(y=a?`von ${Math.round(m(a)??0)} GB`:void 0,t[5]=a,t[6]=y);let b;t[7]!==g||t[8]!==i||t[9]!==a?(b=g==null?`Speicher unbekannt`:`Speicher: ${d(i)} von ${d(a)} belegt`,t[7]=g,t[8]=i,t[9]=a,t[10]=b):b=t[10];let x;t[11]!==g||t[12]!==v||t[13]!==y||t[14]!==b?(x=(0,F.jsx)(K,{beschriftung:`Speicher`,anteil:g,mitte:v,unter:y,ariaText:b}),t[11]=g,t[12]=v,t[13]=y,t[14]=b,t[15]=x):x=t[15];let S=o==null?null:o/100,C;t[16]===o?C=t[17]:(C=T(o),t[16]=o,t[17]=C);let w;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(w=[{von:.7,bis:.85,farbe:`var(--bernstein)`},{von:.85,bis:1,farbe:`var(--rot)`}],t[18]=w):w=t[18];let D;t[19]===o?D=t[20]:(D=o==null?`–`:`${Math.round(o)}°`,t[19]=o,t[20]=D);let k;t[21]===s?k=t[22]:(k=s==null?void 0:`GPU ${Math.round(s)}°`,t[21]=s,t[22]=k);let A;t[23]===o?A=t[24]:(A=o==null?`Temperatur unbekannt`:`Temperatur ${Math.round(o)} Grad`,t[23]=o,t[24]=A);let j;t[25]!==D||t[26]!==k||t[27]!==A||t[28]!==S||t[29]!==C?(j=(0,F.jsx)(K,{beschriftung:`Temperatur`,anteil:S,farbe:C,zonen:w,mitte:D,unter:k,ariaText:A}),t[25]=D,t[26]=k,t[27]=A,t[28]=S,t[29]=C,t[30]=j):j=t[30];let M=c?c.percent/100:null,P=c&&c.percent>=90?`var(--rot)`:c&&c.percent>=80?`var(--bernstein)`:`var(--box)`,I;t[31]===c?I=t[32]:(I=c?`${Math.round(c.percent)}%`:`–`,t[31]=c,t[32]=I);let L;t[33]===c?L=t[34]:(L=c?`${d(c.used)} / ${d(c.total)}`:void 0,t[33]=c,t[34]=L);let R;t[35]===c?R=t[36]:(R=c?`Platte zu ${Math.round(c.percent)} Prozent belegt`:`Platte unbekannt`,t[35]=c,t[36]=R);let z;t[37]===f?z=t[38]:(z=f?{text:f.text,className:h[f.stufe]}:null,t[37]=f,t[38]=z);let B;t[39]!==M||t[40]!==P||t[41]!==I||t[42]!==L||t[43]!==R||t[44]!==z?(B=(0,F.jsx)(K,{beschriftung:`Platte`,anteil:M,farbe:P,mitte:I,unter:L,ariaText:R,hinweis:z}),t[39]=M,t[40]=P,t[41]=I,t[42]=L,t[43]=R,t[44]=z,t[45]=B):B=t[45];let V;t[46]===p?V=t[47]:(V=(0,F.jsx)(Z,{sekunden:p}),t[46]=p,t[47]=V);let H;return t[48]!==j||t[49]!==B||t[50]!==V||t[51]!==x?(H=(0,F.jsxs)(`section`,{"aria-label":`Instrumente`,className:`auftauchen flaeche grid grid-cols-2 gap-x-4 gap-y-6 rounded-3xl px-4 py-5 lg:grid-cols-4 lg:px-6`,style:_,children:[x,j,B,V]}),t[48]=j,t[49]=B,t[50]=V,t[51]=x,t[52]=H):H=t[52],H}var $={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`};function ee(e){let t=(0,N.c)(14),{radar:n}=e;if(!n?.kandidaten)return null;let r,i;t[0]===n.kandidaten?(r=t[1],i=t[2]):(r=n.kandidaten.filter(ne),i=r.find(te)??r[0],t[0]=n.kandidaten,t[1]=r,t[2]=i);let a=i,o=r.length===1?``:`en`,s;t[3]!==r.length||t[4]!==o?(s=(0,F.jsxs)(`span`,{className:`etikett text-[11px] tracking-[0.14em] text-cyan-text`,children:[`Radar · `,r.length,` Kandidat`,o]}),t[3]=r.length,t[4]=o,t[5]=s):s=t[5];let l;t[6]===a?l=t[7]:(l=a?(0,F.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-[15px]`,children:[(0,F.jsx)(`span`,{className:`ziffern`,children:a.name}),(0,F.jsxs)(`span`,{className:`text-text-2`,children:[`fürs `,a.rolle===`hirn`?`Hirn`:`Coden`]}),(0,F.jsx)(c,{art:$[a.status]??`grau`,children:g[a.status]??a.status})]}):(0,F.jsx)(`span`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}),t[6]=a,t[7]=l);let u;t[8]!==s||t[9]!==l?(u=(0,F.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[s,l]}),t[8]=s,t[9]=l,t[10]=u):u=t[10];let d;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,F.jsx)(k,{variant:`info`,size:`sm`,asChild:!0,children:(0,F.jsx)(f,{to:`/box/modelle`,hash:`radar`,children:`Ansehen`})}),t[11]=d):d=t[11];let p;return t[12]===u?p=t[13]:(p=(0,F.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center justify-between gap-3 rounded-2xl bg-cyan/[0.06] px-4 py-3.5 ring-1 ring-cyan/30 ring-inset`,children:[u,d]}),t[12]=u,t[13]=p),p}function te(e){return e.status===`bestanden`}function ne(e){return[`bestanden`,`wartet`,`neu`].includes(e.status)}function re(){let e=(0,N.c)(32),{data:t,error:n,isPending:r}=s(),i=o();if(r){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(l,{text:`Die Box meldet sich gleich …`}),e[0]=t):t=e[0],t}if(!t){let t=`MC2 antwortet nicht: ${n?.message??`keine Daten`}`,r;return e[1]===t?r=e[2]:(r=(0,F.jsx)(l,{fehler:!0,text:t}),e[1]=t,e[2]=r),r}let a=t.hinweise.length,u;e[3]!==t.lampen||e[4]!==t.zustand?(u=(0,F.jsx)(J,{zustand:t.zustand,lampen:t.lampen,onAnsehen:ie}),e[3]=t.lampen,e[4]=t.zustand,e[5]=u):u=e[5];let d;e[6]===t.box?d=e[7]:(d=(0,F.jsx)(Q,{box:t.box}),e[6]=t.box,e[7]=d);let f=a?`bernstein`:`gruen`,p=a?`${a} offen`:`alles erledigt`,m;e[8]!==f||e[9]!==p?(m=(0,F.jsx)(c,{art:f,children:p}),e[8]=f,e[9]=p,e[10]=m):m=e[10];let h;e[11]!==t.hinweise||e[12]!==t.verlauf?(h=(0,F.jsx)(z,{hinweise:t.hinweise,verlauf:t.verlauf}),e[11]=t.hinweise,e[12]=t.verlauf,e[13]=h):h=e[13];let g;e[14]!==m||e[15]!==h?(g=(0,F.jsx)(A,{titel:`Checkliste`,id:`checkliste`,rechts:m,children:h}),e[14]=m,e[15]=h,e[16]=g):g=e[16];let _;e[17]!==t.flugplan.gelaufen||e[18]!==t.flugplan.geplant?(_=(0,F.jsx)(W,{gelaufen:t.flugplan.gelaufen,geplant:t.flugplan.geplant}),e[17]=t.flugplan.gelaufen,e[18]=t.flugplan.geplant,e[19]=_):_=e[19];let v;e[20]===i.data?v=e[21]:(v=(0,F.jsx)(ee,{radar:i.data}),e[20]=i.data,e[21]=v);let y;e[22]!==_||e[23]!==v?(y=(0,F.jsxs)(A,{titel:`Flugplan`,children:[_,v]}),e[22]=_,e[23]=v,e[24]=y):y=e[24];let b;e[25]!==g||e[26]!==y?(b=(0,F.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-[minmax(0,1.35fr)_minmax(0,1fr)] md:gap-6`,children:[g,y]}),e[25]=g,e[26]=y,e[27]=b):b=e[27];let x;return e[28]!==u||e[29]!==d||e[30]!==b?(x=(0,F.jsxs)(F.Fragment,{children:[u,d,b]}),e[28]=u,e[29]=d,e[30]=b,e[31]=x):x=e[31],x}function ie(){return document.getElementById(`checkliste`)?.scrollIntoView({behavior:`smooth`,block:`start`})}export{re as StartSeite}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Protokollfenster-DfGuXWdW.js","assets/dist-aE7UmubC.js","assets/sheet-CPc8xmap.js","assets/index-CiJU28k0.js","assets/useSelector-DBNxxw17.js","assets/useMatch-DDVpPKJI.js","assets/index-BK7IIV0X.css","assets/button-DwYvdWVr.js","assets/dist-C2HMtjaj.js","assets/Bestaetigen-BGcVQso2.js"])))=>i.map(i=>d[i]); +import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{$t as a,Gt as o,M as s,N as c,Nt as l,On as u,P as d,_ as f,cn as p,dn as m,en as h,fn as g,gn as _,in as v,k as y,ln as b,lt as x,nn as S,on as C,rn as w,sn as T,tn as E,v as D,yn as O}from"./index-CiJU28k0.js";import{t as k}from"./button-DwYvdWVr.js";import{t as A}from"./Panel-uT1S5ZGr.js";import{n as j,t as M}from"./Lagekopf-DKe__zE4.js";var N=r(),P=t(e(),1),F=n(),I=(0,P.lazy)(()=>d(()=>import(`./Protokollfenster-DfGuXWdW.js`).then(e=>({default:e.Protokollfenster})),__vite__mapDeps([0,1,2,3,4,5,6,7,8]))),L=(0,P.lazy)(()=>d(()=>import(`./Bestaetigen-BGcVQso2.js`).then(e=>e.n).then(e=>({default:e.Bestaetigen})),__vite__mapDeps([9,1,3,4,5,6,7,8])));function R({h:e}){let t=x(),[n,r]=(0,P.useState)(null),[a,o]=(0,P.useState)(null),s=e.stufe===`rot`,c=a?g(e,a):null;async function l(){try{let t=await O(`/api/hinweise/${encodeURIComponent(e.id)}/aktion/protokoll`);r({titel:e.titel,text:t.text||t.out||t.err||`Kein Protokoll vorhanden.`})}catch(e){T(`fehler`,e.message)}}function u(n){t.mutate({hinweis:e.id,aktion:n.id,label:n.label})}function d(t){t.id===`protokoll`?l():g(e,t)?o(t):u(t)}return(0,F.jsxs)(`article`,{className:i(`flex flex-col gap-2.5 rounded-2xl px-4 py-3.5 ring-1 ring-inset`,s?`bg-rot/[0.07] ring-rot/35`:`bg-bernstein/[0.06] ring-bernstein/30`),children:[(0,F.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,F.jsx)(`h3`,{className:`min-w-0 flex-1 font-sans text-[16.5px] leading-snug font-semibold`,children:e.titel}),(0,F.jsx)(`span`,{className:i(`etikett shrink-0 rounded-full px-2.5 py-0.5 text-[10.5px] tracking-[0.12em] ring-1 ring-inset`,s?`bg-rot/12 text-rot-text ring-rot/40`:`bg-bernstein/10 text-bernstein ring-bernstein/35`),children:s?`Jetzt`:`Prüfen`})]}),(0,F.jsxs)(`p`,{className:`ziffern text-[13px] text-text-3`,children:[w(e.seit),` · zuletzt `,v(e.zuletzt)]}),e.text&&(0,F.jsx)(`p`,{className:`text-[15px] leading-relaxed break-words text-text-2`,children:e.text}),e.aktionen.length>0&&(0,F.jsx)(`div`,{className:`flex flex-wrap gap-2.5 pt-1`,children:e.aktionen.map((e,n)=>(0,F.jsx)(k,{variant:n===0&&e.id!==`protokoll`?`default`:`outline`,size:`sm`,disabled:t.isPending,onClick:()=>d(e),children:e.label},e.id))}),n&&(0,F.jsx)(P.Suspense,{fallback:null,children:(0,F.jsx)(I,{offen:!0,titel:n.titel,text:n.text,onSchliessen:()=>r(null)})}),a&&c&&(0,F.jsx)(P.Suspense,{fallback:null,children:(0,F.jsx)(L,{offen:!0,titel:c.titel,text:c.text,knopf:c.knopf,gesperrt:t.isPending,onNein:()=>o(null),onJa:()=>{u(a),o(null)}})})]})}function z(e){let t=(0,N.c)(12),{hinweise:n,verlauf:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Date().toDateString(),t[0]=i):i=t[0];let a=i,o;if(t[1]!==n.length||t[2]!==r){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>(e.art===`erledigt`||e.art===`auto`)&&new Date(e.ts*1e3).toDateString()===a,t[4]=e):e=t[4];let i=r.filter(e);if(n.length===0){let e;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,F.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Keine offenen Punkte. Der Wächter prüft jede Minute.`}),t[5]=e):e=t[5];let n=i.length>0&&(0,F.jsx)(`ul`,{className:`flex flex-col gap-1 text-sm text-text-3`,children:i.slice(0,4).map(V)}),r;t[6]===n?r=t[7]:(r=(0,F.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e,n]}),t[6]=n,t[7]=r),o=r;break bb0}}t[1]=n.length,t[2]=r,t[3]=o}else o=t[3];if(o!==Symbol.for(`react.early_return_sentinel`))return o;let s;t[8]===n?s=t[9]:(s=n.map(B),t[8]=n,t[9]=s);let c;return t[10]===s?c=t[11]:(c=(0,F.jsx)(`div`,{className:`flex flex-col gap-3`,children:s}),t[10]=s,t[11]=c),c}function B(e){return(0,F.jsx)(R,{h:e},e.id)}function V(e){return(0,F.jsxs)(`li`,{children:[(0,F.jsx)(`span`,{className:`ziffern`,children:v(e.ts)}),` · `,e.text]},`${e.id}-${e.ts}`)}var H={erledigt:{text:`Erledigt`,farbe:`text-gruen-text`,punkt:`bg-gruen`},fehler:{text:`Fehler`,farbe:`text-rot-text`,punkt:`bg-rot`},geplant:{text:`Geplant`,farbe:`text-text-3`,punkt:`bg-white/25`}};function U(e){let t=(0,N.c)(23),{e:n}=e,r=H[n.status]??H.geplant,o=n.status===`geplant`&&/update/i.test(n.titel)?`text-cyan-text`:r.farbe,s;t[0]===n.zeit?s=t[1]:(s=a(n.zeit),t[0]=n.zeit,t[1]=s);let c;t[2]===s?c=t[3]:(c=(0,F.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:s}),t[2]=s,t[3]=c);let l;t[4]===n.text?l=t[5]:(l=n.text&&(0,F.jsxs)(`span`,{className:`text-text-3`,children:[`, `,n.text]}),t[4]=n.text,t[5]=l);let u;t[6]!==n.titel||t[7]!==l?(u=(0,F.jsxs)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-base break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:[n.titel,l]}),t[6]=n.titel,t[7]=l,t[8]=u):u=t[8];let d;t[9]===o?d=t[10]:(d=i(`etikett col-start-2 row-start-1 flex items-center gap-1.5 justify-self-end text-[10.5px] tracking-[0.12em] @sm:col-start-3`,o),t[9]=o,t[10]=d);let f;t[11]===r.punkt?f=t[12]:(f=i(`size-1.5 rounded-full`,r.punkt),t[11]=r.punkt,t[12]=f);let p;t[13]===f?p=t[14]:(p=(0,F.jsx)(`span`,{"aria-hidden":!0,className:f}),t[13]=f,t[14]=p);let m;t[15]!==r.text||t[16]!==d||t[17]!==p?(m=(0,F.jsxs)(`span`,{className:d,children:[p,r.text]}),t[15]=r.text,t[16]=d,t[17]=p,t[18]=m):m=t[18];let h;return t[19]!==c||t[20]!==u||t[21]!==m?(h=(0,F.jsxs)(`li`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 border-t border-white/[0.06] py-2.5 first:border-t-0 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[c,u,m]}),t[19]=c,t[20]=u,t[21]=m,t[22]=h):h=t[22],h}function W(e){let t=(0,N.c)(6),{gelaufen:n,geplant:r}=e,i;t[0]!==n||t[1]!==r?(i=[...n,...r.slice(0,5)],t[0]=n,t[1]=r,t[2]=i):i=t[2];let a=i;if(a.length===0){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,F.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Heute ist noch nichts gelaufen, und nichts ist geplant.`}),t[3]=e):e=t[3],e}let o;return t[4]===a?o=t[5]:(o=(0,F.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:a.map(G)}),t[4]=a,t[5]=o),o}function G(e){return(0,F.jsx)(U,{e},`${e.titel}-${e.zeit}`)}function K(e){let t=(0,N.c)(28),{anteil:n,farbe:r,zonen:i,mitte:a,unter:o,beschriftung:s,ariaText:c,hinweis:l}=e,u=r===void 0?`var(--box)`:r,d;t[0]===i?d=t[1]:(d=i===void 0?[]:i,t[0]=i,t[1]=d);let f=d,p=n!=null&&n>.004,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,F.jsx)(`path`,{d:b(0,1,75),fill:`none`,stroke:`rgb(255 255 255 / 0.07)`,strokeWidth:12,strokeLinecap:`round`}),t[2]=m):m=t[2];let h;t[3]===f?h=t[4]:(h=f.map(q),t[3]=f,t[4]=h);let g;t[5]!==n||t[6]!==u||t[7]!==p?(g=p&&(0,F.jsx)(`path`,{d:b(0,n,75),fill:`none`,stroke:u,strokeWidth:12,strokeLinecap:`round`,style:{filter:`drop-shadow(0 0 7px color-mix(in srgb, ${u} 60%, transparent))`}}),t[5]=n,t[6]=u,t[7]=p,t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_={fontFamily:`var(--font-anzeige)`,fontSize:40,fontWeight:600,fill:`var(--foreground)`},t[9]=_):_=t[9];let v;t[10]===a?v=t[11]:(v=(0,F.jsx)(`text`,{x:`100`,y:`102`,textAnchor:`middle`,style:_,children:a}),t[10]=a,t[11]=v);let y;t[12]===o?y=t[13]:(y=o&&(0,F.jsx)(`text`,{x:`100`,y:`124`,textAnchor:`middle`,style:{fontFamily:`var(--font-sans)`,fontSize:13,fontWeight:500,fill:`var(--text-3)`},children:o}),t[12]=o,t[13]=y);let x;t[14]!==c||t[15]!==h||t[16]!==g||t[17]!==v||t[18]!==y?(x=(0,F.jsxs)(`svg`,{viewBox:`0 0 200 150`,className:`h-auto w-full max-w-[200px]`,role:`img`,"aria-label":c,children:[m,h,g,v,y]}),t[14]=c,t[15]=h,t[16]=g,t[17]=v,t[18]=y,t[19]=x):x=t[19];let S;t[20]===s?S=t[21]:(S=(0,F.jsx)(`figcaption`,{className:`etikett text-[11.5px] tracking-[0.14em] text-text-3`,children:s}),t[20]=s,t[21]=S);let C;t[22]===l?C=t[23]:(C=l&&(0,F.jsx)(`span`,{className:`text-center text-xs ${l.className}`,children:l.text}),t[22]=l,t[23]=C);let w;return t[24]!==x||t[25]!==S||t[26]!==C?(w=(0,F.jsxs)(`figure`,{className:`m-0 flex min-w-0 flex-col items-center gap-1`,children:[x,S,C]}),t[24]=x,t[25]=S,t[26]=C,t[27]=w):w=t[27],w}function q(e){return(0,F.jsx)(`path`,{d:b(e.von,e.bis,86),fill:`none`,stroke:e.farbe,strokeWidth:4,strokeLinecap:`round`},`${e.von}-${e.bis}`)}function J(e){let t=(0,N.c)(12),{zustand:n,lampen:r,onAnsehen:i}=e,a;t[0]===n?a=t[1]:(a=m(n),t[0]=n,t[1]=a);let o=a,s=o.art,c=o.oben,l=o.mitte,u=o.unten,d=o.art===`gelb`||o.art===`rot`,f;t[2]===r?f=t[3]:(f=r.map(Y),t[2]=r,t[3]=f);let p;return t[4]!==o.art||t[5]!==o.mitte||t[6]!==o.oben||t[7]!==o.unten||t[8]!==i||t[9]!==d||t[10]!==f?(p=(0,F.jsx)(j,{art:s,oben:c,mitte:l,unten:u,aktiv:d,onAnsehen:i,label:`Warnpanel`,children:f}),t[4]=o.art,t[5]=o.mitte,t[6]=o.oben,t[7]=o.unten,t[8]=i,t[9]=d,t[10]=f,t[11]=p):p=t[11],p}function Y(e){return(0,F.jsx)(M,{bild:y(e.id),name:e.label,wert:e.wert,zustand:e.zustand},e.id)}function X(e){let t=(0,N.c)(2),{z:n}=e,r;return t[0]===n?r=t[1]:(r=(0,F.jsx)(`span`,{className:`ziffern inline-flex h-[1.75em] w-[1.1875em] shrink-0 items-center justify-center rounded-lg border border-white/10 bg-gradient-to-b from-white/[0.07] to-white/[0.02] font-medium shadow-[inset_0_1px_0_rgb(255_255_255/0.06)]`,children:n}),t[0]=n,t[1]=r),r}function Z(e){let t=(0,N.c)(25),{sekunden:n}=e,r;t[0]===n?r=t[1]:(r=S(n),t[0]=n,t[1]=r);let i=r,a=String(Math.min(i?.[0]??0,99)),o;t[2]===a?o=t[3]:(o=a.padStart(2,`0`),t[2]=a,t[3]=o);let s=o,c=String(i?.[1]??0),l;t[4]===c?l=t[5]:(l=c.padStart(2,`0`),t[4]=c,t[5]=l);let u=l,d=i?`Laufzeit ohne Neustart: ${i[0]} Tage, ${i[1]} Stunden`:`Laufzeit unbekannt`,f=i?s[0]:`–`,p;t[6]===f?p=t[7]:(p=(0,F.jsx)(X,{z:f}),t[6]=f,t[7]=p);let m=i?s[1]:`–`,h;t[8]===m?h=t[9]:(h=(0,F.jsx)(X,{z:m}),t[8]=m,t[9]=h);let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,F.jsx)(`span`,{className:`etikett mr-[0.444em] ml-[0.111em] text-[0.5625em] text-text-3`,children:`T`}),t[10]=g):g=t[10];let _=i?u[0]:`–`,v;t[11]===_?v=t[12]:(v=(0,F.jsx)(X,{z:_}),t[11]=_,t[12]=v);let y=i?u[1]:`–`,b;t[13]===y?b=t[14]:(b=(0,F.jsx)(X,{z:y}),t[13]=y,t[14]=b);let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,F.jsx)(`span`,{className:`etikett ml-[0.111em] text-[0.5625em] text-text-3`,children:`H`}),t[15]=x):x=t[15];let C;t[16]!==v||t[17]!==b||t[18]!==p||t[19]!==h||t[20]!==d?(C=(0,F.jsxs)(`div`,{"aria-label":d,role:`img`,className:`flex h-[min(75cqw,150px)] items-center gap-[0.1875em] pb-[min(10cqw,20px)] text-[length:clamp(14px,14.5cqw,32px)]`,children:[p,h,g,v,b,x]}),t[16]=v,t[17]=b,t[18]=p,t[19]=h,t[20]=d,t[21]=C):C=t[21];let w;t[22]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,F.jsx)(`figcaption`,{className:`etikett text-[11.5px] tracking-[0.14em] text-text-3`,children:`Ohne Neustart`}),t[22]=w):w=t[22];let T;return t[23]===C?T=t[24]:(T=(0,F.jsxs)(`figure`,{className:`@container m-0 flex min-w-0 flex-col items-center justify-end gap-1`,children:[C,w]}),t[23]=C,t[24]=T),T}function Q(e){let t=(0,N.c)(53),{box:n}=e,r=C(),i=r?.ram_used??n.ram_used,a=r?.ram_total??n.ram_total,o=r?.temp_cpu??n.temp_cpu,s=r?.temp_gpu??n.temp_gpu,c=n.platte,l=c?.vorhersage,u;t[0]===l?u=t[1]:(u=D(l),t[0]=l,t[1]=u);let d=u,p=r?.uptime_s??n.uptime_s,m=i!=null&&a?i/a:null,g;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(g={"--i":1},t[2]=g):g=t[2];let v;t[3]===i?v=t[4]:(v=i==null?`–`:String(Math.round(h(i)??0)),t[3]=i,t[4]=v);let y;t[5]===a?y=t[6]:(y=a?`von ${Math.round(h(a)??0)} GB`:void 0,t[5]=a,t[6]=y);let b;t[7]!==m||t[8]!==i||t[9]!==a?(b=m==null?`Speicher unbekannt`:`Speicher: ${E(i)} von ${E(a)} belegt`,t[7]=m,t[8]=i,t[9]=a,t[10]=b):b=t[10];let x;t[11]!==m||t[12]!==v||t[13]!==y||t[14]!==b?(x=(0,F.jsx)(K,{beschriftung:`Speicher`,anteil:m,mitte:v,unter:y,ariaText:b}),t[11]=m,t[12]=v,t[13]=y,t[14]=b,t[15]=x):x=t[15];let S=o==null?null:o/100,w;t[16]===o?w=t[17]:(w=_(o),t[16]=o,t[17]=w);let T;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(T=[{von:.7,bis:.85,farbe:`var(--bernstein)`},{von:.85,bis:1,farbe:`var(--rot)`}],t[18]=T):T=t[18];let O;t[19]===o?O=t[20]:(O=o==null?`–`:`${Math.round(o)}°`,t[19]=o,t[20]=O);let k;t[21]===s?k=t[22]:(k=s==null?void 0:`GPU ${Math.round(s)}°`,t[21]=s,t[22]=k);let A;t[23]===o?A=t[24]:(A=o==null?`Temperatur unbekannt`:`Temperatur ${Math.round(o)} Grad`,t[23]=o,t[24]=A);let j;t[25]!==O||t[26]!==k||t[27]!==A||t[28]!==S||t[29]!==w?(j=(0,F.jsx)(K,{beschriftung:`Temperatur`,anteil:S,farbe:w,zonen:T,mitte:O,unter:k,ariaText:A}),t[25]=O,t[26]=k,t[27]=A,t[28]=S,t[29]=w,t[30]=j):j=t[30];let M=c?c.percent/100:null,P=c&&c.percent>=90?`var(--rot)`:c&&c.percent>=80?`var(--bernstein)`:`var(--box)`,I;t[31]===c?I=t[32]:(I=c?`${Math.round(c.percent)}%`:`–`,t[31]=c,t[32]=I);let L;t[33]===c?L=t[34]:(L=c?`${E(c.used)} / ${E(c.total)}`:void 0,t[33]=c,t[34]=L);let R;t[35]===c?R=t[36]:(R=c?`Platte zu ${Math.round(c.percent)} Prozent belegt`:`Platte unbekannt`,t[35]=c,t[36]=R);let z;t[37]===d?z=t[38]:(z=d?{text:d.text,className:f[d.stufe]}:null,t[37]=d,t[38]=z);let B;t[39]!==M||t[40]!==P||t[41]!==I||t[42]!==L||t[43]!==R||t[44]!==z?(B=(0,F.jsx)(K,{beschriftung:`Platte`,anteil:M,farbe:P,mitte:I,unter:L,ariaText:R,hinweis:z}),t[39]=M,t[40]=P,t[41]=I,t[42]=L,t[43]=R,t[44]=z,t[45]=B):B=t[45];let V;t[46]===p?V=t[47]:(V=(0,F.jsx)(Z,{sekunden:p}),t[46]=p,t[47]=V);let H;return t[48]!==j||t[49]!==B||t[50]!==V||t[51]!==x?(H=(0,F.jsxs)(`section`,{"aria-label":`Instrumente`,className:`auftauchen flaeche grid grid-cols-2 gap-x-4 gap-y-6 rounded-3xl px-4 py-5 lg:grid-cols-4 lg:px-6`,style:g,children:[x,j,B,V]}),t[48]=j,t[49]=B,t[50]=V,t[51]=x,t[52]=H):H=t[52],H}var $={bestanden:`gruen`,durchgefallen:`rot`,wartet:`cyan`,neu:`cyan`};function ee(e){let t=(0,N.c)(14),{radar:n}=e;if(!n?.kandidaten)return null;let r,i;t[0]===n.kandidaten?(r=t[1],i=t[2]):(r=n.kandidaten.filter(ne),i=r.find(te)??r[0],t[0]=n.kandidaten,t[1]=r,t[2]=i);let a=i,o=r.length===1?``:`en`,c;t[3]!==r.length||t[4]!==o?(c=(0,F.jsxs)(`span`,{className:`etikett text-[11px] tracking-[0.14em] text-cyan-text`,children:[`Radar · `,r.length,` Kandidat`,o]}),t[3]=r.length,t[4]=o,t[5]=c):c=t[5];let l;t[6]===a?l=t[7]:(l=a?(0,F.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-[15px]`,children:[(0,F.jsx)(`span`,{className:`ziffern`,children:a.name}),(0,F.jsxs)(`span`,{className:`text-text-2`,children:[`fürs `,a.rolle===`hirn`?`Hirn`:`Coden`]}),(0,F.jsx)(s,{art:$[a.status]??`grau`,children:p[a.status]??a.status})]}):(0,F.jsx)(`span`,{className:`text-[15px] text-text-2`,children:`Nichts Besseres in Sicht.`}),t[6]=a,t[7]=l);let d;t[8]!==c||t[9]!==l?(d=(0,F.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1`,children:[c,l]}),t[8]=c,t[9]=l,t[10]=d):d=t[10];let f;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,F.jsx)(k,{variant:`info`,size:`sm`,asChild:!0,children:(0,F.jsx)(u,{to:`/box/modelle`,hash:`radar`,children:`Ansehen`})}),t[11]=f):f=t[11];let m;return t[12]===d?m=t[13]:(m=(0,F.jsxs)(`div`,{className:`mt-auto flex flex-wrap items-center justify-between gap-3 rounded-2xl bg-cyan/[0.06] px-4 py-3.5 ring-1 ring-cyan/30 ring-inset`,children:[d,f]}),t[12]=d,t[13]=m),m}function te(e){return e.status===`bestanden`}function ne(e){return[`bestanden`,`wartet`,`neu`].includes(e.status)}function re(){let e=(0,N.c)(32),{data:t,error:n,isPending:r}=o(),i=l();if(r){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(c,{text:`Die Box meldet sich gleich …`}),e[0]=t):t=e[0],t}if(!t){let t=`MC2 antwortet nicht: ${n?.message??`keine Daten`}`,r;return e[1]===t?r=e[2]:(r=(0,F.jsx)(c,{fehler:!0,text:t}),e[1]=t,e[2]=r),r}let a=t.hinweise.length,u;e[3]!==t.lampen||e[4]!==t.zustand?(u=(0,F.jsx)(J,{zustand:t.zustand,lampen:t.lampen,onAnsehen:ie}),e[3]=t.lampen,e[4]=t.zustand,e[5]=u):u=e[5];let d;e[6]===t.box?d=e[7]:(d=(0,F.jsx)(Q,{box:t.box}),e[6]=t.box,e[7]=d);let f=a?`bernstein`:`gruen`,p=a?`${a} offen`:`alles erledigt`,m;e[8]!==f||e[9]!==p?(m=(0,F.jsx)(s,{art:f,children:p}),e[8]=f,e[9]=p,e[10]=m):m=e[10];let h;e[11]!==t.hinweise||e[12]!==t.verlauf?(h=(0,F.jsx)(z,{hinweise:t.hinweise,verlauf:t.verlauf}),e[11]=t.hinweise,e[12]=t.verlauf,e[13]=h):h=e[13];let g;e[14]!==m||e[15]!==h?(g=(0,F.jsx)(A,{titel:`Checkliste`,id:`checkliste`,rechts:m,children:h}),e[14]=m,e[15]=h,e[16]=g):g=e[16];let _;e[17]!==t.flugplan.gelaufen||e[18]!==t.flugplan.geplant?(_=(0,F.jsx)(W,{gelaufen:t.flugplan.gelaufen,geplant:t.flugplan.geplant}),e[17]=t.flugplan.gelaufen,e[18]=t.flugplan.geplant,e[19]=_):_=e[19];let v;e[20]===i.data?v=e[21]:(v=(0,F.jsx)(ee,{radar:i.data}),e[20]=i.data,e[21]=v);let y;e[22]!==_||e[23]!==v?(y=(0,F.jsxs)(A,{titel:`Flugplan`,children:[_,v]}),e[22]=_,e[23]=v,e[24]=y):y=e[24];let b;e[25]!==g||e[26]!==y?(b=(0,F.jsxs)(`div`,{className:`grid gap-5 lg:grid-cols-[minmax(0,1.35fr)_minmax(0,1fr)] md:gap-6`,children:[g,y]}),e[25]=g,e[26]=y,e[27]=b):b=e[27];let x;return e[28]!==u||e[29]!==d||e[30]!==b?(x=(0,F.jsxs)(F.Fragment,{children:[u,d,b]}),e[28]=u,e[29]=d,e[30]=b,e[31]=x):x=e[31],x}function ie(){return document.getElementById(`checkliste`)?.scrollIntoView({behavior:`smooth`,block:`start`})}export{re as StartSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/Updates-eysoVXbY.js b/frontend/dist/assets/Updates-D4NG6yAI.js similarity index 82% rename from frontend/dist/assets/Updates-eysoVXbY.js rename to frontend/dist/assets/Updates-D4NG6yAI.js index 6926dcd..fb65100 100644 --- a/frontend/dist/assets/Updates-eysoVXbY.js +++ b/frontend/dist/assets/Updates-D4NG6yAI.js @@ -1,2 +1,2 @@ -import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{t as a}from"./chevron-right-DF8ikrVh.js";import{Ht as o,Kt as s,M as c,N as l,O as u,Rt as d,Wt as f,Xt as p,Yt as m,ct as ee,k as h,qt as te,st as g,un as _,wt as ne,xt as re}from"./index-CJ1jXWsM.js";import{t as ie}from"./button-DwYvdWVr.js";import{t as v}from"./Bestaetigen-6C3zYuEE.js";import{t as y}from"./Panel-uT1S5ZGr.js";import{c as b,i as x,n as ae,o as S,t as C}from"./Auftraege-CutWwY2J.js";var w=r(),T=t(e(),1),E=n(),D=[{id:`os`,name:`Betriebssystem`},{id:`engine`,name:`Motor (llama.cpp)`},{id:`swap`,name:`llama-swap`},{id:`hermes`,name:`Hermes`}],O={os:`Die Ubuntu-Pakete werden eingespielt, danach prüft die Box, ob die Modelle noch antworten. Das kann einige Minuten dauern.`,engine:`Der Motor wird ersetzt, llama-swap startet dafür neu und die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,swap:`llama-swap wird ersetzt und startet neu, die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,hermes:`Vorher wird gesichert. Dann wird Hermes aktualisiert und startet neu — Lucy ist dabei ein paar Minuten nicht erreichbar.`};function oe(e){let t=(0,w.c)(7),{breit:n}=e,r=n===void 0?`w-16`:n,a;t[0]===r?a=t[1]:(a=i(`inline-block h-3.5 rounded bg-linie motion-safe:animate-pulse`,r),t[0]=r,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,E.jsx)(`span`,{"aria-hidden":!0,className:a}),t[2]=a,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,E.jsx)(`span`,{className:`sr-only`,children:`wird geprüft`}),t[4]=s):s=t[4];let c;return t[5]===o?c=t[6]:(c=(0,E.jsxs)(`span`,{className:`inline-flex items-center`,children:[o,s]}),t[5]=o,t[6]=c),c}function se(e){let t=(0,w.c)(13),{text:n}=e,[r,a]=(0,T.useState)(!1),o;t[0]===n?o=t[1]:(o=n.split(` -`).length>3||n.length>240,t[0]=n,t[1]=o);let s=o,c=s&&!r&&`line-clamp-3`,l;t[2]===c?l=t[3]:(l=i(`m-0 whitespace-pre-line`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==n?(u=(0,E.jsx)(`p`,{className:l,children:n}),t[4]=l,t[5]=n,t[6]=u):u=t[6];let d;t[7]!==s||t[8]!==r?(d=s&&(0,E.jsx)(`button`,{type:`button`,"aria-expanded":r,onClick:()=>a(!r),className:`-mb-2 inline-flex h-11 items-center text-sm text-cyan-text hover:underline`,children:r?`Weniger zeigen`:`Ganze Zusammenfassung zeigen`}),t[7]=s,t[8]=r,t[9]=d):d=t[9];let f;return t[10]!==u||t[11]!==d?(f=(0,E.jsxs)(`div`,{className:`flex flex-col items-start`,children:[u,d]}),t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function ce(e){let t=(0,w.c)(13),{d:n}=e,r;t[0]===n.packages?r=t[1]:(r=n.packages??[],t[0]=n.packages,t[1]=r);let i=r,o,s;if(t[2]!==n.held_back||t[3]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.held_back??[];if(i.length===0&&e.length===0){s=null;break bb0}let r;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,E.jsx)(a,{"aria-hidden":!0,className:`size-4 transition-transform group-open:rotate-90`}),t[6]=r):r=t[6];let c=i.length===0?`Was Ubuntu zurückhält (${e.length})`:i.length===1?`Das Paket ansehen`:`Alle ${i.length} Pakete ansehen`,l;t[7]===c?l=t[8]:(l=(0,E.jsxs)(`summary`,{className:`inline-flex h-11 cursor-pointer items-center gap-1 text-sm text-cyan-text hover:underline`,children:[r,c]}),t[7]=c,t[8]=l);let u;t[9]===i?u=t[10]:(u=i.map(A),t[9]=i,t[10]=u);let d;t[11]===u?d=t[12]:(d=(0,E.jsx)(`ul`,{className:`ziffern m-0 flex max-h-64 list-none flex-col gap-1 overflow-auto rounded-xl bg-black/30 ring-1 ring-white/[0.07] ring-inset p-2.5 text-xs`,children:u}),t[11]=u,t[12]=d),o=(0,E.jsxs)(`details`,{className:`group`,children:[l,d,e.length>0&&(0,E.jsxs)(`p`,{className:`mt-2 text-xs text-text-3`,children:[`Dazu `,e.length===1?`kommt ein Paket`:`kommen ${e.length} Pakete`,`, die Ubuntu noch zurückhält (`,e.map(k).join(`, `),`). Die kommen von selbst, wenn Ubuntu sie freigibt.`]})]})}t[2]=n.held_back,t[3]=i,t[4]=o,t[5]=s}else o=t[4],s=t[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function k(e){return e.name}function A(e){return(0,E.jsxs)(`li`,{className:`break-all`,children:[(0,E.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,E.jsxs)(`span`,{className:`text-text-3`,children:[e.current,` → `,e.candidate]})]},e.name)}function le(e){let t=(0,w.c)(6),{d:n}=e;if(n.action_needed===!1){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,E.jsx)(c,{art:`gruen`,children:`Nichts zu tun`}),t[0]=e):e=t[0],e}if(n.action_needed!==!0)return null;let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,E.jsx)(c,{art:`bernstein`,children:`Du musst etwas tun`}),t[1]=r):r=t[1];let i;t[2]===n.action_text?i=t[3]:(i=n.action_text&&(0,E.jsx)(`span`,{className:`text-bernstein`,children:n.action_text}),t[2]=n.action_text,t[3]=i);let a;return t[4]===i?a=t[5]:(a=(0,E.jsxs)(`span`,{className:`flex flex-col items-start gap-1.5`,children:[r,i]}),t[4]=i,t[5]=a),a}function j(e){let t=e?.trim();return t?t.startsWith(`(Zusammenfassung nicht verfügbar`)?`Die Zusammenfassung ist gerade nicht verfügbar.`:t:null}function M(e){let t=(0,w.c)(70),{id:n,name:r,details:i,hatUpdate:a,neuLautStart:o,fest:s,gesperrt:c,onStart:l,onFreigeben:d}=e,f=i.data,p=i.isPending,m=i.isError?i.error.message:f?.error,ee;t[0]!==f||t[1]!==n?(ee=f?b(n,f):null,t[0]=f,t[1]=n,t[2]=ee):ee=t[2];let te=ee,g=a?te?.neu??o??null:null,_=f?.summary,ne;t[3]===_?ne=t[4]:(ne=j(_),t[3]=_,t[4]=ne);let re=ne,v=te&&te.laeuft!==`–`?te.laeuft:m?`unbekannt`:`–`,y;t[5]!==p||t[6]!==v?(y=p?(0,E.jsx)(oe,{}):(0,E.jsx)(E.Fragment,{children:v}),t[5]=p,t[6]=v,t[7]=y):y=t[7];let x=y,ae;t[8]!==m||t[9]!==p||t[10]!==g?(ae=p?(0,E.jsx)(oe,{breit:`w-20`}):g?(0,E.jsx)(`span`,{className:`text-cyan-text`,children:g}):m?(0,E.jsx)(`span`,{className:`text-bernstein`,children:`nicht geprüft`}):(0,E.jsx)(`span`,{className:`text-text-3`,children:`–`}),t[8]=m,t[9]=p,t[10]=g,t[11]=ae):ae=t[11];let C=ae,T;if(p){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,E.jsx)(`span`,{className:`text-text-3`,children:`Wird geprüft …`}),t[12]=e):e=t[12],T=e}else if(m&&!a){let e;t[13]===m?e=t[14]:(e=S(m),t[13]=m,t[14]=e);let n;t[15]===e?n=t[16]:(n=(0,E.jsx)(`span`,{className:`text-bernstein`,children:e}),t[15]=e,t[16]=n),T=n}else if(!a)T=`Aktuell.`;else{let e;t[17]===m?e=t[18]:(e=m&&(0,E.jsx)(`span`,{className:`text-bernstein`,children:S(m)}),t[17]=m,t[18]=e);let r;t[19]===f?r=t[20]:(r=f&&(0,E.jsx)(le,{d:f}),t[19]=f,t[20]=r);let i;t[21]!==f||t[22]!==n||t[23]!==re?(i=n===`os`?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{children:f?.count?`${f.count} ${f.count===1?`Paket`:`Pakete`} aus Ubuntu.`:`Neue Pakete aus Ubuntu.`}),f&&(0,E.jsx)(ce,{d:f})]}):re?(0,E.jsx)(se,{text:re}):null,t[21]=f,t[22]=n,t[23]=re,t[24]=i):i=t[24];let a;t[25]!==e||t[26]!==r||t[27]!==i?(a=(0,E.jsxs)(`div`,{className:`flex flex-col items-start gap-2`,children:[e,r,i]}),t[25]=e,t[26]=r,t[27]=i,t[28]=a):a=t[28],T=a}let D=p||void 0,O;t[29]===n?O=t[30]:(O=h(n),t[29]=n,t[30]=O);let k;t[31]===O?k=t[32]:(k=(0,E.jsx)(u,{bild:O,groesse:`sm`}),t[31]=O,t[32]=k);let A;t[33]===r?A=t[34]:(A=(0,E.jsx)(`span`,{className:`min-w-0`,children:r}),t[33]=r,t[34]=A);let M;t[35]!==k||t[36]!==A?(M=(0,E.jsxs)(`span`,{role:`rowheader`,className:`flex min-w-0 items-center gap-3 text-[15px] font-semibold`,children:[k,A]}),t[35]=k,t[36]=A,t[37]=M):M=t[37];let N;t[38]!==m||t[39]!==p||t[40]!==g||t[41]!==C?(N=!p&&(g||m)&&(0,E.jsxs)(E.Fragment,{children:[` `,g?`→`:`·`,` `,C]}),t[38]=m,t[39]=p,t[40]=g,t[41]=C,t[42]=N):N=t[42];let P;t[43]!==x||t[44]!==N?(P=(0,E.jsxs)(`span`,{role:`cell`,className:`ziffern -mt-1 text-sm text-text-2 md:hidden`,children:[x,N]}),t[43]=x,t[44]=N,t[45]=P):P=t[45];let F;t[46]===x?F=t[47]:(F=(0,E.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm text-text-2 md:block`,children:x}),t[46]=x,t[47]=F);let I;t[48]===C?I=t[49]:(I=(0,E.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm md:block`,children:C}),t[48]=C,t[49]=I);let L;t[50]!==s||t[51]!==r?(L=s&&(0,E.jsxs)(`span`,{className:`mb-1.5 block text-bernstein`,children:[`Festgehalten seit `,s.seit,` auf `,s.version,`: `,s.grund,`. Der Sonntags-Lauf überspringt `,r,`.`]}),t[50]=s,t[51]=r,t[52]=L):L=t[52];let R;t[53]!==L||t[54]!==T?(R=(0,E.jsxs)(`div`,{role:`cell`,className:`text-sm leading-relaxed text-text-2`,children:[L,T]}),t[53]=L,t[54]=T,t[55]=R):R=t[55];let z;t[56]!==s||t[57]!==c||t[58]!==a||t[59]!==d||t[60]!==l?(z=(s||a)&&(0,E.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 md:flex-col md:items-end`,children:[s&&(0,E.jsx)(ie,{variant:`outline`,size:`sm`,onClick:d,children:`Freigeben`}),a&&(0,E.jsx)(ie,{variant:`outline`,size:`sm`,onClick:l,disabled:c,children:`Aktualisieren`})]}),t[56]=s,t[57]=c,t[58]=a,t[59]=d,t[60]=l,t[61]=z):z=t[61];let ue;return t[62]!==M||t[63]!==P||t[64]!==F||t[65]!==I||t[66]!==R||t[67]!==z||t[68]!==D?(ue=(0,E.jsxs)(`div`,{role:`row`,"aria-busy":D,className:`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-white/[0.06] py-3.5 md:grid-cols-[210px_100px_170px_minmax(0,1fr)_auto] md:items-start`,children:[M,P,F,I,R,z]}),t[62]=M,t[63]=P,t[64]=F,t[65]=I,t[66]=R,t[67]=z,t[68]=D,t[69]=ue):ue=t[69],ue}var N={rot:`rot`,gelb:`bernstein`,gruen:`gruen`,info:`cyan`,grau:`grau`},P={rot:`bg-rot`,gelb:`bg-bernstein`,gruen:`bg-gruen`,info:`bg-cyan`,grau:`bg-text-3`};function F(e){let t=(0,w.c)(19),{lauf:n}=e,r;t[0]===n.start?r=t[1]:(r=p(n.start),t[0]=n.start,t[1]=r);let i;t[2]===r?i=t[3]:(i=(0,E.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:r}),t[2]=r,t[3]=i);let a;t[4]===n.anlass?a=t[5]:(a=(0,E.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:n.anlass}),t[4]=n.anlass,t[5]=a);let o=N[n.stufe],s;t[6]!==n.titel||t[7]!==o?(s=(0,E.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,E.jsx)(c,{art:o,children:n.titel})}),t[6]=n.titel,t[7]=o,t[8]=s):s=t[8];let l;t[9]!==i||t[10]!==a||t[11]!==s?(l=(0,E.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[i,a,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=l):l=t[12];let u;t[13]!==n.stufe||t[14]!==n.zeilen?(u=n.stufe!==`grau`&&n.zeilen.length>0&&(0,E.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0 @sm:pl-[124px]`,children:n.zeilen.map(I)}),t[13]=n.stufe,t[14]=n.zeilen,t[15]=u):u=t[15];let d;return t[16]!==l||t[17]!==u?(d=(0,E.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-white/[0.06] py-3`,children:[l,u]}),t[16]=l,t[17]=u,t[18]=d):d=t[18],d}function I(e){return(0,E.jsxs)(`li`,{className:`flex items-baseline gap-2 text-sm leading-snug text-text-2`,children:[(0,E.jsx)(`span`,{"aria-hidden":!0,className:i(`size-1.5 shrink-0 -translate-y-px rounded-full`,P[e.stufe])}),(0,E.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,E.jsx)(`span`,{className:`text-foreground`,children:e.baustein}),` · `,e.text]})]},`${e.baustein}-${e.text}`)}function L(e){return e.mtime?p(new Date(e.mtime*1e3).toISOString()):e.snapshot}function R(){let e=(0,w.c)(126),t=o(),n=g(!0).data?.update_fenster,r=ne(),i=te(),a=d(),c=s(),u=ee(),p=re(),h=m(),[_,b]=(0,T.useState)(null),x;e[0]===t.data?.updates.bausteine?x=e[1]:(x=new Map((t.data?.updates.bausteine??[]).map(me)),e[0]=t.data?.updates.bausteine,e[1]=x);let S=x,oe=new Map((t.data?.updates.festgehalten??[]).map(pe)),se;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(se=D.map(fe),e[2]=se):se=e[2];let ce=f(se),k;e[3]!==ce||e[4]!==S?(k=(e,t)=>ae(e.id,ce[t].data)??S.has(e.id),e[3]=ce,e[4]=S,e[5]=k):k=e[5];let A=D.map(k),le;e[6]===r.data?.jobs?le=e[7]:(le=r.data?.jobs??[],e[6]=r.data?.jobs,e[7]=le);let j=le,N;e[8]!==j||e[9]!==t.data?.zustand?(N=j.some(de)||(t.data?.zustand.update_laeuft??!1),e[8]=j,e[9]=t.data?.zustand,e[10]=N):N=e[10];let P=N,F;e[11]===j?F=e[12]:(F=j.some(ue),e[11]=j,e[12]=F);let I=F,R=P||c.isPending,B=a.data?.available??!1,V;if(t.isPending){let t;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(l,{text:`Updates werden gelesen …`}),e[13]=t):t=e[13],V=t}else if(t.isError&&!t.data){let n=`Die Box antwortet nicht: ${t.error.message}`,r;e[14]===n?r=e[15]:(r=(0,E.jsx)(l,{fehler:!0,text:n}),e[14]=n,e[15]=r),V=r}else{let t;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsxs)(`div`,{role:`row`,className:`etikett hidden grid-cols-[210px_100px_170px_minmax(0,1fr)_auto] gap-x-4 pb-2 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Baustein`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Läuft`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Neu`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Was sich ändert`}),(0,E.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),e[16]=t):t=e[16],V=(0,E.jsxs)(`div`,{role:`table`,"aria-label":`Bausteine und ihre Updates`,className:`flex flex-col`,children:[t,D.map((e,t)=>(0,E.jsx)(M,{id:e.id,name:e.name,details:ce[t],hatUpdate:A[t],neuLautStart:S.get(e.id),fest:oe.get(e.id),gesperrt:R,onStart:()=>b({art:`einzeln`,id:e.id,name:e.name}),onFreigeben:()=>{let t=oe.get(e.id);t&&b({art:`freigeben`,id:e.id,name:e.name,grund:t.grund})}},e.id))]})}let H;if(i.isPending){let t;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[17]=t):t=e[17],H=t}else if(i.isError&&!i.data){let t;e[18]===i.error.message?t=e[19]:(t=(0,E.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Verlauf lässt sich gerade nicht lesen: `,i.error.message]}),e[18]=i.error.message,e[19]=t),H=t}else if(i.data?.laeufe.length){let t;e[21]===i.data.laeufe?t=e[22]:(t=i.data.laeufe.map(z),e[21]=i.data.laeufe,e[22]=t);let n;e[23]===t?n=e[24]:(n=(0,E.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:t}),e[23]=t,e[24]=n),H=n}else{let t;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Update-Läufe aufgezeichnet.`}),e[20]=t):t=e[20],H=t}let U;if(a.isPending){let t;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[25]=t):t=e[25],U=t}else if(a.isError&&!a.data){let t;e[26]===a.error.message?t=e[27]:(t=(0,E.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Sicherungen lassen sich gerade nicht lesen: `,a.error.message]}),e[26]=a.error.message,e[27]=t),U=t}else if(a.data?.backups.length){let t;if(e[29]!==a.data.backups||e[30]!==h.isPending||e[31]!==B){let n;e[33]!==h.isPending||e[34]!==B?(n=e=>(0,E.jsxs)(`li`,{className:`flex items-center justify-between gap-3 border-t border-white/[0.06] py-2.5`,children:[(0,E.jsx)(`span`,{className:`ziffern text-sm`,children:L(e)}),(0,E.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,E.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[e.size_mb.toLocaleString(`de-DE`),` MB`]}),(0,E.jsx)(ie,{variant:`ghost`,size:`sm`,disabled:!B||h.isPending,onClick:()=>b({art:`zurueck`,datei:e.file,zeit:L(e)}),children:`Zurückspielen`})]})]},e.file),e[33]=h.isPending,e[34]=B,e[35]=n):n=e[35],t=a.data.backups.slice(0,5).map(n),e[29]=a.data.backups,e[30]=h.isPending,e[31]=B,e[32]=t}else t=e[32];let n;e[36]===t?n=e[37]:(n=(0,E.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:t}),e[36]=t,e[37]=n),U=n}else{let t;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Sicherung vorhanden.`}),e[28]=t):t=e[28],U=t}let he=y,W;e[38]===c?W=e[39]:(W=()=>c.mutate(`pruefen`),e[38]=c,e[39]=W);let ge=c.isPending||I,_e=I?`Sucht …`:`Nach Neuem suchen`,G;e[40]!==_e||e[41]!==W||e[42]!==ge?(G=(0,E.jsx)(ie,{variant:`outline`,onClick:W,disabled:ge,children:_e}),e[40]=_e,e[41]=W,e[42]=ge,e[43]=G):G=e[43];let ve=ie,K;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>b({art:`alle`}),e[44]=K):K=e[44];let ye=R||!A.some(Boolean),q;e[45]!==ve||e[46]!==K||e[47]!==ye?(q=(0,E.jsx)(ve,{onClick:K,disabled:ye,children:`Alles jetzt aktualisieren`}),e[45]=ve,e[46]=K,e[47]=ye,e[48]=q):q=e[48];let J;e[49]!==G||e[50]!==q?(J=(0,E.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[G,q]}),e[49]=G,e[50]=q,e[51]=J):J=e[51];let be=n?`Jeden ${n.tag_name} um ${n.uhrzeit} automatisch.`:`Einmal pro Woche automatisch.`,xe;e[52]===be?xe=e[53]:(xe=(0,E.jsxs)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:[be,` Vorher wird gesichert, danach geprüft.`]}),e[52]=be,e[53]=xe);let Y;e[54]===P?Y=e[55]:(Y=P&&(0,E.jsx)(`p`,{role:`status`,className:`text-[15px] text-cyan-text`,children:`Gerade läuft ein Update. Weitere lassen sich erst starten, wenn es fertig ist.`}),e[54]=P,e[55]=Y);let Se;e[56]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,E.jsx)(C,{}),e[56]=Se):Se=e[56];let X;e[57]!==he||e[58]!==J||e[59]!==xe||e[60]!==Y||e[61]!==V?(X=(0,E.jsxs)(he,{titel:`Updates`,rechts:J,children:[xe,Y,V,Se]}),e[57]=he,e[58]=J,e[59]=xe,e[60]=Y,e[61]=V,e[62]=X):X=e[62];let Z;e[63]===H?Z=e[64]:(Z=(0,E.jsx)(y,{titel:`Verlauf`,children:H}),e[63]=H,e[64]=Z);let Ce;e[65]===p?Ce=e[66]:(Ce=()=>p.mutate(void 0),e[65]=p,e[66]=Ce);let we=p.isPending?`Sichert …`:`Jetzt sichern`,Q;e[67]!==p.isPending||e[68]!==Ce||e[69]!==we?(Q=(0,E.jsx)(ie,{variant:`outline`,size:`sm`,onClick:Ce,disabled:p.isPending,children:we}),e[67]=p.isPending,e[68]=Ce,e[69]=we,e[70]=Q):Q=e[70];let Te;e[71]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,E.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Täglich um 03:35, mit Kopie auf einem zweiten Gerät.`}),e[71]=Te):Te=e[71];let Ee;e[72]!==a.data||e[73]!==B?(Ee=a.data&&!B&&(0,E.jsx)(`p`,{className:`text-sm text-text-3`,children:`Zurückspielen geht nur auf der Box selbst.`}),e[72]=a.data,e[73]=B,e[74]=Ee):Ee=e[74];let De;e[75]!==U||e[76]!==Q||e[77]!==Ee?(De=(0,E.jsxs)(y,{titel:`Sicherungen`,rechts:Q,children:[Te,Ee,U]}),e[75]=U,e[76]=Q,e[77]=Ee,e[78]=De):De=e[78];let Oe;e[79]!==Z||e[80]!==De?(Oe=(0,E.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:[Z,De]}),e[79]=Z,e[80]=De,e[81]=Oe):Oe=e[81];let ke=_?.art===`alle`,Ae;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=()=>b(null),e[82]=Ae):Ae=e[82];let je;e[83]!==_?.art||e[84]!==c?(je=()=>{_?.art===`alle`&&c.mutate(`alle`),b(null)},e[83]=_?.art,e[84]=c,e[85]=je):je=e[85];let Me;e[86]!==R||e[87]!==ke||e[88]!==je?(Me=(0,E.jsx)(v,{offen:ke,titel:`Alles jetzt aktualisieren?`,text:`Motor, llama-swap, Hermes und Betriebssystem werden nacheinander aktualisiert, soweit es Neues gibt, und danach geprüft. Motor und llama-swap holen bei Problemen ihren alten Stand von selbst zurück, vor Hermes wird gesichert. Lucy ist dabei ein paar Minuten nicht erreichbar.`,knopf:`Aktualisieren`,gesperrt:R,onNein:Ae,onJa:je}),e[86]=R,e[87]=ke,e[88]=je,e[89]=Me):Me=e[89];let Ne=_?.art===`einzeln`,Pe=_?.art===`einzeln`?`${_.name} aktualisieren?`:``,Fe=_?.art===`einzeln`?O[_.id]??``:``,Ie;e[90]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=()=>b(null),e[90]=Ie):Ie=e[90];let Le;e[91]!==_||e[92]!==c?(Le=()=>{_?.art===`einzeln`&&c.mutate(_.id),b(null)},e[91]=_,e[92]=c,e[93]=Le):Le=e[93];let Re;e[94]!==R||e[95]!==Ne||e[96]!==Pe||e[97]!==Fe||e[98]!==Le?(Re=(0,E.jsx)(v,{offen:Ne,titel:Pe,text:Fe,knopf:`Aktualisieren`,gesperrt:R,onNein:Ie,onJa:Le}),e[94]=R,e[95]=Ne,e[96]=Pe,e[97]=Fe,e[98]=Le,e[99]=Re):Re=e[99];let ze=_?.art===`freigeben`,Be=_?.art===`freigeben`?`${_.name} freigeben?`:``,Ve=_?.art===`freigeben`?`Festgehalten wurde ${_.name}, weil: ${_.grund}. Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`:``,He;e[100]===Symbol.for(`react.memo_cache_sentinel`)?(He=()=>b(null),e[100]=He):He=e[100];let Ue;e[101]!==_||e[102]!==u?(Ue=()=>{_?.art===`freigeben`&&u.mutate(_.id),b(null)},e[101]=_,e[102]=u,e[103]=Ue):Ue=e[103];let We;e[104]!==u.isPending||e[105]!==ze||e[106]!==Be||e[107]!==Ve||e[108]!==Ue?(We=(0,E.jsx)(v,{offen:ze,titel:Be,text:Ve,knopf:`Freigeben`,gesperrt:u.isPending,onNein:He,onJa:Ue}),e[104]=u.isPending,e[105]=ze,e[106]=Be,e[107]=Ve,e[108]=Ue,e[109]=We):We=e[109];let Ge=_?.art===`zurueck`,Ke=`Die Einstellungen von Hermes und llama-swap werden auf den Stand von ${_?.art===`zurueck`?_.zeit:``} gesetzt. Vorher wird der jetzige Stand gesichert. Die Dienste starten danach neu.`,qe;e[110]===Symbol.for(`react.memo_cache_sentinel`)?(qe=()=>b(null),e[110]=qe):qe=e[110];let Je;e[111]!==_||e[112]!==h?(Je=()=>{_?.art===`zurueck`&&h.mutate(_.datei),b(null)},e[111]=_,e[112]=h,e[113]=Je):Je=e[113];let $;e[114]!==Ge||e[115]!==Ke||e[116]!==Je||e[117]!==h.isPending?($=(0,E.jsx)(v,{offen:Ge,gefahr:!0,titel:`Sicherung zurückspielen?`,text:Ke,knopf:`Zurückspielen`,gesperrt:h.isPending,onNein:qe,onJa:Je}),e[114]=Ge,e[115]=Ke,e[116]=Je,e[117]=h.isPending,e[118]=$):$=e[118];let Ye;return e[119]!==X||e[120]!==Oe||e[121]!==Me||e[122]!==Re||e[123]!==We||e[124]!==$?(Ye=(0,E.jsxs)(E.Fragment,{children:[X,Oe,Me,Re,We,$]}),e[119]=X,e[120]=Oe,e[121]=Me,e[122]=Re,e[123]=We,e[124]=$,e[125]=Ye):Ye=e[125],Ye}function z(e){return(0,E.jsx)(F,{lauf:e},e.start)}function ue(e){return x(e)&&_(e)}function de(e){return e.group===`maintenance`&&_(e)}function fe(e){return e.id}function pe(e){return[e.baustein,e]}function me(e){return[e.id,e.neu]}export{R as UpdatesSeite}; \ No newline at end of file +import{a as e,c as t,i as n,r,t as i}from"./dist-aE7UmubC.js";import{t as a}from"./chevron-right-DF8ikrVh.js";import{$t as o,Gt as s,M as c,N as l,O as u,Qt as d,St as f,Tt as p,Vt as m,Xt as ee,Yt as te,ct as h,k as g,pn as _,qt as ne,st as re}from"./index-CiJU28k0.js";import{t as ie}from"./button-DwYvdWVr.js";import{t as v}from"./Bestaetigen-BGcVQso2.js";import{t as y}from"./Panel-uT1S5ZGr.js";import{c as b,i as x,n as ae,o as S,t as C}from"./Auftraege-D6FtdUOB.js";var w=r(),T=t(e(),1),E=n(),D=[{id:`os`,name:`Betriebssystem`},{id:`engine`,name:`Motor (llama.cpp)`},{id:`swap`,name:`llama-swap`},{id:`hermes`,name:`Hermes`}],O={os:`Die Ubuntu-Pakete werden eingespielt, danach prüft die Box, ob die Modelle noch antworten. Das kann einige Minuten dauern.`,engine:`Der Motor wird ersetzt, llama-swap startet dafür neu und die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,swap:`llama-swap wird ersetzt und startet neu, die Modelle sind kurz nicht erreichbar. Klappt die Prüfung danach nicht, holt die Box den alten Stand von selbst zurück.`,hermes:`Vorher wird gesichert. Dann wird Hermes aktualisiert und startet neu — Lucy ist dabei ein paar Minuten nicht erreichbar.`};function oe(e){let t=(0,w.c)(7),{breit:n}=e,r=n===void 0?`w-16`:n,a;t[0]===r?a=t[1]:(a=i(`inline-block h-3.5 rounded bg-linie motion-safe:animate-pulse`,r),t[0]=r,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,E.jsx)(`span`,{"aria-hidden":!0,className:a}),t[2]=a,t[3]=o);let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,E.jsx)(`span`,{className:`sr-only`,children:`wird geprüft`}),t[4]=s):s=t[4];let c;return t[5]===o?c=t[6]:(c=(0,E.jsxs)(`span`,{className:`inline-flex items-center`,children:[o,s]}),t[5]=o,t[6]=c),c}function se(e){let t=(0,w.c)(13),{text:n}=e,[r,a]=(0,T.useState)(!1),o;t[0]===n?o=t[1]:(o=n.split(` +`).length>3||n.length>240,t[0]=n,t[1]=o);let s=o,c=s&&!r&&`line-clamp-3`,l;t[2]===c?l=t[3]:(l=i(`m-0 whitespace-pre-line`,c),t[2]=c,t[3]=l);let u;t[4]!==l||t[5]!==n?(u=(0,E.jsx)(`p`,{className:l,children:n}),t[4]=l,t[5]=n,t[6]=u):u=t[6];let d;t[7]!==s||t[8]!==r?(d=s&&(0,E.jsx)(`button`,{type:`button`,"aria-expanded":r,onClick:()=>a(!r),className:`-mb-2 inline-flex h-11 items-center text-sm text-cyan-text hover:underline`,children:r?`Weniger zeigen`:`Ganze Zusammenfassung zeigen`}),t[7]=s,t[8]=r,t[9]=d):d=t[9];let f;return t[10]!==u||t[11]!==d?(f=(0,E.jsxs)(`div`,{className:`flex flex-col items-start`,children:[u,d]}),t[10]=u,t[11]=d,t[12]=f):f=t[12],f}function ce(e){let t=(0,w.c)(13),{d:n}=e,r;t[0]===n.packages?r=t[1]:(r=n.packages??[],t[0]=n.packages,t[1]=r);let i=r,o,s;if(t[2]!==n.held_back||t[3]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=n.held_back??[];if(i.length===0&&e.length===0){s=null;break bb0}let r;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,E.jsx)(a,{"aria-hidden":!0,className:`size-4 transition-transform group-open:rotate-90`}),t[6]=r):r=t[6];let c=i.length===0?`Was Ubuntu zurückhält (${e.length})`:i.length===1?`Das Paket ansehen`:`Alle ${i.length} Pakete ansehen`,l;t[7]===c?l=t[8]:(l=(0,E.jsxs)(`summary`,{className:`inline-flex h-11 cursor-pointer items-center gap-1 text-sm text-cyan-text hover:underline`,children:[r,c]}),t[7]=c,t[8]=l);let u;t[9]===i?u=t[10]:(u=i.map(A),t[9]=i,t[10]=u);let d;t[11]===u?d=t[12]:(d=(0,E.jsx)(`ul`,{className:`ziffern m-0 flex max-h-64 list-none flex-col gap-1 overflow-auto rounded-xl bg-black/30 ring-1 ring-white/[0.07] ring-inset p-2.5 text-xs`,children:u}),t[11]=u,t[12]=d),o=(0,E.jsxs)(`details`,{className:`group`,children:[l,d,e.length>0&&(0,E.jsxs)(`p`,{className:`mt-2 text-xs text-text-3`,children:[`Dazu `,e.length===1?`kommt ein Paket`:`kommen ${e.length} Pakete`,`, die Ubuntu noch zurückhält (`,e.map(k).join(`, `),`). Die kommen von selbst, wenn Ubuntu sie freigibt.`]})]})}t[2]=n.held_back,t[3]=i,t[4]=o,t[5]=s}else o=t[4],s=t[5];return s===Symbol.for(`react.early_return_sentinel`)?o:s}function k(e){return e.name}function A(e){return(0,E.jsxs)(`li`,{className:`break-all`,children:[(0,E.jsx)(`span`,{className:`text-foreground`,children:e.name}),` `,(0,E.jsxs)(`span`,{className:`text-text-3`,children:[e.current,` → `,e.candidate]})]},e.name)}function le(e){let t=(0,w.c)(6),{d:n}=e;if(n.action_needed===!1){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,E.jsx)(c,{art:`gruen`,children:`Nichts zu tun`}),t[0]=e):e=t[0],e}if(n.action_needed!==!0)return null;let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,E.jsx)(c,{art:`bernstein`,children:`Du musst etwas tun`}),t[1]=r):r=t[1];let i;t[2]===n.action_text?i=t[3]:(i=n.action_text&&(0,E.jsx)(`span`,{className:`text-bernstein`,children:n.action_text}),t[2]=n.action_text,t[3]=i);let a;return t[4]===i?a=t[5]:(a=(0,E.jsxs)(`span`,{className:`flex flex-col items-start gap-1.5`,children:[r,i]}),t[4]=i,t[5]=a),a}function j(e){let t=e?.trim();return t?t.startsWith(`(Zusammenfassung nicht verfügbar`)?`Die Zusammenfassung ist gerade nicht verfügbar.`:t:null}function M(e){let t=(0,w.c)(70),{id:n,name:r,details:i,hatUpdate:a,neuLautStart:o,fest:s,gesperrt:c,onStart:l,onFreigeben:d}=e,f=i.data,p=i.isPending,m=i.isError?i.error.message:f?.error,ee;t[0]!==f||t[1]!==n?(ee=f?b(n,f):null,t[0]=f,t[1]=n,t[2]=ee):ee=t[2];let te=ee,h=a?te?.neu??o??null:null,_=f?.summary,ne;t[3]===_?ne=t[4]:(ne=j(_),t[3]=_,t[4]=ne);let re=ne,v=te&&te.laeuft!==`–`?te.laeuft:m?`unbekannt`:`–`,y;t[5]!==p||t[6]!==v?(y=p?(0,E.jsx)(oe,{}):(0,E.jsx)(E.Fragment,{children:v}),t[5]=p,t[6]=v,t[7]=y):y=t[7];let x=y,ae;t[8]!==m||t[9]!==p||t[10]!==h?(ae=p?(0,E.jsx)(oe,{breit:`w-20`}):h?(0,E.jsx)(`span`,{className:`text-cyan-text`,children:h}):m?(0,E.jsx)(`span`,{className:`text-bernstein`,children:`nicht geprüft`}):(0,E.jsx)(`span`,{className:`text-text-3`,children:`–`}),t[8]=m,t[9]=p,t[10]=h,t[11]=ae):ae=t[11];let C=ae,T;if(p){let e;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,E.jsx)(`span`,{className:`text-text-3`,children:`Wird geprüft …`}),t[12]=e):e=t[12],T=e}else if(m&&!a){let e;t[13]===m?e=t[14]:(e=S(m),t[13]=m,t[14]=e);let n;t[15]===e?n=t[16]:(n=(0,E.jsx)(`span`,{className:`text-bernstein`,children:e}),t[15]=e,t[16]=n),T=n}else if(!a)T=`Aktuell.`;else{let e;t[17]===m?e=t[18]:(e=m&&(0,E.jsx)(`span`,{className:`text-bernstein`,children:S(m)}),t[17]=m,t[18]=e);let r;t[19]===f?r=t[20]:(r=f&&(0,E.jsx)(le,{d:f}),t[19]=f,t[20]=r);let i;t[21]!==f||t[22]!==n||t[23]!==re?(i=n===`os`?(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(`span`,{children:f?.count?`${f.count} ${f.count===1?`Paket`:`Pakete`} aus Ubuntu.`:`Neue Pakete aus Ubuntu.`}),f&&(0,E.jsx)(ce,{d:f})]}):re?(0,E.jsx)(se,{text:re}):null,t[21]=f,t[22]=n,t[23]=re,t[24]=i):i=t[24];let a;t[25]!==e||t[26]!==r||t[27]!==i?(a=(0,E.jsxs)(`div`,{className:`flex flex-col items-start gap-2`,children:[e,r,i]}),t[25]=e,t[26]=r,t[27]=i,t[28]=a):a=t[28],T=a}let D=p||void 0,O;t[29]===n?O=t[30]:(O=g(n),t[29]=n,t[30]=O);let k;t[31]===O?k=t[32]:(k=(0,E.jsx)(u,{bild:O,groesse:`sm`}),t[31]=O,t[32]=k);let A;t[33]===r?A=t[34]:(A=(0,E.jsx)(`span`,{className:`min-w-0`,children:r}),t[33]=r,t[34]=A);let M;t[35]!==k||t[36]!==A?(M=(0,E.jsxs)(`span`,{role:`rowheader`,className:`flex min-w-0 items-center gap-3 text-[15px] font-semibold`,children:[k,A]}),t[35]=k,t[36]=A,t[37]=M):M=t[37];let N;t[38]!==m||t[39]!==p||t[40]!==h||t[41]!==C?(N=!p&&(h||m)&&(0,E.jsxs)(E.Fragment,{children:[` `,h?`→`:`·`,` `,C]}),t[38]=m,t[39]=p,t[40]=h,t[41]=C,t[42]=N):N=t[42];let P;t[43]!==x||t[44]!==N?(P=(0,E.jsxs)(`span`,{role:`cell`,className:`ziffern -mt-1 text-sm text-text-2 md:hidden`,children:[x,N]}),t[43]=x,t[44]=N,t[45]=P):P=t[45];let F;t[46]===x?F=t[47]:(F=(0,E.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm text-text-2 md:block`,children:x}),t[46]=x,t[47]=F);let I;t[48]===C?I=t[49]:(I=(0,E.jsx)(`span`,{role:`cell`,className:`ziffern hidden text-sm md:block`,children:C}),t[48]=C,t[49]=I);let L;t[50]!==s||t[51]!==r?(L=s&&(0,E.jsxs)(`span`,{className:`mb-1.5 block text-bernstein`,children:[`Festgehalten seit `,s.seit,` auf `,s.version,`: `,s.grund,`. Der Sonntags-Lauf überspringt `,r,`.`]}),t[50]=s,t[51]=r,t[52]=L):L=t[52];let R;t[53]!==L||t[54]!==T?(R=(0,E.jsxs)(`div`,{role:`cell`,className:`text-sm leading-relaxed text-text-2`,children:[L,T]}),t[53]=L,t[54]=T,t[55]=R):R=t[55];let z;t[56]!==s||t[57]!==c||t[58]!==a||t[59]!==d||t[60]!==l?(z=(s||a)&&(0,E.jsxs)(`span`,{role:`cell`,className:`flex flex-wrap gap-2 md:flex-col md:items-end`,children:[s&&(0,E.jsx)(ie,{variant:`outline`,size:`sm`,onClick:d,children:`Freigeben`}),a&&(0,E.jsx)(ie,{variant:`outline`,size:`sm`,onClick:l,disabled:c,children:`Aktualisieren`})]}),t[56]=s,t[57]=c,t[58]=a,t[59]=d,t[60]=l,t[61]=z):z=t[61];let ue;return t[62]!==M||t[63]!==P||t[64]!==F||t[65]!==I||t[66]!==R||t[67]!==z||t[68]!==D?(ue=(0,E.jsxs)(`div`,{role:`row`,"aria-busy":D,className:`grid grid-cols-1 gap-x-4 gap-y-2 border-t border-white/[0.06] py-3.5 md:grid-cols-[210px_100px_170px_minmax(0,1fr)_auto] md:items-start`,children:[M,P,F,I,R,z]}),t[62]=M,t[63]=P,t[64]=F,t[65]=I,t[66]=R,t[67]=z,t[68]=D,t[69]=ue):ue=t[69],ue}var N={rot:`rot`,gelb:`bernstein`,gruen:`gruen`,info:`cyan`,grau:`grau`},P={rot:`bg-rot`,gelb:`bg-bernstein`,gruen:`bg-gruen`,info:`bg-cyan`,grau:`bg-text-3`};function F(e){let t=(0,w.c)(19),{lauf:n}=e,r;t[0]===n.start?r=t[1]:(r=o(n.start),t[0]=n.start,t[1]=r);let i;t[2]===r?i=t[3]:(i=(0,E.jsx)(`span`,{className:`ziffern col-start-1 row-start-1 text-sm text-text-3`,children:r}),t[2]=r,t[3]=i);let a;t[4]===n.anlass?a=t[5]:(a=(0,E.jsx)(`span`,{className:`col-span-2 row-start-2 min-w-0 text-[15px] break-words @sm:col-span-1 @sm:col-start-2 @sm:row-start-1`,children:n.anlass}),t[4]=n.anlass,t[5]=a);let s=N[n.stufe],l;t[6]!==n.titel||t[7]!==s?(l=(0,E.jsx)(`span`,{className:`col-start-2 row-start-1 justify-self-end @sm:col-start-3`,children:(0,E.jsx)(c,{art:s,children:n.titel})}),t[6]=n.titel,t[7]=s,t[8]=l):l=t[8];let u;t[9]!==i||t[10]!==a||t[11]!==l?(u=(0,E.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,1fr)_auto] items-center gap-x-3 gap-y-1 @sm:grid-cols-[112px_minmax(0,1fr)_auto]`,children:[i,a,l]}),t[9]=i,t[10]=a,t[11]=l,t[12]=u):u=t[12];let d;t[13]!==n.stufe||t[14]!==n.zeilen?(d=n.stufe!==`grau`&&n.zeilen.length>0&&(0,E.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0 @sm:pl-[124px]`,children:n.zeilen.map(I)}),t[13]=n.stufe,t[14]=n.zeilen,t[15]=d):d=t[15];let f;return t[16]!==u||t[17]!==d?(f=(0,E.jsxs)(`li`,{className:`flex flex-col gap-2 border-t border-white/[0.06] py-3`,children:[u,d]}),t[16]=u,t[17]=d,t[18]=f):f=t[18],f}function I(e){return(0,E.jsxs)(`li`,{className:`flex items-baseline gap-2 text-sm leading-snug text-text-2`,children:[(0,E.jsx)(`span`,{"aria-hidden":!0,className:i(`size-1.5 shrink-0 -translate-y-px rounded-full`,P[e.stufe])}),(0,E.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,E.jsx)(`span`,{className:`text-foreground`,children:e.baustein}),` · `,e.text]})]},`${e.baustein}-${e.text}`)}function L(e){return e.mtime?o(new Date(e.mtime*1e3).toISOString()):e.snapshot}function R(){let e=(0,w.c)(126),t=s(),n=re(!0).data?.update_fenster,r=p(),i=ee(),a=m(),o=te(),c=h(),u=f(),g=d(),[_,b]=(0,T.useState)(null),x;e[0]===t.data?.updates.bausteine?x=e[1]:(x=new Map((t.data?.updates.bausteine??[]).map(me)),e[0]=t.data?.updates.bausteine,e[1]=x);let S=x,oe=new Map((t.data?.updates.festgehalten??[]).map(pe)),se;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(se=D.map(fe),e[2]=se):se=e[2];let ce=ne(se),k;e[3]!==ce||e[4]!==S?(k=(e,t)=>ae(e.id,ce[t].data)??S.has(e.id),e[3]=ce,e[4]=S,e[5]=k):k=e[5];let A=D.map(k),le;e[6]===r.data?.jobs?le=e[7]:(le=r.data?.jobs??[],e[6]=r.data?.jobs,e[7]=le);let j=le,N;e[8]!==j||e[9]!==t.data?.zustand?(N=j.some(de)||(t.data?.zustand.update_laeuft??!1),e[8]=j,e[9]=t.data?.zustand,e[10]=N):N=e[10];let P=N,F;e[11]===j?F=e[12]:(F=j.some(ue),e[11]=j,e[12]=F);let I=F,R=P||o.isPending,B=a.data?.available??!1,V;if(t.isPending){let t;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(l,{text:`Updates werden gelesen …`}),e[13]=t):t=e[13],V=t}else if(t.isError&&!t.data){let n=`Die Box antwortet nicht: ${t.error.message}`,r;e[14]===n?r=e[15]:(r=(0,E.jsx)(l,{fehler:!0,text:n}),e[14]=n,e[15]=r),V=r}else{let t;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsxs)(`div`,{role:`row`,className:`etikett hidden grid-cols-[210px_100px_170px_minmax(0,1fr)_auto] gap-x-4 pb-2 text-[10.5px] tracking-[0.14em] text-text-3 md:grid`,children:[(0,E.jsx)(`span`,{role:`columnheader`,children:`Baustein`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Läuft`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Neu`}),(0,E.jsx)(`span`,{role:`columnheader`,children:`Was sich ändert`}),(0,E.jsx)(`span`,{role:`columnheader`,className:`sr-only`,children:`Aktion`})]}),e[16]=t):t=e[16],V=(0,E.jsxs)(`div`,{role:`table`,"aria-label":`Bausteine und ihre Updates`,className:`flex flex-col`,children:[t,D.map((e,t)=>(0,E.jsx)(M,{id:e.id,name:e.name,details:ce[t],hatUpdate:A[t],neuLautStart:S.get(e.id),fest:oe.get(e.id),gesperrt:R,onStart:()=>b({art:`einzeln`,id:e.id,name:e.name}),onFreigeben:()=>{let t=oe.get(e.id);t&&b({art:`freigeben`,id:e.id,name:e.name,grund:t.grund})}},e.id))]})}let H;if(i.isPending){let t;e[17]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[17]=t):t=e[17],H=t}else if(i.isError&&!i.data){let t;e[18]===i.error.message?t=e[19]:(t=(0,E.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Der Verlauf lässt sich gerade nicht lesen: `,i.error.message]}),e[18]=i.error.message,e[19]=t),H=t}else if(i.data?.laeufe.length){let t;e[21]===i.data.laeufe?t=e[22]:(t=i.data.laeufe.map(z),e[21]=i.data.laeufe,e[22]=t);let n;e[23]===t?n=e[24]:(n=(0,E.jsx)(`ol`,{className:`@container m-0 flex list-none flex-col p-0`,children:t}),e[23]=t,e[24]=n),H=n}else{let t;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Update-Läufe aufgezeichnet.`}),e[20]=t):t=e[20],H=t}let U;if(a.isPending){let t;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Wird gelesen …`}),e[25]=t):t=e[25],U=t}else if(a.isError&&!a.data){let t;e[26]===a.error.message?t=e[27]:(t=(0,E.jsxs)(`p`,{role:`alert`,className:`text-[15px] text-rot-text`,children:[`Die Sicherungen lassen sich gerade nicht lesen: `,a.error.message]}),e[26]=a.error.message,e[27]=t),U=t}else if(a.data?.backups.length){let t;if(e[29]!==a.data.backups||e[30]!==g.isPending||e[31]!==B){let n;e[33]!==g.isPending||e[34]!==B?(n=e=>(0,E.jsxs)(`li`,{className:`flex items-center justify-between gap-3 border-t border-white/[0.06] py-2.5`,children:[(0,E.jsx)(`span`,{className:`ziffern text-sm`,children:L(e)}),(0,E.jsxs)(`span`,{className:`flex items-center gap-3`,children:[(0,E.jsxs)(`span`,{className:`ziffern text-xs text-text-3`,children:[e.size_mb.toLocaleString(`de-DE`),` MB`]}),(0,E.jsx)(ie,{variant:`ghost`,size:`sm`,disabled:!B||g.isPending,onClick:()=>b({art:`zurueck`,datei:e.file,zeit:L(e)}),children:`Zurückspielen`})]})]},e.file),e[33]=g.isPending,e[34]=B,e[35]=n):n=e[35],t=a.data.backups.slice(0,5).map(n),e[29]=a.data.backups,e[30]=g.isPending,e[31]=B,e[32]=t}else t=e[32];let n;e[36]===t?n=e[37]:(n=(0,E.jsx)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:t}),e[36]=t,e[37]=n),U=n}else{let t;e[28]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,E.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Sicherung vorhanden.`}),e[28]=t):t=e[28],U=t}let he=y,W;e[38]===o?W=e[39]:(W=()=>o.mutate(`pruefen`),e[38]=o,e[39]=W);let ge=o.isPending||I,_e=I?`Sucht …`:`Nach Neuem suchen`,G;e[40]!==_e||e[41]!==W||e[42]!==ge?(G=(0,E.jsx)(ie,{variant:`outline`,onClick:W,disabled:ge,children:_e}),e[40]=_e,e[41]=W,e[42]=ge,e[43]=G):G=e[43];let ve=ie,K;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>b({art:`alle`}),e[44]=K):K=e[44];let ye=R||!A.some(Boolean),q;e[45]!==ve||e[46]!==K||e[47]!==ye?(q=(0,E.jsx)(ve,{onClick:K,disabled:ye,children:`Alles jetzt aktualisieren`}),e[45]=ve,e[46]=K,e[47]=ye,e[48]=q):q=e[48];let J;e[49]!==G||e[50]!==q?(J=(0,E.jsxs)(`div`,{className:`flex flex-wrap gap-2.5`,children:[G,q]}),e[49]=G,e[50]=q,e[51]=J):J=e[51];let be=n?`Jeden ${n.tag_name} um ${n.uhrzeit} automatisch.`:`Einmal pro Woche automatisch.`,xe;e[52]===be?xe=e[53]:(xe=(0,E.jsxs)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:[be,` Vorher wird gesichert, danach geprüft.`]}),e[52]=be,e[53]=xe);let Y;e[54]===P?Y=e[55]:(Y=P&&(0,E.jsx)(`p`,{role:`status`,className:`text-[15px] text-cyan-text`,children:`Gerade läuft ein Update. Weitere lassen sich erst starten, wenn es fertig ist.`}),e[54]=P,e[55]=Y);let Se;e[56]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,E.jsx)(C,{}),e[56]=Se):Se=e[56];let X;e[57]!==he||e[58]!==J||e[59]!==xe||e[60]!==Y||e[61]!==V?(X=(0,E.jsxs)(he,{titel:`Updates`,rechts:J,children:[xe,Y,V,Se]}),e[57]=he,e[58]=J,e[59]=xe,e[60]=Y,e[61]=V,e[62]=X):X=e[62];let Z;e[63]===H?Z=e[64]:(Z=(0,E.jsx)(y,{titel:`Verlauf`,children:H}),e[63]=H,e[64]=Z);let Ce;e[65]===u?Ce=e[66]:(Ce=()=>u.mutate(void 0),e[65]=u,e[66]=Ce);let we=u.isPending?`Sichert …`:`Jetzt sichern`,Q;e[67]!==u.isPending||e[68]!==Ce||e[69]!==we?(Q=(0,E.jsx)(ie,{variant:`outline`,size:`sm`,onClick:Ce,disabled:u.isPending,children:we}),e[67]=u.isPending,e[68]=Ce,e[69]=we,e[70]=Q):Q=e[70];let Te;e[71]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,E.jsx)(`p`,{className:`-mt-2 text-[15px] text-text-2`,children:`Täglich um 03:35, mit Kopie auf einem zweiten Gerät.`}),e[71]=Te):Te=e[71];let Ee;e[72]!==a.data||e[73]!==B?(Ee=a.data&&!B&&(0,E.jsx)(`p`,{className:`text-sm text-text-3`,children:`Zurückspielen geht nur auf der Box selbst.`}),e[72]=a.data,e[73]=B,e[74]=Ee):Ee=e[74];let De;e[75]!==U||e[76]!==Q||e[77]!==Ee?(De=(0,E.jsxs)(y,{titel:`Sicherungen`,rechts:Q,children:[Te,Ee,U]}),e[75]=U,e[76]=Q,e[77]=Ee,e[78]=De):De=e[78];let Oe;e[79]!==Z||e[80]!==De?(Oe=(0,E.jsxs)(`div`,{className:`grid gap-5 md:gap-6 lg:grid-cols-[minmax(0,1.4fr)_minmax(0,1fr)]`,children:[Z,De]}),e[79]=Z,e[80]=De,e[81]=Oe):Oe=e[81];let ke=_?.art===`alle`,Ae;e[82]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=()=>b(null),e[82]=Ae):Ae=e[82];let je;e[83]!==_?.art||e[84]!==o?(je=()=>{_?.art===`alle`&&o.mutate(`alle`),b(null)},e[83]=_?.art,e[84]=o,e[85]=je):je=e[85];let Me;e[86]!==R||e[87]!==ke||e[88]!==je?(Me=(0,E.jsx)(v,{offen:ke,titel:`Alles jetzt aktualisieren?`,text:`Motor, llama-swap, Hermes und Betriebssystem werden nacheinander aktualisiert, soweit es Neues gibt, und danach geprüft. Motor und llama-swap holen bei Problemen ihren alten Stand von selbst zurück, vor Hermes wird gesichert. Lucy ist dabei ein paar Minuten nicht erreichbar.`,knopf:`Aktualisieren`,gesperrt:R,onNein:Ae,onJa:je}),e[86]=R,e[87]=ke,e[88]=je,e[89]=Me):Me=e[89];let Ne=_?.art===`einzeln`,Pe=_?.art===`einzeln`?`${_.name} aktualisieren?`:``,Fe=_?.art===`einzeln`?O[_.id]??``:``,Ie;e[90]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=()=>b(null),e[90]=Ie):Ie=e[90];let Le;e[91]!==_||e[92]!==o?(Le=()=>{_?.art===`einzeln`&&o.mutate(_.id),b(null)},e[91]=_,e[92]=o,e[93]=Le):Le=e[93];let Re;e[94]!==R||e[95]!==Ne||e[96]!==Pe||e[97]!==Fe||e[98]!==Le?(Re=(0,E.jsx)(v,{offen:Ne,titel:Pe,text:Fe,knopf:`Aktualisieren`,gesperrt:R,onNein:Ie,onJa:Le}),e[94]=R,e[95]=Ne,e[96]=Pe,e[97]=Fe,e[98]=Le,e[99]=Re):Re=e[99];let ze=_?.art===`freigeben`,Be=_?.art===`freigeben`?`${_.name} freigeben?`:``,Ve=_?.art===`freigeben`?`Festgehalten wurde ${_.name}, weil: ${_.grund}. Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`:``,He;e[100]===Symbol.for(`react.memo_cache_sentinel`)?(He=()=>b(null),e[100]=He):He=e[100];let Ue;e[101]!==_||e[102]!==c?(Ue=()=>{_?.art===`freigeben`&&c.mutate(_.id),b(null)},e[101]=_,e[102]=c,e[103]=Ue):Ue=e[103];let We;e[104]!==c.isPending||e[105]!==ze||e[106]!==Be||e[107]!==Ve||e[108]!==Ue?(We=(0,E.jsx)(v,{offen:ze,titel:Be,text:Ve,knopf:`Freigeben`,gesperrt:c.isPending,onNein:He,onJa:Ue}),e[104]=c.isPending,e[105]=ze,e[106]=Be,e[107]=Ve,e[108]=Ue,e[109]=We):We=e[109];let Ge=_?.art===`zurueck`,Ke=`Die Einstellungen von Hermes und llama-swap werden auf den Stand von ${_?.art===`zurueck`?_.zeit:``} gesetzt. Vorher wird der jetzige Stand gesichert. Die Dienste starten danach neu.`,qe;e[110]===Symbol.for(`react.memo_cache_sentinel`)?(qe=()=>b(null),e[110]=qe):qe=e[110];let Je;e[111]!==_||e[112]!==g?(Je=()=>{_?.art===`zurueck`&&g.mutate(_.datei),b(null)},e[111]=_,e[112]=g,e[113]=Je):Je=e[113];let $;e[114]!==Ge||e[115]!==Ke||e[116]!==Je||e[117]!==g.isPending?($=(0,E.jsx)(v,{offen:Ge,gefahr:!0,titel:`Sicherung zurückspielen?`,text:Ke,knopf:`Zurückspielen`,gesperrt:g.isPending,onNein:qe,onJa:Je}),e[114]=Ge,e[115]=Ke,e[116]=Je,e[117]=g.isPending,e[118]=$):$=e[118];let Ye;return e[119]!==X||e[120]!==Oe||e[121]!==Me||e[122]!==Re||e[123]!==We||e[124]!==$?(Ye=(0,E.jsxs)(E.Fragment,{children:[X,Oe,Me,Re,We,$]}),e[119]=X,e[120]=Oe,e[121]=Me,e[122]=Re,e[123]=We,e[124]=$,e[125]=Ye):Ye=e[125],Ye}function z(e){return(0,E.jsx)(F,{lauf:e},e.start)}function ue(e){return x(e)&&_(e)}function de(e){return e.group===`maintenance`&&_(e)}function fe(e){return e.id}function pe(e){return[e.baustein,e]}function me(e){return[e.id,e.neu]}export{R as UpdatesSeite}; \ No newline at end of file diff --git a/frontend/dist/assets/dist-D-yM169e.js b/frontend/dist/assets/dist-C2HMtjaj.js similarity index 99% rename from frontend/dist/assets/dist-D-yM169e.js rename to frontend/dist/assets/dist-C2HMtjaj.js index 2506dcb..0e6c178 100644 --- a/frontend/dist/assets/dist-D-yM169e.js +++ b/frontend/dist/assets/dist-C2HMtjaj.js @@ -1,4 +1,4 @@ -import{a as e,c as t,i as n}from"./dist-aE7UmubC.js";import{kn as r}from"./index-CJ1jXWsM.js";import{n as i,r as a}from"./button-DwYvdWVr.js";var o=t(e(),1),s=t(r(),1),c=n(),l=Object.defineProperty,u=(e,t)=>l(e,`name`,{value:t,configurable:!0}),d=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=i(`Primitive.${t}`),r=o.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,c.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function f(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}u(f,`dispatchDiscreteCustomEvent`);var p=Object.defineProperty,m=(e,t)=>p(e,`name`,{value:t,configurable:!0});function h(e,t){let n=o.createContext(t);n.displayName=e+`Context`;let r=m(e=>{let{children:t,...r}=e,i=o.useMemo(()=>r,Object.values(r));return(0,c.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,s=o.useContext(n);if(s)return s;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return m(i,`useContext`),[r,i]}m(h,`createContext`);function g(e,t=[]){let n=[];function r(t,r){let i=o.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let s=m(t=>{let{scope:n,children:r,...s}=t,l=n?.[e]?.[a]||i,u=o.useMemo(()=>s,Object.values(s));return(0,c.jsx)(l.Provider,{value:u,children:r})},`Provider`);s.displayName=t+`Provider`;function l(n,s,c={}){let{optional:l=!1}=c,u=s?.[e]?.[a]||i,d=o.useContext(u);if(d)return d;if(r!==void 0)return r;if(!l)throw Error(`\`${n}\` must be used within \`${t}\``)}return m(l,`useContext`),[s,l]}m(r,`createContext`);let i=m(()=>{let t=n.map(e=>o.createContext(e));return m(function(n){let r=n?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,_(i,...t)]}m(g,`createContextScope`);function _(...e){let t=e[0];if(e.length===1)return t;let n=m(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return m(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}m(_,`composeContextScopes`);var v=Object.defineProperty,y=(e,t)=>v(e,`name`,{value:t,configurable:!0}),b=!!(typeof window<`u`&&window.document&&window.document.createElement);function x(e,t,{checkForDefaultPrevented:n=!0}={}){return y(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}y(x,`composeEventHandlers`);function S(e){if(!b)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}y(S,`getOwnerWindow`);function C(e){if(!b)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}y(C,`getOwnerDocument`);function w(e,t=!1){let{activeElement:n}=C(e);if(!n?.nodeName)return null;if(ee(n)&&n.contentDocument)return w(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=C(n).getElementById(e);if(t)return t}}return n}y(w,`getActiveElement`);function ee(e){return e.tagName===`IFRAME`}y(ee,`isFrame`);var T=globalThis?.document?o.useLayoutEffect:()=>{},te=Object.defineProperty,ne=(e,t)=>te(e,`name`,{value:t,configurable:!0}),E=o.useEffectEvent,D=o.useInsertionEffect;function O(e){if(typeof E==`function`)return E(e);let t=o.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof D==`function`?D(()=>{t.current=e}):T(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}ne(O,`useEffectEvent`);var re=Object.defineProperty,k=(e,t)=>re(e,`name`,{value:t,configurable:!0}),ie=o.useInsertionEffect||T;function ae({prop:e,defaultProp:t,onChange:n=k(()=>{},`onChange`),caller:r}){let[i,a,s]=oe({defaultProp:t,onChange:n}),c=e!==void 0;return[c?e:i,o.useCallback(t=>{if(c){let n=se(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)},[c,e,a,s])]}k(ae,`useControllableState`);function oe({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return ie(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}k(oe,`useUncontrolledState`);function se(e){return typeof e==`function`}k(se,`isFunction`);var ce=Symbol(`RADIX:SYNC_STATE`);function le(e,t,n,r){let{prop:i,defaultProp:a,onChange:s,caller:c}=t,l=i!==void 0,u=O(s),d=[{...n,state:a}];r&&d.push(r);let[f,p]=o.useReducer((t,n)=>{if(n.type===ce)return{...t,state:n.state};let r=e(t,n);return l&&!Object.is(r.state,t.state)&&u(r.state),r},...d),m=f.state,h=o.useRef(m);o.useEffect(()=>{h.current!==m&&(h.current=m,l||u(m))},[m,h,l]);let g=o.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return o.useEffect(()=>{l&&!Object.is(i,f.state)&&p({type:ce,state:i})},[i,f.state,l]),[g,p]}k(le,`useControllableStateReducer`);var ue=Object.defineProperty,A=(e,t)=>ue(e,`name`,{value:t,configurable:!0});function de(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}A(de,`useStateMachine`);var fe=A(e=>{let{present:t,children:n}=e,r=pe(t),i=typeof n==`function`?n({present:r.isPresent}):o.Children.only(n),a=he(r.ref,ge(i));return typeof n==`function`||r.isPresent?o.cloneElement(i,{ref:a}):null},`Presence`);function pe(e){let[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef(`none`),s=o.useRef(void 0),[c,l]=de(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return o.useEffect(()=>{c===`mounted`?(a.current=s.current??j(r.current),s.current=void 0):a.current=`none`},[c]),T(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=j(t);e?(s.current=o,l(`MOUNT`)):o===`none`||t?.display===`none`?l(`UNMOUNT`):l(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,l]),T(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=A(a=>{let o=j(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(l(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=A(e=>{e.target===t&&(a.current=j(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}l(`ANIMATION_END`)},[t,l]),{isPresent:[`mounted`,`unmountSuspended`].includes(c),ref:o.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,s.current=j(t)}else r.current=null;n(e)},[])}}A(pe,`usePresence`);function me(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}A(me,`setRef`);function he(...e){let t=o.useRef(e);return t.current=e,o.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=me(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e_e(e,`name`,{value:t,configurable:!0}),ye=o.useId||(()=>void 0),be=0;function M(e){let[t,n]=o.useState(ye());return T(()=>{e||n(e=>e??String(be++))},[e]),e||(t?`radix-${t}`:``)}ve(M,`useId`);var xe=Object.defineProperty,Se=(e,t)=>xe(e,`name`,{value:t,configurable:!0});function N(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}Se(N,`useCallbackRef`);var Ce=Object.defineProperty,P=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),we=`dismissableLayer.update`,Te=`dismissableLayer.pointerDownOutside`,Ee=`dismissableLayer.focusOutside`,De,Oe=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ke=o.forwardRef(P(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:u,onDismiss:f,...p}=e,m=o.useContext(Oe),[h,g]=o.useState(null),_=h?.ownerDocument??globalThis?.document,[,v]=o.useState({}),y=a(t,g),b=Array.from(m.layers),[S]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),C=S?b.indexOf(S):-1,w=h?b.indexOf(h):-1,ee=m.layersWithOutsidePointerEventsDisabled.size>0,T=w>=C,te=o.useRef(!1),ne=Me(e=>{s?.(e),u?.(e),e.defaultPrevented||f?.()},{ownerDocument:_,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:te,dismissableSurfaces:m.dismissableSurfaces,shouldHandlePointerDownOutside:o.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...m.branches].some(t=>t.contains(e));return T&&!t},[m.branches,T])}),E=Ne(e=>{if(r&&te.current)return;let t=e.target;[...m.branches].some(e=>e.contains(t))||(l?.(e),u?.(e),e.defaultPrevented||f?.())},_),D=h?w===b.length-1:!1,O=N(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))});return o.useEffect(()=>{if(D)return _.addEventListener(`keydown`,O,{capture:!0}),()=>_.removeEventListener(`keydown`,O,{capture:!0})},[_,D,O]),o.useEffect(()=>{if(h)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(De=_.body.style.pointerEvents,_.body.style.pointerEvents=`none`),m.layersWithOutsidePointerEventsDisabled.add(h)),m.layers.add(h),Pe(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(h),m.layersWithOutsidePointerEventsDisabled.size===0&&(_.body.style.pointerEvents=De))}},[h,_,n,m]),o.useEffect(()=>()=>{h&&(m.layers.delete(h),m.layersWithOutsidePointerEventsDisabled.delete(h),Pe())},[h,m]),o.useEffect(()=>{let e=P(()=>v({}),`handleUpdate`);return document.addEventListener(we,e),()=>document.removeEventListener(we,e)},[]),(0,c.jsx)(d.div,{...p,ref:y,style:{pointerEvents:ee?T?`auto`:`none`:void 0,...e.style},onFocusCapture:x(e.onFocusCapture,E.onFocusCapture),onBlurCapture:x(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:x(e.onPointerDownCapture,ne.onPointerDownCapture)})},`DismissableLayer`));function Ae(){let e=o.useContext(Oe),[t,n]=o.useState(null);return o.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}P(Ae,`useDismissableLayerSurface`);var je=P(()=>!0,`IS_TRUE`);function Me(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:s=je}=t,c=N(e),l=o.useRef(!1),u=o.useRef(!1),d=o.useRef(new Map),f=o.useRef(()=>{});return o.useEffect(()=>{function e(){u.current=!1,i.current=!1,d.current.clear()}P(e,`resetOutsideInteraction`);function t(){return Array.from(d.current.values()).some(Boolean)}P(t,`isOutsideInteractionIntercepted`);function o(e){if(!u.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{u.current&&f.current()},0)}P(o,`handleInteractionCapture`);function p(e){u.current&&d.current.set(e.type,!1)}P(p,`handleInteractionBubble`);let m=P(a=>{if(a.target&&!l.current){let o=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||Fe(Te,c,p,{discrete:!0})};if(P(o,`handleAndDispatchPointerDownOutsideEvent`),!s(a.target)){n.removeEventListener(`click`,f.current),e(),l.current=!1;return}let p={originalEvent:a};u.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?o():(n.removeEventListener(`click`,f.current),f.current=o,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();l.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,o,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,o,!0),n.removeEventListener(e,p)}},[n,c,r,i,a,s]),{onPointerDownCapture:P(()=>l.current=!0,`onPointerDownCapture`)}}P(Me,`usePointerDownOutside`);function Ne(e,t=globalThis?.document){let n=N(e),r=o.useRef(!1);return o.useEffect(()=>{let e=P(e=>{e.target&&!r.current&&Fe(Ee,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:P(()=>r.current=!0,`onFocusCapture`),onBlurCapture:P(()=>r.current=!1,`onBlurCapture`)}}P(Ne,`useFocusOutside`);function Pe(){let e=new CustomEvent(we);document.dispatchEvent(e)}P(Pe,`dispatchUpdate`);function Fe(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?f(i,a):i.dispatchEvent(a)}P(Fe,`handleAndDispatchCustomEvent`);var Ie=Object.defineProperty,F=(e,t)=>Ie(e,`name`,{value:t,configurable:!0}),Le=`focusScope.autoFocusOnMount`,Re=`focusScope.autoFocusOnUnmount`,ze={bubbles:!1,cancelable:!0},Be=o.forwardRef(F(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...l}=e,[u,f]=o.useState(null),p=N(i),m=N(s),h=o.useRef(null),g=a(t,f),_=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let e=function(e){if(_.paused||!u)return;let t=e.target;u.contains(t)?h.current=t:I(h.current,{select:!0})},t=function(e){if(_.paused||!u)return;let t=e.relatedTarget;t!==null&&(u.contains(t)||I(h.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&I(u)};F(e,`handleFocusIn`),F(t,`handleFocusOut`),F(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return u&&r.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,u,_.paused]),o.useEffect(()=>{if(u){qe.add(_);let e=document.activeElement;if(!u.contains(e)){let t=new CustomEvent(Le,ze);u.addEventListener(Le,p),u.dispatchEvent(t),t.defaultPrevented||(Ve(Xe(Ue(u)),{select:!0}),document.activeElement===e&&I(u))}return()=>{u.removeEventListener(Le,p),setTimeout(()=>{let t=new CustomEvent(Re,ze);u.addEventListener(Re,m),u.dispatchEvent(t),t.defaultPrevented||I(e??document.body,{select:!0}),u.removeEventListener(Re,m),qe.remove(_)},0)}}},[u,p,m,_]);let v=o.useCallback(e=>{if(!n&&!r||_.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=He(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&I(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&I(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,_.paused]);return(0,c.jsx)(d.div,{tabIndex:-1,...l,ref:g,onKeyDown:v})},`FocusScope`));function Ve(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(I(r,{select:t}),document.activeElement!==n)return}F(Ve,`focusFirst`);function He(e){let t=Ue(e);return[We(t,e),We(t.reverse(),e)]}F(He,`getTabbableEdges`);function Ue(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:F(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}F(Ue,`getTabbableCandidates`);function We(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Ge(r,{upTo:t})))return r}F(We,`findVisible`);function Ge(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}F(Ge,`isHidden`);function Ke(e){return e instanceof HTMLInputElement&&`select`in e}F(Ke,`isSelectableInput`);function I(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ke(e)&&t&&e.select()}}F(I,`focus`);var qe=Je();function Je(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ye(e,t),e.unshift(t)},remove(t){e=Ye(e,t),e[0]?.resume()}}}F(Je,`createFocusScopesStack`);function Ye(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}F(Ye,`arrayRemove`);function Xe(e){return e.filter(e=>e.tagName!==`A`)}F(Xe,`removeLinks`);var Ze=Object.defineProperty,Qe=o.forwardRef(((e,t)=>Ze(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=o.useState(!1);T(()=>a(!0),[]);let l=n||i&&globalThis?.document?.body;return l?s.createPortal((0,c.jsx)(d.div,{...r,ref:t}),l):null},`Portal`)),$e=Object.defineProperty,et=(e,t)=>$e(e,`name`,{value:t,configurable:!0}),L=0,R=null;function tt(e){return nt(),e.children}et(tt,`FocusGuards`);function nt(){o.useEffect(()=>{R||={start:rt(),end:rt()};let{start:e,end:t}=R;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),L++,()=>{L===1&&(R?.start.remove(),R?.end.remove(),R=null),L=Math.max(0,L-1)}},[])}et(nt,`useFocusGuards`);function rt(){let 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}et(rt,`createFocusGuard`);var z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`u`)return Dt;var t=kt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jt=Et(),U=`data-scroll-locked`,Mt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),` +import{a as e,c as t,i as n}from"./dist-aE7UmubC.js";import{Mn as r}from"./index-CiJU28k0.js";import{n as i,r as a}from"./button-DwYvdWVr.js";var o=t(e(),1),s=t(r(),1),c=n(),l=Object.defineProperty,u=(e,t)=>l(e,`name`,{value:t,configurable:!0}),d=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=i(`Primitive.${t}`),r=o.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,c.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function f(e,t){e&&s.flushSync(()=>e.dispatchEvent(t))}u(f,`dispatchDiscreteCustomEvent`);var p=Object.defineProperty,m=(e,t)=>p(e,`name`,{value:t,configurable:!0});function h(e,t){let n=o.createContext(t);n.displayName=e+`Context`;let r=m(e=>{let{children:t,...r}=e,i=o.useMemo(()=>r,Object.values(r));return(0,c.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,s=o.useContext(n);if(s)return s;if(t!==void 0)return t;if(!a)throw Error(`\`${r}\` must be used within \`${e}\``)}return m(i,`useContext`),[r,i]}m(h,`createContext`);function g(e,t=[]){let n=[];function r(t,r){let i=o.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let s=m(t=>{let{scope:n,children:r,...s}=t,l=n?.[e]?.[a]||i,u=o.useMemo(()=>s,Object.values(s));return(0,c.jsx)(l.Provider,{value:u,children:r})},`Provider`);s.displayName=t+`Provider`;function l(n,s,c={}){let{optional:l=!1}=c,u=s?.[e]?.[a]||i,d=o.useContext(u);if(d)return d;if(r!==void 0)return r;if(!l)throw Error(`\`${n}\` must be used within \`${t}\``)}return m(l,`useContext`),[s,l]}m(r,`createContext`);let i=m(()=>{let t=n.map(e=>o.createContext(e));return m(function(n){let r=n?.[e]||t;return o.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,_(i,...t)]}m(g,`createContextScope`);function _(...e){let t=e[0];if(e.length===1)return t;let n=m(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return m(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return o.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}m(_,`composeContextScopes`);var v=Object.defineProperty,y=(e,t)=>v(e,`name`,{value:t,configurable:!0}),b=!!(typeof window<`u`&&window.document&&window.document.createElement);function x(e,t,{checkForDefaultPrevented:n=!0}={}){return y(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}y(x,`composeEventHandlers`);function S(e){if(!b)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}y(S,`getOwnerWindow`);function C(e){if(!b)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}y(C,`getOwnerDocument`);function w(e,t=!1){let{activeElement:n}=C(e);if(!n?.nodeName)return null;if(ee(n)&&n.contentDocument)return w(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=C(n).getElementById(e);if(t)return t}}return n}y(w,`getActiveElement`);function ee(e){return e.tagName===`IFRAME`}y(ee,`isFrame`);var T=globalThis?.document?o.useLayoutEffect:()=>{},te=Object.defineProperty,ne=(e,t)=>te(e,`name`,{value:t,configurable:!0}),E=o.useEffectEvent,D=o.useInsertionEffect;function O(e){if(typeof E==`function`)return E(e);let t=o.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof D==`function`?D(()=>{t.current=e}):T(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}ne(O,`useEffectEvent`);var re=Object.defineProperty,k=(e,t)=>re(e,`name`,{value:t,configurable:!0}),ie=o.useInsertionEffect||T;function ae({prop:e,defaultProp:t,onChange:n=k(()=>{},`onChange`),caller:r}){let[i,a,s]=oe({defaultProp:t,onChange:n}),c=e!==void 0;return[c?e:i,o.useCallback(t=>{if(c){let n=se(t)?t(e):t;n!==e&&s.current?.(n)}else a(t)},[c,e,a,s])]}k(ae,`useControllableState`);function oe({defaultProp:e,onChange:t}){let[n,r]=o.useState(e),i=o.useRef(n),a=o.useRef(t);return ie(()=>{a.current=t},[t]),o.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}k(oe,`useUncontrolledState`);function se(e){return typeof e==`function`}k(se,`isFunction`);var ce=Symbol(`RADIX:SYNC_STATE`);function le(e,t,n,r){let{prop:i,defaultProp:a,onChange:s,caller:c}=t,l=i!==void 0,u=O(s),d=[{...n,state:a}];r&&d.push(r);let[f,p]=o.useReducer((t,n)=>{if(n.type===ce)return{...t,state:n.state};let r=e(t,n);return l&&!Object.is(r.state,t.state)&&u(r.state),r},...d),m=f.state,h=o.useRef(m);o.useEffect(()=>{h.current!==m&&(h.current=m,l||u(m))},[m,h,l]);let g=o.useMemo(()=>i===void 0?f:{...f,state:i},[f,i]);return o.useEffect(()=>{l&&!Object.is(i,f.state)&&p({type:ce,state:i})},[i,f.state,l]),[g,p]}k(le,`useControllableStateReducer`);var ue=Object.defineProperty,A=(e,t)=>ue(e,`name`,{value:t,configurable:!0});function de(e,t){return o.useReducer((e,n)=>t[e][n]??e,e)}A(de,`useStateMachine`);var fe=A(e=>{let{present:t,children:n}=e,r=pe(t),i=typeof n==`function`?n({present:r.isPresent}):o.Children.only(n),a=he(r.ref,ge(i));return typeof n==`function`||r.isPresent?o.cloneElement(i,{ref:a}):null},`Presence`);function pe(e){let[t,n]=o.useState(),r=o.useRef(null),i=o.useRef(e),a=o.useRef(`none`),s=o.useRef(void 0),[c,l]=de(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return o.useEffect(()=>{c===`mounted`?(a.current=s.current??j(r.current),s.current=void 0):a.current=`none`},[c]),T(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=j(t);e?(s.current=o,l(`MOUNT`)):o===`none`||t?.display===`none`?l(`UNMOUNT`):l(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,l]),T(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=A(a=>{let o=j(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(l(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=A(e=>{e.target===t&&(a.current=j(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}l(`ANIMATION_END`)},[t,l]),{isPresent:[`mounted`,`unmountSuspended`].includes(c),ref:o.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,s.current=j(t)}else r.current=null;n(e)},[])}}A(pe,`usePresence`);function me(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}A(me,`setRef`);function he(...e){let t=o.useRef(e);return t.current=e,o.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=me(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e_e(e,`name`,{value:t,configurable:!0}),ye=o.useId||(()=>void 0),be=0;function M(e){let[t,n]=o.useState(ye());return T(()=>{e||n(e=>e??String(be++))},[e]),e||(t?`radix-${t}`:``)}ve(M,`useId`);var xe=Object.defineProperty,Se=(e,t)=>xe(e,`name`,{value:t,configurable:!0});function N(e){let t=o.useRef(e);return o.useEffect(()=>{t.current=e}),o.useMemo(()=>((...e)=>t.current?.(...e)),[])}Se(N,`useCallbackRef`);var Ce=Object.defineProperty,P=(e,t)=>Ce(e,`name`,{value:t,configurable:!0}),we=`dismissableLayer.update`,Te=`dismissableLayer.pointerDownOutside`,Ee=`dismissableLayer.focusOutside`,De,Oe=o.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),ke=o.forwardRef(P(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:s,onFocusOutside:l,onInteractOutside:u,onDismiss:f,...p}=e,m=o.useContext(Oe),[h,g]=o.useState(null),_=h?.ownerDocument??globalThis?.document,[,v]=o.useState({}),y=a(t,g),b=Array.from(m.layers),[S]=[...m.layersWithOutsidePointerEventsDisabled].slice(-1),C=S?b.indexOf(S):-1,w=h?b.indexOf(h):-1,ee=m.layersWithOutsidePointerEventsDisabled.size>0,T=w>=C,te=o.useRef(!1),ne=Me(e=>{s?.(e),u?.(e),e.defaultPrevented||f?.()},{ownerDocument:_,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:te,dismissableSurfaces:m.dismissableSurfaces,shouldHandlePointerDownOutside:o.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...m.branches].some(t=>t.contains(e));return T&&!t},[m.branches,T])}),E=Ne(e=>{if(r&&te.current)return;let t=e.target;[...m.branches].some(e=>e.contains(t))||(l?.(e),u?.(e),e.defaultPrevented||f?.())},_),D=h?w===b.length-1:!1,O=N(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&f&&(e.preventDefault(),f()))});return o.useEffect(()=>{if(D)return _.addEventListener(`keydown`,O,{capture:!0}),()=>_.removeEventListener(`keydown`,O,{capture:!0})},[_,D,O]),o.useEffect(()=>{if(h)return n&&(m.layersWithOutsidePointerEventsDisabled.size===0&&(De=_.body.style.pointerEvents,_.body.style.pointerEvents=`none`),m.layersWithOutsidePointerEventsDisabled.add(h)),m.layers.add(h),Pe(),()=>{n&&(m.layersWithOutsidePointerEventsDisabled.delete(h),m.layersWithOutsidePointerEventsDisabled.size===0&&(_.body.style.pointerEvents=De))}},[h,_,n,m]),o.useEffect(()=>()=>{h&&(m.layers.delete(h),m.layersWithOutsidePointerEventsDisabled.delete(h),Pe())},[h,m]),o.useEffect(()=>{let e=P(()=>v({}),`handleUpdate`);return document.addEventListener(we,e),()=>document.removeEventListener(we,e)},[]),(0,c.jsx)(d.div,{...p,ref:y,style:{pointerEvents:ee?T?`auto`:`none`:void 0,...e.style},onFocusCapture:x(e.onFocusCapture,E.onFocusCapture),onBlurCapture:x(e.onBlurCapture,E.onBlurCapture),onPointerDownCapture:x(e.onPointerDownCapture,ne.onPointerDownCapture)})},`DismissableLayer`));function Ae(){let e=o.useContext(Oe),[t,n]=o.useState(null);return o.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}P(Ae,`useDismissableLayerSurface`);var je=P(()=>!0,`IS_TRUE`);function Me(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:s=je}=t,c=N(e),l=o.useRef(!1),u=o.useRef(!1),d=o.useRef(new Map),f=o.useRef(()=>{});return o.useEffect(()=>{function e(){u.current=!1,i.current=!1,d.current.clear()}P(e,`resetOutsideInteraction`);function t(){return Array.from(d.current.values()).some(Boolean)}P(t,`isOutsideInteractionIntercepted`);function o(e){if(!u.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||d.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{u.current&&f.current()},0)}P(o,`handleInteractionCapture`);function p(e){u.current&&d.current.set(e.type,!1)}P(p,`handleInteractionBubble`);let m=P(a=>{if(a.target&&!l.current){let o=function(){n.removeEventListener(`click`,f.current);let r=t();e(),r||Fe(Te,c,p,{discrete:!0})};if(P(o,`handleAndDispatchPointerDownOutsideEvent`),!s(a.target)){n.removeEventListener(`click`,f.current),e(),l.current=!1;return}let p={originalEvent:a};u.current=!0,i.current=r&&a.button===0,d.current.clear(),!r||a.button!==0?o():(n.removeEventListener(`click`,f.current),f.current=o,n.addEventListener(`click`,f.current,{once:!0}))}else n.removeEventListener(`click`,f.current),e();l.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,o,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,f.current);for(let e of h)n.removeEventListener(e,o,!0),n.removeEventListener(e,p)}},[n,c,r,i,a,s]),{onPointerDownCapture:P(()=>l.current=!0,`onPointerDownCapture`)}}P(Me,`usePointerDownOutside`);function Ne(e,t=globalThis?.document){let n=N(e),r=o.useRef(!1);return o.useEffect(()=>{let e=P(e=>{e.target&&!r.current&&Fe(Ee,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:P(()=>r.current=!0,`onFocusCapture`),onBlurCapture:P(()=>r.current=!1,`onBlurCapture`)}}P(Ne,`useFocusOutside`);function Pe(){let e=new CustomEvent(we);document.dispatchEvent(e)}P(Pe,`dispatchUpdate`);function Fe(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?f(i,a):i.dispatchEvent(a)}P(Fe,`handleAndDispatchCustomEvent`);var Ie=Object.defineProperty,F=(e,t)=>Ie(e,`name`,{value:t,configurable:!0}),Le=`focusScope.autoFocusOnMount`,Re=`focusScope.autoFocusOnUnmount`,ze={bubbles:!1,cancelable:!0},Be=o.forwardRef(F(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:s,...l}=e,[u,f]=o.useState(null),p=N(i),m=N(s),h=o.useRef(null),g=a(t,f),_=o.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;o.useEffect(()=>{if(r){let e=function(e){if(_.paused||!u)return;let t=e.target;u.contains(t)?h.current=t:I(h.current,{select:!0})},t=function(e){if(_.paused||!u)return;let t=e.relatedTarget;t!==null&&(u.contains(t)||I(h.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&I(u)};F(e,`handleFocusIn`),F(t,`handleFocusOut`),F(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return u&&r.observe(u,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,u,_.paused]),o.useEffect(()=>{if(u){qe.add(_);let e=document.activeElement;if(!u.contains(e)){let t=new CustomEvent(Le,ze);u.addEventListener(Le,p),u.dispatchEvent(t),t.defaultPrevented||(Ve(Xe(Ue(u)),{select:!0}),document.activeElement===e&&I(u))}return()=>{u.removeEventListener(Le,p),setTimeout(()=>{let t=new CustomEvent(Re,ze);u.addEventListener(Re,m),u.dispatchEvent(t),t.defaultPrevented||I(e??document.body,{select:!0}),u.removeEventListener(Re,m),qe.remove(_)},0)}}},[u,p,m,_]);let v=o.useCallback(e=>{if(!n&&!r||_.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=He(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&I(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&I(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,_.paused]);return(0,c.jsx)(d.div,{tabIndex:-1,...l,ref:g,onKeyDown:v})},`FocusScope`));function Ve(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(I(r,{select:t}),document.activeElement!==n)return}F(Ve,`focusFirst`);function He(e){let t=Ue(e);return[We(t,e),We(t.reverse(),e)]}F(He,`getTabbableEdges`);function Ue(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:F(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}F(Ue,`getTabbableCandidates`);function We(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):Ge(r,{upTo:t})))return r}F(We,`findVisible`);function Ge(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}F(Ge,`isHidden`);function Ke(e){return e instanceof HTMLInputElement&&`select`in e}F(Ke,`isSelectableInput`);function I(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ke(e)&&t&&e.select()}}F(I,`focus`);var qe=Je();function Je(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ye(e,t),e.unshift(t)},remove(t){e=Ye(e,t),e[0]?.resume()}}}F(Je,`createFocusScopesStack`);function Ye(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}F(Ye,`arrayRemove`);function Xe(e){return e.filter(e=>e.tagName!==`A`)}F(Xe,`removeLinks`);var Ze=Object.defineProperty,Qe=o.forwardRef(((e,t)=>Ze(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=o.useState(!1);T(()=>a(!0),[]);let l=n||i&&globalThis?.document?.body;return l?s.createPortal((0,c.jsx)(d.div,{...r,ref:t}),l):null},`Portal`)),$e=Object.defineProperty,et=(e,t)=>$e(e,`name`,{value:t,configurable:!0}),L=0,R=null;function tt(e){return nt(),e.children}et(tt,`FocusGuards`);function nt(){o.useEffect(()=>{R||={start:rt(),end:rt()};let{start:e,end:t}=R;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),L++,()=>{L===1&&(R?.start.remove(),R?.end.remove(),R=null),L=Math.max(0,L-1)}},[])}et(nt,`useFocusGuards`);function rt(){let 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}et(rt,`createFocusGuard`);var z=function(){return z=Object.assign||function(e){for(var t,n=1,r=arguments.length;n`u`)return Dt;var t=kt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},jt=Et(),U=`data-scroll-locked`,Mt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),` .${ot} { overflow: hidden ${r}; padding-right: ${s}px ${r}; diff --git a/frontend/dist/assets/index-BK7IIV0X.css b/frontend/dist/assets/index-BK7IIV0X.css new file mode 100644 index 0000000..5c5984f --- /dev/null +++ b/frontend/dist/assets/index-BK7IIV0X.css @@ -0,0 +1,2 @@ +/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:"Barlow", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Barlow", "Segoe UI", system-ui, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-anzeige:"Barlow Condensed", "Barlow", "Segoe UI", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{-webkit-font-smoothing:antialiased;font-family:Barlow,Segoe UI,system-ui,sans-serif}body{background-color:var(--background);color:var(--foreground);min-height:100dvh;margin:0}body:before,body:after{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0}body:before{background:radial-gradient(60rem 34rem at 4% -14%, var(--box), transparent 68%), radial-gradient(54rem 32rem at 104% -10%, var(--lab), transparent 64%), radial-gradient(50rem 30rem at 55% 120%, var(--cyan), transparent 70%)}@supports (color:color-mix(in lab, red, red)){body:before{background:radial-gradient(60rem 34rem at 4% -14%, color-mix(in srgb, var(--box) 17%, transparent), transparent 68%), radial-gradient(54rem 32rem at 104% -10%, color-mix(in srgb, var(--lab) 14%, transparent), transparent 64%), radial-gradient(50rem 30rem at 55% 120%, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 70%)}}body:after{background-image:radial-gradient(#ffffff0e 1px,#0000 1.4px);background-size:26px 26px;-webkit-mask-image:linear-gradient(#000 0%,#0000 70%);mask-image:linear-gradient(#000 0%,#0000 70%)}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-1{inset:var(--spacing)}.inset-y-0{inset-block:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.-top-40{top:calc(var(--spacing) * -40)}.-top-44{top:calc(var(--spacing) * -44)}.-top-48{top:calc(var(--spacing) * -48)}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.-bottom-1\.5{bottom:calc(var(--spacing) * -1.5)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-24{bottom:calc(var(--spacing) * 24)}.-left-32{left:calc(var(--spacing) * -32)}.-left-36{left:calc(var(--spacing) * -36)}.-left-40{left:calc(var(--spacing) * -40)}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[5px\]{left:5px}.left-\[80\%\]{left:80%}.left-\[90\%\]{left:90%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing) * -2)}.m-0{margin:0}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-2{margin-block:calc(var(--spacing) * 2)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[0\.444em\]{margin-right:.444em}.-mb-2{margin-bottom:calc(var(--spacing) * -2)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-\[0\.111em\]{margin-left:.111em}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-\[11px\]{width:11px;height:11px}.size-\[18px\]{width:18px;height:18px}.size-\[88px\]{width:88px;height:88px}.size-\[132px\]{width:132px;height:132px}.size-\[400px\]{width:400px;height:400px}.size-\[460px\]{width:460px;height:460px}.size-\[560px\]{width:560px;height:560px}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-\[1\.75em\]{height:1.75em}.h-\[min\(75cqw\,150px\)\]{height:min(75cqw,150px)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[50vh\]{max-height:50vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[132px\]{min-height:132px}.min-h-dvh{min-height:100dvh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-60{width:calc(var(--spacing) * 60)}.w-\[1\.1875em\]{width:1.1875em}.w-full{width:100%}.w-px{width:1px}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[200px\]{max-width:200px}.max-w-\[1360px\]{max-width:1360px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-40{flex-basis:calc(var(--spacing) * 40)}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-px{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-4{scroll-margin-top:calc(var(--spacing) * 4)}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1\.5rem_minmax\(0\,1fr\)_auto\]{grid-template-columns:1.5rem minmax(0,1fr) auto}.grid-cols-\[10px_minmax\(0\,1fr\)_auto\]{grid-template-columns:10px minmax(0,1fr) auto}.grid-cols-\[11px_minmax\(0\,1fr\)_auto\]{grid-template-columns:11px minmax(0,1fr) auto}.grid-cols-\[64px_18px_minmax\(0\,1fr\)\]{grid-template-columns:64px 18px minmax(0,1fr)}.grid-cols-\[210px_100px_170px_minmax\(0\,1fr\)_auto\]{grid-template-columns:210px 100px 170px minmax(0,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-\[0\.1875em\]{gap:.1875em}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.self-center{align-self:center}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-bernstein\/60{border-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.border-bernstein\/60{border-color:color-mix(in oklab, var(--bernstein) 60%, transparent)}}.border-box-rand{border-color:var(--box-rand)}.border-cyan-rand{border-color:var(--cyan-rand)}.border-cyan\/35{border-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.border-cyan\/35{border-color:color-mix(in oklab, var(--cyan) 35%, transparent)}}.border-gruen-rand{border-color:var(--gruen-rand)}.border-lab-rand{border-color:var(--lab-rand)}.border-rot-rand{border-color:var(--rot-rand)}.border-rot\/40{border-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.border-rot\/40{border-color:color-mix(in oklab, var(--rot) 40%, transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.border-white\/12{border-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.flaeche{border:1px solid var(--rand,var(--flaeche-rand));-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);background-color:#0c10189e;background-image:linear-gradient(#ffffff0d,#ffffff03 45%,#0000);box-shadow:inset 0 1px #ffffff0e,0 1px 2px #00000059,0 24px 48px -28px #000000e6}.flaeche-innen{background-color:#ffffff07;border:1px solid #94a3c21a}.bg-\[\#0a0d14\]{background-color:#0a0d14}.bg-\[\#0b0d0f\]{background-color:#0b0d0f}.bg-\[\#0e121a\]{background-color:#0e121a}.bg-\[\#121722\]{background-color:#121722}.bg-\[rgb\(8_11_17\/0\.72\)\]{background-color:#080b11b8}.bg-bernstein{background-color:var(--bernstein)}.bg-bernstein-grund{background-color:var(--bernstein-grund)}.bg-bernstein\/10{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/10{background-color:color-mix(in oklab, var(--bernstein) 10%, transparent)}}.bg-bernstein\/35{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/35{background-color:color-mix(in oklab, var(--bernstein) 35%, transparent)}}.bg-bernstein\/70{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/70{background-color:color-mix(in oklab, var(--bernstein) 70%, transparent)}}.bg-bernstein\/\[0\.06\]{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/\[0\.06\]{background-color:color-mix(in oklab, var(--bernstein) 6%, transparent)}}.bg-bernstein\/\[0\.08\]{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/\[0\.08\]{background-color:color-mix(in oklab, var(--bernstein) 8%, transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.bg-box-grund{background-color:var(--box-grund)}.bg-box\/10{background-color:var(--box)}@supports (color:color-mix(in lab, red, red)){.bg-box\/10{background-color:color-mix(in oklab, var(--box) 10%, transparent)}}.bg-current{background-color:currentColor}.bg-cyan{background-color:var(--cyan)}.bg-cyan-grund{background-color:var(--cyan-grund)}.bg-cyan\/10{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/10{background-color:color-mix(in oklab, var(--cyan) 10%, transparent)}}.bg-cyan\/12{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/12{background-color:color-mix(in oklab, var(--cyan) 12%, transparent)}}.bg-cyan\/35{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/35{background-color:color-mix(in oklab, var(--cyan) 35%, transparent)}}.bg-cyan\/\[0\.06\]{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/\[0\.06\]{background-color:color-mix(in oklab, var(--cyan) 6%, transparent)}}.bg-cyan\/\[0\.07\]{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/\[0\.07\]{background-color:color-mix(in oklab, var(--cyan) 7.0%, transparent)}}.bg-cyan\/\[0\.08\]{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/\[0\.08\]{background-color:color-mix(in oklab, var(--cyan) 8%, transparent)}}.bg-gruen{background-color:var(--gruen)}.bg-gruen-grund{background-color:var(--gruen-grund)}.bg-gruen\/10{background-color:var(--gruen)}@supports (color:color-mix(in lab, red, red)){.bg-gruen\/10{background-color:color-mix(in oklab, var(--gruen) 10%, transparent)}}.bg-gruen\/\[0\.07\]{background-color:var(--gruen)}@supports (color:color-mix(in lab, red, red)){.bg-gruen\/\[0\.07\]{background-color:color-mix(in oklab, var(--gruen) 7.0%, transparent)}}.bg-lab{background-color:var(--lab)}.bg-lab-grund{background-color:var(--lab-grund)}.bg-lab\/10{background-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.bg-lab\/10{background-color:color-mix(in oklab, var(--lab) 10%, transparent)}}.bg-lab\/80{background-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.bg-lab\/80{background-color:color-mix(in oklab, var(--lab) 80%, transparent)}}.bg-linie{background-color:var(--linie)}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-rot{background-color:var(--rot)}.bg-rot-grund{background-color:var(--rot-grund)}.bg-rot\/10{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/10{background-color:color-mix(in oklab, var(--rot) 10%, transparent)}}.bg-rot\/12{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/12{background-color:color-mix(in oklab, var(--rot) 12%, transparent)}}.bg-rot\/80{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/80{background-color:color-mix(in oklab, var(--rot) 80%, transparent)}}.bg-rot\/\[0\.07\]{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/\[0\.07\]{background-color:color-mix(in oklab, var(--rot) 7.0%, transparent)}}.bg-text-3{background-color:var(--text-3)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.bg-white\/25{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.bg-white\/\[0\.07\]{background-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.07\]{background-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-bernstein-hell{--tw-gradient-from:var(--bernstein-hell);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-box\/30{--tw-gradient-from:var(--box)}@supports (color:color-mix(in lab, red, red)){.from-box\/30{--tw-gradient-from:color-mix(in oklab, var(--box) 30%, transparent)}}.from-box\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-lab\/30{--tw-gradient-from:var(--lab)}@supports (color:color-mix(in lab, red, red)){.from-lab\/30{--tw-gradient-from:color-mix(in oklab, var(--lab) 30%, transparent)}}.from-lab\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white\/20{--tw-gradient-from:#fff3}@supports (color:color-mix(in lab, red, red)){.from-white\/20{--tw-gradient-from:color-mix(in oklab, var(--color-white) 20%, transparent)}}.from-white\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white\/\[0\.1\]{--tw-gradient-from:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.from-white\/\[0\.1\]{--tw-gradient-from:color-mix(in oklab, var(--color-white) 10%, transparent)}}.from-white\/\[0\.1\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white\/\[0\.07\]{--tw-gradient-from:#ffffff12}@supports (color:color-mix(in lab, red, red)){.from-white\/\[0\.07\]{--tw-gradient-from:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.from-white\/\[0\.07\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-bernstein{--tw-gradient-to:var(--bernstein);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-box\/\[0\.05\]{--tw-gradient-to:var(--box)}@supports (color:color-mix(in lab, red, red)){.to-box\/\[0\.05\]{--tw-gradient-to:color-mix(in oklab, var(--box) 5%, transparent)}}.to-box\/\[0\.05\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-lab\/\[0\.05\]{--tw-gradient-to:var(--lab)}@supports (color:color-mix(in lab, red, red)){.to-lab\/\[0\.05\]{--tw-gradient-to:color-mix(in oklab, var(--lab) 5%, transparent)}}.to-lab\/\[0\.05\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white\/0{--tw-gradient-to:#0000}@supports (color:color-mix(in lab, red, red)){.to-white\/0{--tw-gradient-to:color-mix(in oklab, var(--color-white) 0%, transparent)}}.to-white\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white\/\[0\.02\]{--tw-gradient-to:#ffffff05}@supports (color:color-mix(in lab, red, red)){.to-white\/\[0\.02\]{--tw-gradient-to:color-mix(in oklab, var(--color-white) 2%, transparent)}}.to-white\/\[0\.02\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white\/\[0\.03\]{--tw-gradient-to:#ffffff08}@supports (color:color-mix(in lab, red, red)){.to-white\/\[0\.03\]{--tw-gradient-to:color-mix(in oklab, var(--color-white) 3%, transparent)}}.to-white\/\[0\.03\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-padding{background-clip:padding-box}.fill-text-2{fill:var(--text-2)}.fill-text-3{fill:var(--text-3)}.object-contain{object-fit:contain}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-\[calc\(1\.25rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.pb-\[min\(10cqw\,20px\)\]{padding-bottom:min(10cqw,20px)}.pl-1{padding-left:var(--spacing)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.etikett{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.font-anzeige,.font-heading{font-family:Barlow Condensed,Barlow,Segoe UI,sans-serif}.font-mono{font-family:JetBrains Mono,ui-monospace,Cascadia Mono,Consolas,monospace}.font-sans{font-family:Barlow,Segoe UI,system-ui,sans-serif}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.5625em\]{font-size:.5625em}.text-\[9\.5px\]{font-size:9.5px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15\.5px\]{font-size:15.5px}.text-\[15px\]{font-size:15px}.text-\[16\.5px\]{font-size:16.5px}.text-\[17px\]{font-size:17px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[21px\]{font-size:21px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[30px\]{font-size:30px}.text-\[32px\]{font-size:32px}.text-\[38px\]{font-size:38px}.text-\[length\:clamp\(14px\,14\.5cqw\,32px\)\]{font-size:clamp(14px,14.5cqw,32px)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.005em\]{--tw-tracking:.005em;letter-spacing:.005em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.32em\]{--tw-tracking:.32em;letter-spacing:.32em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-bernstein{color:var(--bernstein)}.text-box{color:var(--box)}.text-box-text{color:var(--box-text)}.text-cyan{color:var(--cyan)}.text-cyan-text{color:var(--cyan-text)}.text-foreground{color:var(--foreground)}.text-gruen{color:var(--gruen)}.text-gruen-text{color:var(--gruen-text)}.text-lab{color:var(--lab)}.text-lab-text{color:var(--lab-text)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-rot{color:var(--rot)}.text-rot-text{color:var(--rot-text)}.text-text-2{color:var(--text-2)}.text-text-3{color:var(--text-3)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.italic{font-style:italic}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--lab\)\]{accent-color:var(--lab)}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_var\(--bernstein\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--bernstein));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_var\(--cyan\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--cyan));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_var\(--gruen\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--gruen));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_var\(--rot\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--rot));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_10px_var\(--cyan\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,var(--cyan));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_28px_-6px_var\(--box\)\]{--tw-shadow:0 0 28px -6px var(--tw-shadow-color,var(--box));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_28px_-6px_var\(--lab\)\]{--tw-shadow:0 0 28px -6px var(--tw-shadow-color,var(--lab));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgb\(255_255_255\/0\.06\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff0f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgb\(255_255_255\/0\.35\)\,0_8px_22px_-10px_var\(--bernstein\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff59), 0 8px 22px -10px var(--tw-shadow-color,var(--bernstein));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[3px\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[\#0b0f16\]{--tw-ring-color:#0b0f16}.ring-\[\#0d1119\]{--tw-ring-color:#0d1119}.ring-bernstein\/30{--tw-ring-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.ring-bernstein\/30{--tw-ring-color:color-mix(in oklab, var(--bernstein) 30%, transparent)}}.ring-bernstein\/35{--tw-ring-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.ring-bernstein\/35{--tw-ring-color:color-mix(in oklab, var(--bernstein) 35%, transparent)}}.ring-box\/30{--tw-ring-color:var(--box)}@supports (color:color-mix(in lab, red, red)){.ring-box\/30{--tw-ring-color:color-mix(in oklab, var(--box) 30%, transparent)}}.ring-box\/35{--tw-ring-color:var(--box)}@supports (color:color-mix(in lab, red, red)){.ring-box\/35{--tw-ring-color:color-mix(in oklab, var(--box) 35%, transparent)}}.ring-cyan\/25{--tw-ring-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.ring-cyan\/25{--tw-ring-color:color-mix(in oklab, var(--cyan) 25%, transparent)}}.ring-cyan\/30{--tw-ring-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.ring-cyan\/30{--tw-ring-color:color-mix(in oklab, var(--cyan) 30%, transparent)}}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-gruen\/25{--tw-ring-color:var(--gruen)}@supports (color:color-mix(in lab, red, red)){.ring-gruen\/25{--tw-ring-color:color-mix(in oklab, var(--gruen) 25%, transparent)}}.ring-gruen\/30{--tw-ring-color:var(--gruen)}@supports (color:color-mix(in lab, red, red)){.ring-gruen\/30{--tw-ring-color:color-mix(in oklab, var(--gruen) 30%, transparent)}}.ring-lab\/30{--tw-ring-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.ring-lab\/30{--tw-ring-color:color-mix(in oklab, var(--lab) 30%, transparent)}}.ring-lab\/35{--tw-ring-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.ring-lab\/35{--tw-ring-color:color-mix(in oklab, var(--lab) 35%, transparent)}}.ring-rot\/35{--tw-ring-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.ring-rot\/35{--tw-ring-color:color-mix(in oklab, var(--rot) 35%, transparent)}}.ring-rot\/40{--tw-ring-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.ring-rot\/40{--tw-ring-color:color-mix(in oklab, var(--rot) 40%, transparent)}}.ring-white\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.ring-white\/10{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.ring-white\/12{--tw-ring-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.ring-white\/12{--tw-ring-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.ring-white\/15{--tw-ring-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.ring-white\/15{--tw-ring-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.ring-white\/\[0\.07\]{--tw-ring-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.ring-white\/\[0\.07\]{--tw-ring-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-xl{--tw-blur:blur(var(--blur-xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\,filter\]{transition-property:background-color,border-color,color,box-shadow,filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[filter\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[stroke-dasharray\]{transition-property:stroke-dasharray;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--rand\:color-mix\(in_srgb\,var\(--box\)_28\%\,transparent\)\]{--rand:var(--box)}@supports (color:color-mix(in lab, red, red)){.\[--rand\:color-mix\(in_srgb\,var\(--box\)_28\%\,transparent\)\]{--rand:color-mix(in srgb,var(--box) 28%,transparent)}}.\[--rand\:color-mix\(in_srgb\,var\(--box\)_32\%\,transparent\)\]{--rand:var(--box)}@supports (color:color-mix(in lab, red, red)){.\[--rand\:color-mix\(in_srgb\,var\(--box\)_32\%\,transparent\)\]{--rand:color-mix(in srgb,var(--box) 32%,transparent)}}.\[--rand\:color-mix\(in_srgb\,var\(--lab\)_28\%\,transparent\)\]{--rand:var(--lab)}@supports (color:color-mix(in lab, red, red)){.\[--rand\:color-mix\(in_srgb\,var\(--lab\)_28\%\,transparent\)\]{--rand:color-mix(in srgb,var(--lab) 28%,transparent)}}.\[--rand\:color-mix\(in_srgb\,var\(--lab\)_32\%\,transparent\)\]{--rand:var(--lab)}@supports (color:color-mix(in lab, red, red)){.\[--rand\:color-mix\(in_srgb\,var\(--lab\)_32\%\,transparent\)\]{--rand:color-mix(in srgb,var(--lab) 32%,transparent)}}.\[font-variant-ligatures\:none\]{font-variant-ligatures:none}.\[grid-area\:herkunft\]{grid-area:herkunft}.\[grid-area\:knoepfe\]{grid-area:knoepfe}.\[grid-area\:name\]{grid-area:name}.\[grid-area\:text\]{grid-area:text}.\[grid-area\:zeit\]{grid-area:zeit}.\[grid-template-areas\:\'name_herkunft\'_\'zeit_zeit\'_\'text_text\'_\'knoepfe_knoepfe\'\]{grid-template-areas:"name herkunft""zeit zeit""text text""knoepfe knoepfe"}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:bg-white\/\[0\.06\]:is(:where(.group):hover *){background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-white\/\[0\.06\]:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:text-text-2:is(:where(.group):hover *){color:var(--text-2)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-2\.5:before{content:var(--tw-content);top:calc(var(--spacing) * 2.5)}.before\:bottom-2\.5:before{content:var(--tw-content);bottom:calc(var(--spacing) * 2.5)}.before\:left-0:before{content:var(--tw-content);left:0}.before\:w-\[3px\]:before{content:var(--tw-content);width:3px}.before\:rounded-full:before{content:var(--tw-content);border-radius:2147483647px}.before\:bg-bernstein:before{content:var(--tw-content);background-color:var(--bernstein)}.before\:bg-box:before{content:var(--tw-content);background-color:var(--box)}.before\:bg-lab:before{content:var(--tw-content);background-color:var(--lab)}.before\:bg-text-2:before{content:var(--tw-content);background-color:var(--text-2)}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:shadow-\[0_0_12px_var\(--bernstein\)\]:before{content:var(--tw-content);--tw-shadow:0 0 12px var(--tw-shadow-color,var(--bernstein));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:shadow-\[0_0_12px_var\(--box\)\]:before{content:var(--tw-content);--tw-shadow:0 0 12px var(--tw-shadow-color,var(--box));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:shadow-\[0_0_12px_var\(--lab\)\]:before{content:var(--tw-content);--tw-shadow:0 0 12px var(--tw-shadow-color,var(--lab));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.first\:pt-1:first-child{padding-top:var(--spacing)}.open\:pb-2:is([open],:popover-open,:open){padding-bottom:calc(var(--spacing) * 2)}.open\:pb-3:is([open],:popover-open,:open){padding-bottom:calc(var(--spacing) * 3)}@media (hover:hover){.hover\:border-white\/20:hover{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/20:hover{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:bg-bernstein\/\[0\.13\]:hover{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-bernstein\/\[0\.13\]:hover{background-color:color-mix(in oklab, var(--bernstein) 13%, transparent)}}.hover\:bg-box\/20:hover{background-color:var(--box)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-box\/20:hover{background-color:color-mix(in oklab, var(--box) 20%, transparent)}}.hover\:bg-cyan\/15:hover{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-cyan\/15:hover{background-color:color-mix(in oklab, var(--cyan) 15%, transparent)}}.hover\:bg-lab\/20:hover{background-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-lab\/20:hover{background-color:color-mix(in oklab, var(--lab) 20%, transparent)}}.hover\:bg-rot-grund:hover{background-color:var(--rot-grund)}.hover\:bg-rot\/15:hover{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rot\/15:hover{background-color:color-mix(in oklab, var(--rot) 15%, transparent)}}.hover\:bg-rot\/\[0\.18\]:hover{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rot\/\[0\.18\]:hover{background-color:color-mix(in oklab, var(--rot) 18%, transparent)}}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.05\]:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.08\]:hover{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.hover\:bg-white\/\[0\.045\]:hover{background-color:#ffffff0b}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.045\]:hover{background-color:color-mix(in oklab, var(--color-white) 4.5%, transparent)}}.hover\:text-cyan:hover{color:var(--cyan)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-lab-text:hover{color:var(--lab-text)}.hover\:text-rot-text:hover{color:var(--rot-text)}.hover\:text-text-2:hover{color:var(--text-2)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-125:hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-cyan\/60:focus{border-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.focus\:border-cyan\/60:focus{border-color:color-mix(in oklab, var(--cyan) 60%, transparent)}}.focus\:border-lab\/60:focus{border-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.focus\:border-lab\/60:focus{border-color:color-mix(in oklab, var(--lab) 60%, transparent)}}.focus\:bg-white\/\[0\.06\]:focus{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.focus\:bg-white\/\[0\.06\]:focus{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.focus-visible\:rounded-md:focus-visible{border-radius:calc(var(--radius) * .8)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-cyan\/60:focus-visible{--tw-ring-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-cyan\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--cyan) 60%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-45:disabled{opacity:.45}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:0}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:0}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:0}.data-\[side\=left\]\:left-0[data-side=left]{left:0}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:w-\[300px\][data-side=left]{width:300px}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:0}.data-\[side\=right\]\:right-0[data-side=right]{right:0}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:w-full[data-side=right]{width:100%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:0}.data-\[side\=top\]\:top-0[data-side=top]{top:0}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[status\=active\]\:from-bernstein\/\[0\.16\][data-status=active]{--tw-gradient-from:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.data-\[status\=active\]\:from-bernstein\/\[0\.16\][data-status=active]{--tw-gradient-from:color-mix(in oklab, var(--bernstein) 16%, transparent)}}.data-\[status\=active\]\:from-bernstein\/\[0\.16\][data-status=active]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.data-\[status\=active\]\:from-box\/\[0\.2\][data-status=active]{--tw-gradient-from:var(--box)}@supports (color:color-mix(in lab, red, red)){.data-\[status\=active\]\:from-box\/\[0\.2\][data-status=active]{--tw-gradient-from:color-mix(in oklab, var(--box) 20%, transparent)}}.data-\[status\=active\]\:from-box\/\[0\.2\][data-status=active]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.data-\[status\=active\]\:from-lab\/\[0\.2\][data-status=active]{--tw-gradient-from:var(--lab)}@supports (color:color-mix(in lab, red, red)){.data-\[status\=active\]\:from-lab\/\[0\.2\][data-status=active]{--tw-gradient-from:color-mix(in oklab, var(--lab) 20%, transparent)}}.data-\[status\=active\]\:from-lab\/\[0\.2\][data-status=active]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.data-\[status\=active\]\:from-white\/\[0\.08\][data-status=active]{--tw-gradient-from:#ffffff14}@supports (color:color-mix(in lab, red, red)){.data-\[status\=active\]\:from-white\/\[0\.08\][data-status=active]{--tw-gradient-from:color-mix(in oklab, var(--color-white) 8%, transparent)}}.data-\[status\=active\]\:from-white\/\[0\.08\][data-status=active]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.data-\[status\=active\]\:text-foreground[data-status=active]{color:var(--foreground)}.data-\[status\=active\]\:before\:opacity-100[data-status=active]:before{content:var(--tw-content);opacity:1}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}.motion-safe\:animate-spin{animation:var(--animate-spin)}}@media (width>=480px){.min-\[480px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-start-3{grid-column-start:3}.sm\:row-start-1{grid-row-start:1}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:size-\[168px\]{width:168px;height:168px}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1\.5fr\)_70px_130px_minmax\(0\,1\.5fr\)\]{grid-template-columns:minmax(0,1.5fr) 70px 130px minmax(0,1.5fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_120px_160px\]{grid-template-columns:minmax(0,1fr) 120px 160px}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-8{gap:calc(var(--spacing) * 8)}.sm\:self-start{align-self:flex-start}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-6{padding-top:calc(var(--spacing) * 6)}.sm\:text-left{text-align:left}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-\[10px\]{font-size:10px}.sm\:text-\[22px\]{font-size:22px}.sm\:text-\[34px\]{font-size:34px}.sm\:text-\[44px\]{font-size:44px}.sm\:text-\[46px\]{font-size:46px}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left]{max-width:var(--container-sm)}.data-\[side\=right\]\:sm\:max-w-2xl[data-side=right]{max-width:var(--container-2xl)}.data-\[side\=right\]\:sm\:max-w-sm[data-side=right]{max-width:var(--container-sm)}.data-\[side\=right\]\:sm\:max-w-xl[data-side=right]{max-width:var(--container-xl)}}@media (width>=48rem){.md\:left-auto{left:auto}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-4{grid-column:span 4/span 4}.md\:block{display:block}.md\:grid{display:grid}.md\:hidden{display:none}.md\:w-\[420px\]{width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[210px_100px_170px_minmax\(0\,1fr\)_auto\]{grid-template-columns:210px 100px 170px minmax(0,1fr) auto}.md\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,1\.3fr\)_minmax\(0\,1fr\)_minmax\(0\,0\.9fr\)_11\.5rem\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) 11.5rem}.md\:grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.1fr\)_minmax\(0\,1\.1fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.1fr)}.md\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)_110px\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 110px}.md\:grid-cols-\[minmax\(0\,1\.6fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.4fr)}.md\:grid-cols-\[minmax\(0\,1\.35fr\)_110px_minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,1fr\)_90px\]{grid-template-columns:minmax(0,1.35fr) 110px minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) 90px}.md\:grid-rows-\[auto_auto_1fr\]{grid-template-rows:auto auto 1fr}.md\:flex-col{flex-direction:column}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:items-stretch{align-items:stretch}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-x-4{column-gap:calc(var(--spacing) * 4)}.md\:justify-self-end{justify-self:flex-end}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}.md\:pb-1{padding-bottom:var(--spacing)}.md\:pl-\[18px\]{padding-left:18px}.md\:text-\[32px\]{font-size:32px}.md\:\[grid-template-areas\:\'name_herkunft\'_\'zeit_knoepfe\'_\'text_knoepfe\'\]{grid-template-areas:"name herkunft""zeit knoepfe""text knoepfe"}}@media (width>=64rem){.lg\:bottom-6{bottom:calc(var(--spacing) * 6)}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:grid-flow-col{grid-auto-flow:column}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[272px_minmax\(0\,1fr\)\]{grid-template-columns:272px minmax(0,1fr)}.lg\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,0\.8fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr)}.lg\:grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.lg\:grid-rows-\[repeat\(var\(--zeilen\)\,auto\)\]{grid-template-rows:repeat(var(--zeilen),auto)}.lg\:items-start{align-items:flex-start}.lg\:gap-5{gap:calc(var(--spacing) * 5)}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width>=80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-start-auto{grid-column-start:auto}.xl\:row-start-auto{grid-row-start:auto}.xl\:block{display:block}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.7fr\)_7rem_minmax\(0\,0\.7fr\)_minmax\(0\,1\.2fr\)_7\.5rem_5rem_9\.5rem\]{grid-template-columns:minmax(0,1.7fr) 7rem minmax(0,.7fr) minmax(0,1.2fr) 7.5rem 5rem 9.5rem}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,340px\)\]{grid-template-columns:minmax(0,1fr) minmax(0,340px)}.xl\:grid-cols-\[minmax\(10\.5rem\,1\.1fr\)_7\.5rem_minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)_11rem\]{grid-template-columns:minmax(10.5rem,1.1fr) 7.5rem minmax(0,1fr) minmax(0,1.4fr) 11rem}.xl\:grid-rows-none{grid-template-rows:none}.xl\:flex-col{flex-direction:column}.xl\:items-center{align-items:center}.xl\:items-stretch{align-items:stretch}.xl\:gap-8{gap:calc(var(--spacing) * 8)}.xl\:gap-10{gap:calc(var(--spacing) * 10)}.xl\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.xl\:self-center{align-self:center}.xl\:justify-self-start{justify-self:flex-start}.xl\:justify-self-stretch{justify-self:stretch}.xl\:pt-0{padding-top:0}.xl\:\[grid-template-areas\:\'name_herkunft_zeit_text_knoepfe\'\]{grid-template-areas:"name herkunft zeit text knoepfe"}}@media (width>=87.5rem){.min-\[87\.5rem\]\:grid-cols-\[minmax\(0\,1\.7fr\)_7rem_minmax\(0\,0\.7fr\)_minmax\(0\,1\.2fr\)_7\.5rem_5rem_17\.5rem\]{grid-template-columns:minmax(0,1.7fr) 7rem minmax(0,.7fr) minmax(0,1.2fr) 7.5rem 5rem 17.5rem}.min-\[87\.5rem\]\:flex-row{flex-direction:row}.min-\[87\.5rem\]\:justify-end{justify-content:flex-end}}@media (width>=96rem){.\32 xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width>=24rem){.\@sm\:col-span-1{grid-column:span 1/span 1}.\@sm\:col-start-2{grid-column-start:2}.\@sm\:col-start-3{grid-column-start:3}.\@sm\:row-start-1{grid-row-start:1}.\@sm\:grid-cols-\[112px_minmax\(0\,1fr\)_auto\]{grid-template-columns:112px minmax(0,1fr) auto}.\@sm\:pl-\[124px\]{padding-left:124px}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*-100%)}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*-100%)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}.data-\[status\=active\]\:\[\&\>svg\]\:text-bernstein[data-status=active]>svg{color:var(--bernstein)}.data-\[status\=active\]\:\[\&\>svg\]\:text-box[data-status=active]>svg{color:var(--box)}.data-\[status\=active\]\:\[\&\>svg\]\:text-foreground[data-status=active]>svg{color:var(--foreground)}.data-\[status\=active\]\:\[\&\>svg\]\:text-lab[data-status=active]>svg{color:var(--lab)}.schild{font-family:var(--font-anzeige);text-transform:uppercase;letter-spacing:.16em;font-weight:600}.ziffern{font-family:var(--font-mono);font-variant-numeric:tabular-nums}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAA/IABAAAAAALMwAAA9mAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUTACDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUeB4xODAcbFCYzA/aDkxp0RMXmTMH/IcEUkaXZhe7qAVQoRhtRmOhkzaUYXs3lyzTUlwptwwNGy28PLP/oZewn39g4Jjp8YusISWZ9eNpW788MNQMI7jZprgsqRiJ7imCBYlEWIBhgoWjj7uJGcddednnRIQ/fX77n7i8NtLf08UwEQl3jq59XJCShypU4lMyz3Hb3X0omkAkZCYVNhfN/c3Pmf1nJcDqnj2VE35fYAx+8WYIJhZj4znn1Qbjp9+f4Pab0wOi7JSECzG0o6DRWu/MBgfu/NdPu5O8cUssKSJ1wUyTjq6oWZic7nUsKuIEySsIkzXvdKzArVNkCwvP1lQCgK4yu0BVWFp6vrWVm/6Nt7H82JGhxDyAteCbHZLRdzTsxJqNEUxb+txHysoxjwQzz2p8tU5uFtC4RmcGouCRX3v1195cCAYgBAECRIWSIVNsQCiqEhh6RpxRRzogwaUTYdSCc3AivAcSQCcSkacSCBbQlcbQ9DqAddgyNAFiZilAX9c1OSB/6ZyYgxQCwDgGQoVQGIYAIRvVlRAiR7Ax+jsqKIDacjVExNGWA/MQLk8VzJshTmOztrVbySNyHVnaAiUVpcgdvmnh9FNeAYYXkMl4AqisEoDtIZK0zs6lsSM8yAboEhZ5CFVqD23kNfor49QgAGWwFBeRAIZRCLdigBbqPFSIF+ABeQAfotUU0g+rL1gCMOnSNn4S0PWEL5Nw2QBqyIVvBT2Fe9wCSYDa3QH3Vt4cSaWSAug+NT0JKDgAKQOMLa96EFIKf/gOUWDQiE3EFgAB4aACxikhFAAwKZZ8DgHeiRQixRghm5n4HrCOOSrQAtqJU3LzpFAr/6TAHnDo8QQgszNHZ77FXwgom85JfwQOqMC8Ae/gYkSsURQ1AgQgAQAutAAoAALCdA3gIkv619L//vwb0H8nVgjz+bwLUlFoDaPGQkfqBjQcpc4R8ODxDAPwurhVJMbRRa7ksFTJAUJERK+RXgDxDi8az0D39NBJmMjGZP5MWgyH5+mYXeZg0kZOdJEIu5k1OaIYW0Rnqv/S2DtQxKCIjOSRMLuKNDjpwIXDRE0Y407zODF3/W/ovnvbiAz6YIOC0nZKaVrpMADK9/g8sQDORaaLiVmpCNj+DsAUJUg1SNBKpxbESqyNRj2XB2IWvmkANITOe42zRZqt223RIZbdRi00cNmu1QTMlFwWnTH2y+Gh4pemWrkeGXlpddgjYKUgnRG9Ajn55huQbViCiyKhiY0qMKzSiwpRykyrFGE0jSCIFAJwLADkD0AtMDvBegHkHug0AoFGJVK2qhCXG61AIrWWr8aYYT2zhWkVVD6EX62dQyHJqVGLicdAyTQtFjJgVi1Olw0wdI6eouC1SZjvL3umikG5h3BSHrTOMQKpkUgQu/aGoVC5VKLOjXKBIrWSy2FqmlB+dTKAUcDwJE5TwBkbFnJ/rY92ss4dzXxKbV1/T9hAJvBUu+bwOaq/XWDeXTEKvBMv+HYDYtSMXHI8lErBlDv1FvCF2yDfJcie3f1oWe+wCtb9HCZdshHBIfLC9FrNf60J4HGMKYkfC5TJ+lSNHd3NdZ5dNZ96o6OG8lOvpt5IcR3r2z61suaFBNQmrT0wrCXkvwKkNWenURddyk4+u1FuSiQRtRvQxxhEfxFo411PBvfbTQ1aCPSbA0yIczRIJRXEEQyYS4ocX/of1WiiyaY7SI3Z54u6pUe8m+30ZXB4f13V23XbupYoeLhwa5QqcRIKRdhwtDjdHX7sj8SSWqhgd2s25/B7OuTu4WLdz9FgQLtG55HhMlbFN/J5rrmGPXQWwZOVVLnn31VevgnPrfKt+IsHWeS5ZYVnCJZ9HIqem3z+aeAsjx92cK+7hnPGyVcarN47i9QctdADS864Xl+f2cM6E6W7jwyDLmWTlDNfAWRtN3eLupy1VuUoXA0Y9nDMwDm0aWWy8vkY6yniPTKmax1mFMSPTY+OyNo5gvPrMaWh+d6Yocqzobrh2BM+xO665gj12WQPSixm3X325OHNpey4+FiI+ViG4n+0mtkeDT6J77bK1vsLcqur1aMyF/u63T4xFx/V3vXhzq+VXFL7ypKwjPz+l4w2I7O1b21+wrz3XGCkzhqwKi3EwUtbo7w+YrLVVCuM8U1MAvrXrA5YXtX7tt5YAgoHTtp8WWF0eGHqRNVhUEjBba0v8h+bWaAV+c525JPC7Y/GXH19hrUyWl51baa04D0cn7Sp5qsze1VrwV7OyZHfSiyJTsZB0TFoerSjfW97MUD0Yt59oL3Kd4SNndY35u+St5yYTG575P1cpvWf3hskypgS/yB30tjjC3t6zi/Om4l/vjtYRYdOcpyc4FXQtRAZTN5h66vUdRpsxv/FMnSRHdzIYUWcg6vcHAtFOq8NmDm+l9r49tjYS2RI2O2zqvuITK5wVJxaXLhudxmXyUWt/K/Qiy0BJqb/mZHOpb6DEYg2VlPrMQWf+rheNhpOjo1zdfIfKkm6qMhsrTeZd234B2oMPB68Kyh+7OQi90BoqLvWbT6wt9YWKrdEKfLUnmkv9J2fxld9XeaLx3vKyZ40nVj6HfU/YdfKw79i9rQU1lSWHXuzBSScKzcZC3WPdlRcUl9xQeTh2aC6G9md6xnorxgsKd1f0dvkr/e7KQtNT/YHYFK691fHqc7z5WGnoTXPhm6HR0mnubTCFnYEJf7bfP+G0Ouw1k4QvuOw/rPsO97uflSxXKCuWS0rjlcrKePHlrYZWnH9AY9VoL03tATMa+kB/IGO1LLqakbF6sqvQHJhOLowm8cyBSHJmMonogaPJATpOOOweE/o99p7WWmfms1k7ns101lZHxtRBTefZMzIJkSsaNIZ6PReT/ohVl1uGg2e7ml3474DkI8kGTVtDZOe2TO2ONujXMk7TagqPrtGehm2f5GksNUqWOMsAC1JpXVMB8a265dwCWrecb+qjmcuF3pKhX/qEodrl80v5RPPuq9xGdUu9x3B2pnqrdvnB6Pe2BBpN7ap0nS5d1W7yN56QiB0YXTzQIWMqsVit2E1IJJ65TsI+KzVZbHmN6dJzkiro99t7Gqscyl/8nbTSUVWdjOByTedCSCZdr0kNW3MHcrWWxWmp1cp+yE6c98d0jC0lz4gdGXjRaLO92ffUHysp8pF3giv+eOcGjvsbGa11hkiW+PB5hmPdht38S67pmA9my+IbNmXULvS3VG07Lq136q4xnKz01oPhuZGJueMWrK31JofKklae1qlqKba7vg5yWnz3hzAuBOeGe+aQ8ur03gWhSNxQ3a/htqUcWzqxZsgptuwTcY3NaGzZLlTUKP8UW4zHk6oxHFFf9+F9MrFUwq/n52j06vNeGlmS9eyJU7A8ejA8F5uYO2Oh2i5K+uDcaxPRubvf6vbTxu85m5WnWqo9WbdqJUcOf3tSoNvCbrn09HJ9io6MjZ4Xny5qb2puApUNggl8KLVU1ACQTpMomG2HoEriLLkaejrIM8gzIx90Is8iz8bnjGNjNLQADHJcM4VcEXqXkOUhG7nIA5BvNJ+N9MKmYbuN05Tq5ZrWhcjqhmQ1IzdINamW1V4WrBhk29RG6FoDqfIt9wjkbNfvcq4XYOw1PHUJmquCZ03r3q6PSYNswHBLUJbKWbcHWUaWQZUN89AnAsi+EPxQrrIlEJnJIlUJM7HMcyIb2WdiwCYYhdkKuBjZ5gUYSBu2TYSNZEBQZ/dsLMogZAlqcMnlTpcszNOWC7LHy0oMpAd7JmhjAL8NbmRdayAVvDU+WxL5XR70AowhbINbkc7/KgLwLmPqTfwNBEUHCMBxmUhdQj6WUlkZlKnxu6pO1d9/v//3Q7rw+///2fMjAAB6oDb0HaH0b6GUJU8Y0eR64ojqUqm14Od8duRDHPKhFfZpiGupUNnzetjxdgRbK/5+l4IJ5JeSir8t3R+1IaFaa9AZitANXTvqUxavQ2TYeNmrYwP4det2tGuWgFpDejL9euYAfQfK28gGGIvbgQRcpXesotZIABUK/LoCMgX5tBzoUFiWbADfCNfMu98PsCghbdyeq6jgel07qoCDJjjsyIFY7MAODSYL1alQ9phCIRt3Ri4tbQVgE5dpkfhjGAkZMAWRYzPLNioh68Amvwwd4zGzodCRGaTlUjZqVdaBTSBDfJ6vWzoqG6lZhQKbFK6EAKgz5unB00f9KabfIE1/CcA764pzcPbvSz+DTdl+/xcAHwUACHwM3JK6lBL+d88HxAVfFHh3m1b6a8TWqK9qwVrRVjPaq6WqFSbUXqOOqrXXCkfN6KhWPgnndsCsD3CdZzHpoEPOX6wjz67FHso9aAqWW+ynpyeAc+VhtGMQgKDhk7pBGKUsAnBflEhlCV2wnFLxv2VpRo+QTFme7a4qy5cjUVaqjK2sjFJ+GTmx9FYE4M2hvDRKwSyXLSegQ9S4fhOazOT8YyJCPAaHHhY2o8XyD4iYNc7mNKNWTL+ICdO0Go+aiFqsGZM3ZyMDg2khMRGTZqrMfNN8LD/nqJhhBq3qNXN2r8LzGkBuHpMgYmkV2dpFChUKu08Vm1pVR9TBh+FjevSxMYZr7aNbRE1aFJsrvS1RcG1pOS9ocBJ8rTYx4yMuQj6W2WwW4VnSDJFz5tU/LKK0ZgWXCD2/qRmKRWuYh+47US6adX1FAOIfwbmATE+T2t4wLVab3eF0uT1eXz6MQKLQGCyuGE8gVpLIFCqNzmCy2Bwur54vEIrEEqlM3qxQqtTdSrU6vcFoMlusNjsz0q+WhVWdeg0aNfUmG7vmOrRwaNWmXYdOTi5uHl5deXXr0auPj19Av2C9QgYMGor2C4sYMWrMuAlRk6bETJsxa868BYuWxC3bbY+9EjhBUjTDcrwgSih88/y+eq/C13kHnXKhbTUDgISUCgNDoABXKLCL+2X27E/c2jAAQEKsFigx1qgLEbSeu+NyhcJGIECQNm9L567c3l7uZ5Wo3pkx4tYOhJANKw9dEonovRqVDb5dMKz515Ng+hci23hm4UQEs8eChwPB0BZYOBINbH3Erw0HECzUaokWa42eyGD3PIBIMBSOrfryBQ3G4oHQKi+/kEA0tuaDV40GP3h0+wuAAgXTKy0v5428xUDwksfm538juY9ni9fz2Ggy4iWLMz4qLklle7kcZvOLwy5bXp7fdYrRJlP4l5NDdZPiKVeLnJV7Ohg2VAs/aQwZNVtodX2jki6RU1e/j6GkgZbgAmmogZafuF4mZlb1t+COUyrcnF/CCZzS4MO/dX1T6QQAAAA=)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius:.625rem;--background:#07090e;--foreground:#e8ecf3;--card:#0f131a;--card-foreground:#e8ecf3;--popover:#111620;--popover-foreground:#e8ecf3;--primary:#ffb020;--primary-foreground:#1a1300;--secondary:#161b24;--secondary-foreground:#e8ecf3;--muted:#161b24;--muted-foreground:#8792a4;--accent:#161b24;--accent-foreground:#e8ecf3;--destructive:#ff5a4f;--border:#1e2430;--input:#333c4c;--ring:#5cc8ff;--panel:#0f131a;--erhaben:#161b24;--linie:#1e2430;--linie-stark:#333c4c;--text-2:#aab4c4;--text-3:#8792a4;--flaeche-rand:#94a3c224;--flaeche-rand-hell:#a8b6d642;--bernstein:#ffb020;--bernstein-hell:#ffc24d;--bernstein-grund:#2a1e05;--bernstein-lampe:#3a2a08;--gruen:#3ddc8a;--gruen-text:#7cc9a0;--gruen-grund:#0f2319;--gruen-rand:#1f5a3b;--cyan:#5cc8ff;--cyan-text:#93d5f8;--cyan-grund:#0c2230;--cyan-rand:#2f7fb0;--rot:#ff5a4f;--rot-text:#ff9a92;--rot-grund:#2e0f0d;--rot-rand:#a33a33;--box:#8b95ff;--box-text:#b4bbff;--box-grund:#151a36;--box-rand:#3f4aa8;--lab:#c98bff;--lab-text:#deb8ff;--lab-grund:#22163a;--lab-rand:#6d44a6;--reihe-1:#3987e5;--reihe-2:#d55181;--reihe-3:#c98500;--reihe-weitere:#9aa3ad;--aus-grund:#131821;--aus-rand:#2a3140;--aus-text:#9aa3ad}@keyframes lampe-atmen{0%,to{box-shadow:0 0 10px color-mix(in srgb, var(--bernstein) 25%, transparent)}50%{box-shadow:0 0 22px color-mix(in srgb, var(--bernstein) 45%, transparent)}}@media (prefers-reduced-motion:no-preference){.lampe-atmet{animation:3.2s ease-in-out infinite lampe-atmen}}@keyframes auftauchen{0%{opacity:0;transform:translateY(8px)}}@keyframes ring-fuellen{0%{stroke-dasharray:0 1000}}@keyframes glut-atmen{0%,to{opacity:.6}50%{opacity:1}}@keyframes kreisen{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.auftauchen{animation:.56s cubic-bezier(.2,.7,.2,1) both auftauchen;animation-delay:calc(var(--i,0) * 70ms)}.ring-fuellt{animation:1.1s cubic-bezier(.25,.8,.25,1) both ring-fuellen;animation-delay:calc(var(--i,0) * 45ms + .12s)}.glut-atmet{animation:6s ease-in-out infinite glut-atmen}.kreist{transform-box:fill-box;transform-origin:50%;animation:90s linear infinite kreisen}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} diff --git a/frontend/dist/assets/index-CeLk3zt0.css b/frontend/dist/assets/index-CeLk3zt0.css deleted file mode 100644 index d8113c6..0000000 --- a/frontend/dist/assets/index-CeLk3zt0.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}}@layer theme{:root,:host{--font-sans:"Barlow", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-3xl:1.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Barlow", "Segoe UI", system-ui, sans-serif;--default-mono-font-family:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-anzeige:"Barlow Condensed", "Barlow", "Segoe UI", sans-serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}html{-webkit-font-smoothing:antialiased;font-family:Barlow,Segoe UI,system-ui,sans-serif}body{background-color:var(--background);color:var(--foreground);min-height:100dvh;margin:0}body:before,body:after{content:"";z-index:-1;pointer-events:none;position:fixed;inset:0}body:before{background:radial-gradient(60rem 34rem at 4% -14%, var(--box), transparent 68%), radial-gradient(54rem 32rem at 104% -10%, var(--lab), transparent 64%), radial-gradient(50rem 30rem at 55% 120%, var(--cyan), transparent 70%)}@supports (color:color-mix(in lab, red, red)){body:before{background:radial-gradient(60rem 34rem at 4% -14%, color-mix(in srgb, var(--box) 17%, transparent), transparent 68%), radial-gradient(54rem 32rem at 104% -10%, color-mix(in srgb, var(--lab) 14%, transparent), transparent 64%), radial-gradient(50rem 30rem at 55% 120%, color-mix(in srgb, var(--cyan) 6%, transparent), transparent 70%)}}body:after{background-image:radial-gradient(#ffffff0e 1px,#0000 1.4px);background-size:26px 26px;-webkit-mask-image:linear-gradient(#000 0%,#0000 70%);mask-image:linear-gradient(#000 0%,#0000 70%)}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}}@layer components;@layer utilities{.\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-1{inset:var(--spacing)}.inset-y-0{inset-block:0}.-top-1\.5{top:calc(var(--spacing) * -1.5)}.-top-40{top:calc(var(--spacing) * -40)}.-top-44{top:calc(var(--spacing) * -44)}.-top-48{top:calc(var(--spacing) * -48)}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.-right-0\.5{right:calc(var(--spacing) * -.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.-bottom-0\.5{bottom:calc(var(--spacing) * -.5)}.-bottom-1\.5{bottom:calc(var(--spacing) * -1.5)}.bottom-0{bottom:0}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-24{bottom:calc(var(--spacing) * 24)}.-left-32{left:calc(var(--spacing) * -32)}.-left-36{left:calc(var(--spacing) * -36)}.-left-40{left:calc(var(--spacing) * -40)}.left-0{left:0}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.left-\[5px\]{left:5px}.left-\[80\%\]{left:80%}.left-\[90\%\]{left:90%}.isolate{isolation:isolate}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-2{margin:calc(var(--spacing) * -2)}.m-0{margin:0}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-my-2{margin-block:calc(var(--spacing) * -2)}.my-2{margin-block:calc(var(--spacing) * 2)}.-mt-1{margin-top:calc(var(--spacing) * -1)}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[0\.444em\]{margin-right:.444em}.-mb-2{margin-bottom:calc(var(--spacing) * -2)}.-mb-4{margin-bottom:calc(var(--spacing) * -4)}.mb-0{margin-bottom:0}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.-ml-2{margin-left:calc(var(--spacing) * -2)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-\[0\.111em\]{margin-left:.111em}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-\[11px\]{width:11px;height:11px}.size-\[18px\]{width:18px;height:18px}.size-\[88px\]{width:88px;height:88px}.size-\[132px\]{width:132px;height:132px}.size-\[400px\]{width:400px;height:400px}.size-\[460px\]{width:460px;height:460px}.size-\[560px\]{width:560px;height:560px}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-\[1\.75em\]{height:1.75em}.h-\[min\(75cqw\,150px\)\]{height:min(75cqw,150px)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-56{max-height:calc(var(--spacing) * 56)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[50vh\]{max-height:50vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[132px\]{min-height:132px}.min-h-dvh{min-height:100dvh}.w-0\.5{width:calc(var(--spacing) * .5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-60{width:calc(var(--spacing) * 60)}.w-\[1\.1875em\]{width:1.1875em}.w-full{width:100%}.w-px{width:1px}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-56{max-width:calc(var(--spacing) * 56)}.max-w-\[200px\]{max-width:200px}.max-w-\[1360px\]{max-width:1360px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-40{flex-basis:calc(var(--spacing) * 40)}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-px{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-4{scroll-margin-top:calc(var(--spacing) * 4)}.scroll-mt-6{scroll-margin-top:calc(var(--spacing) * 6)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1\.5rem_minmax\(0\,1fr\)_auto\]{grid-template-columns:1.5rem minmax(0,1fr) auto}.grid-cols-\[10px_minmax\(0\,1fr\)_auto\]{grid-template-columns:10px minmax(0,1fr) auto}.grid-cols-\[11px_minmax\(0\,1fr\)_auto\]{grid-template-columns:11px minmax(0,1fr) auto}.grid-cols-\[64px_18px_minmax\(0\,1fr\)\]{grid-template-columns:64px 18px minmax(0,1fr)}.grid-cols-\[210px_100px_170px_minmax\(0\,1fr\)_auto\]{grid-template-columns:210px 100px 170px minmax(0,1fr) auto}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-\[0\.1875em\]{gap:.1875em}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.self-center{align-self:center}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:calc(var(--radius) * 1.8)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-bernstein\/60{border-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.border-bernstein\/60{border-color:color-mix(in oklab, var(--bernstein) 60%, transparent)}}.border-box-rand{border-color:var(--box-rand)}.border-cyan-rand{border-color:var(--cyan-rand)}.border-cyan\/35{border-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.border-cyan\/35{border-color:color-mix(in oklab, var(--cyan) 35%, transparent)}}.border-gruen-rand{border-color:var(--gruen-rand)}.border-lab-rand{border-color:var(--lab-rand)}.border-rot-rand{border-color:var(--rot-rand)}.border-rot\/40{border-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.border-rot\/40{border-color:color-mix(in oklab, var(--rot) 40%, transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\/10{border-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.border-white\/12{border-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.border-white\/15{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.border-white\/15{border-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.border-white\/\[0\.06\]{border-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.border-white\/\[0\.06\]{border-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.flaeche{border:1px solid var(--rand,var(--flaeche-rand));-webkit-backdrop-filter:blur(18px)saturate(1.4);backdrop-filter:blur(18px)saturate(1.4);background-color:#0c10189e;background-image:linear-gradient(#ffffff0d,#ffffff03 45%,#0000);box-shadow:inset 0 1px #ffffff0e,0 1px 2px #00000059,0 24px 48px -28px #000000e6}.flaeche-innen{background-color:#ffffff07;border:1px solid #94a3c21a}.bg-\[\#0a0d14\]{background-color:#0a0d14}.bg-\[\#0b0d0f\]{background-color:#0b0d0f}.bg-\[\#0e121a\]{background-color:#0e121a}.bg-\[\#121722\]{background-color:#121722}.bg-\[rgb\(8_11_17\/0\.72\)\]{background-color:#080b11b8}.bg-bernstein{background-color:var(--bernstein)}.bg-bernstein-grund{background-color:var(--bernstein-grund)}.bg-bernstein\/10{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/10{background-color:color-mix(in oklab, var(--bernstein) 10%, transparent)}}.bg-bernstein\/35{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/35{background-color:color-mix(in oklab, var(--bernstein) 35%, transparent)}}.bg-bernstein\/70{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/70{background-color:color-mix(in oklab, var(--bernstein) 70%, transparent)}}.bg-bernstein\/\[0\.06\]{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/\[0\.06\]{background-color:color-mix(in oklab, var(--bernstein) 6%, transparent)}}.bg-bernstein\/\[0\.08\]{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.bg-bernstein\/\[0\.08\]{background-color:color-mix(in oklab, var(--bernstein) 8%, transparent)}}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\/30{background-color:color-mix(in oklab, var(--color-black) 30%, transparent)}}.bg-box-grund{background-color:var(--box-grund)}.bg-box\/10{background-color:var(--box)}@supports (color:color-mix(in lab, red, red)){.bg-box\/10{background-color:color-mix(in oklab, var(--box) 10%, transparent)}}.bg-current{background-color:currentColor}.bg-cyan{background-color:var(--cyan)}.bg-cyan-grund{background-color:var(--cyan-grund)}.bg-cyan\/10{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/10{background-color:color-mix(in oklab, var(--cyan) 10%, transparent)}}.bg-cyan\/12{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/12{background-color:color-mix(in oklab, var(--cyan) 12%, transparent)}}.bg-cyan\/35{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/35{background-color:color-mix(in oklab, var(--cyan) 35%, transparent)}}.bg-cyan\/\[0\.06\]{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/\[0\.06\]{background-color:color-mix(in oklab, var(--cyan) 6%, transparent)}}.bg-cyan\/\[0\.07\]{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/\[0\.07\]{background-color:color-mix(in oklab, var(--cyan) 7.0%, transparent)}}.bg-cyan\/\[0\.08\]{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.bg-cyan\/\[0\.08\]{background-color:color-mix(in oklab, var(--cyan) 8%, transparent)}}.bg-gruen{background-color:var(--gruen)}.bg-gruen-grund{background-color:var(--gruen-grund)}.bg-gruen\/10{background-color:var(--gruen)}@supports (color:color-mix(in lab, red, red)){.bg-gruen\/10{background-color:color-mix(in oklab, var(--gruen) 10%, transparent)}}.bg-gruen\/\[0\.07\]{background-color:var(--gruen)}@supports (color:color-mix(in lab, red, red)){.bg-gruen\/\[0\.07\]{background-color:color-mix(in oklab, var(--gruen) 7.0%, transparent)}}.bg-lab{background-color:var(--lab)}.bg-lab-grund{background-color:var(--lab-grund)}.bg-lab\/10{background-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.bg-lab\/10{background-color:color-mix(in oklab, var(--lab) 10%, transparent)}}.bg-lab\/80{background-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.bg-lab\/80{background-color:color-mix(in oklab, var(--lab) 80%, transparent)}}.bg-linie{background-color:var(--linie)}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-rot{background-color:var(--rot)}.bg-rot-grund{background-color:var(--rot-grund)}.bg-rot\/10{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/10{background-color:color-mix(in oklab, var(--rot) 10%, transparent)}}.bg-rot\/12{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/12{background-color:color-mix(in oklab, var(--rot) 12%, transparent)}}.bg-rot\/80{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/80{background-color:color-mix(in oklab, var(--rot) 80%, transparent)}}.bg-rot\/\[0\.07\]{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.bg-rot\/\[0\.07\]{background-color:color-mix(in oklab, var(--rot) 7.0%, transparent)}}.bg-text-3{background-color:var(--text-3)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab, red, red)){.bg-white\/25{background-color:color-mix(in oklab, var(--color-white) 25%, transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.bg-white\/30{background-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.bg-white\/\[0\.07\]{background-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.07\]{background-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-bernstein-hell{--tw-gradient-from:var(--bernstein-hell);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-box\/30{--tw-gradient-from:var(--box)}@supports (color:color-mix(in lab, red, red)){.from-box\/30{--tw-gradient-from:color-mix(in oklab, var(--box) 30%, transparent)}}.from-box\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-lab\/30{--tw-gradient-from:var(--lab)}@supports (color:color-mix(in lab, red, red)){.from-lab\/30{--tw-gradient-from:color-mix(in oklab, var(--lab) 30%, transparent)}}.from-lab\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white\/20{--tw-gradient-from:#fff3}@supports (color:color-mix(in lab, red, red)){.from-white\/20{--tw-gradient-from:color-mix(in oklab, var(--color-white) 20%, transparent)}}.from-white\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white\/\[0\.1\]{--tw-gradient-from:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.from-white\/\[0\.1\]{--tw-gradient-from:color-mix(in oklab, var(--color-white) 10%, transparent)}}.from-white\/\[0\.1\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-white\/\[0\.07\]{--tw-gradient-from:#ffffff12}@supports (color:color-mix(in lab, red, red)){.from-white\/\[0\.07\]{--tw-gradient-from:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.from-white\/\[0\.07\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-bernstein{--tw-gradient-to:var(--bernstein);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-box\/\[0\.05\]{--tw-gradient-to:var(--box)}@supports (color:color-mix(in lab, red, red)){.to-box\/\[0\.05\]{--tw-gradient-to:color-mix(in oklab, var(--box) 5%, transparent)}}.to-box\/\[0\.05\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-lab\/\[0\.05\]{--tw-gradient-to:var(--lab)}@supports (color:color-mix(in lab, red, red)){.to-lab\/\[0\.05\]{--tw-gradient-to:color-mix(in oklab, var(--lab) 5%, transparent)}}.to-lab\/\[0\.05\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white\/0{--tw-gradient-to:#0000}@supports (color:color-mix(in lab, red, red)){.to-white\/0{--tw-gradient-to:color-mix(in oklab, var(--color-white) 0%, transparent)}}.to-white\/0{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white\/\[0\.02\]{--tw-gradient-to:#ffffff05}@supports (color:color-mix(in lab, red, red)){.to-white\/\[0\.02\]{--tw-gradient-to:color-mix(in oklab, var(--color-white) 2%, transparent)}}.to-white\/\[0\.02\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-white\/\[0\.03\]{--tw-gradient-to:#ffffff08}@supports (color:color-mix(in lab, red, red)){.to-white\/\[0\.03\]{--tw-gradient-to:color-mix(in oklab, var(--color-white) 3%, transparent)}}.to-white\/\[0\.03\]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.bg-clip-padding{background-clip:padding-box}.fill-text-2{fill:var(--text-2)}.fill-text-3{fill:var(--text-3)}.object-contain{object-fit:contain}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.pb-\[calc\(1\.25rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))}.pb-\[min\(10cqw\,20px\)\]{padding-bottom:min(10cqw,20px)}.pl-1{padding-left:var(--spacing)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.etikett{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.12em;font-weight:600}.font-anzeige,.font-heading{font-family:Barlow Condensed,Barlow,Segoe UI,sans-serif}.font-mono{font-family:JetBrains Mono,ui-monospace,Cascadia Mono,Consolas,monospace}.font-sans{font-family:Barlow,Segoe UI,system-ui,sans-serif}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.5625em\]{font-size:.5625em}.text-\[9\.5px\]{font-size:9.5px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14\.5px\]{font-size:14.5px}.text-\[14px\]{font-size:14px}.text-\[15\.5px\]{font-size:15.5px}.text-\[15px\]{font-size:15px}.text-\[16\.5px\]{font-size:16.5px}.text-\[17px\]{font-size:17px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[21px\]{font-size:21px}.text-\[26px\]{font-size:26px}.text-\[28px\]{font-size:28px}.text-\[30px\]{font-size:30px}.text-\[32px\]{font-size:32px}.text-\[38px\]{font-size:38px}.text-\[length\:clamp\(14px\,14\.5cqw\,32px\)\]{font-size:clamp(14px,14.5cqw,32px)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.005em\]{--tw-tracking:.005em;letter-spacing:.005em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.32em\]{--tw-tracking:.32em;letter-spacing:.32em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-bernstein{color:var(--bernstein)}.text-box{color:var(--box)}.text-box-text{color:var(--box-text)}.text-cyan{color:var(--cyan)}.text-cyan-text{color:var(--cyan-text)}.text-foreground{color:var(--foreground)}.text-gruen{color:var(--gruen)}.text-gruen-text{color:var(--gruen-text)}.text-lab{color:var(--lab)}.text-lab-text{color:var(--lab-text)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.text-rot{color:var(--rot)}.text-rot-text{color:var(--rot-text)}.text-text-2{color:var(--text-2)}.text-text-3{color:var(--text-3)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.italic{font-style:italic}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--lab\)\]{accent-color:var(--lab)}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_var\(--bernstein\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--bernstein));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_var\(--cyan\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--cyan));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_var\(--gruen\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--gruen));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_8px_var\(--rot\)\]{--tw-shadow:0 0 8px var(--tw-shadow-color,var(--rot));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_10px_var\(--cyan\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,var(--cyan));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_28px_-6px_var\(--box\)\]{--tw-shadow:0 0 28px -6px var(--tw-shadow-color,var(--box));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_28px_-6px_var\(--lab\)\]{--tw-shadow:0 0 28px -6px var(--tw-shadow-color,var(--lab));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgb\(255_255_255\/0\.06\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff0f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgb\(255_255_255\/0\.35\)\,0_8px_22px_-10px_var\(--bernstein\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff59), 0 8px 22px -10px var(--tw-shadow-color,var(--bernstein));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[3px\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[\#0b0f16\]{--tw-ring-color:#0b0f16}.ring-\[\#0d1119\]{--tw-ring-color:#0d1119}.ring-bernstein\/30{--tw-ring-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.ring-bernstein\/30{--tw-ring-color:color-mix(in oklab, var(--bernstein) 30%, transparent)}}.ring-bernstein\/35{--tw-ring-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.ring-bernstein\/35{--tw-ring-color:color-mix(in oklab, var(--bernstein) 35%, transparent)}}.ring-box\/30{--tw-ring-color:var(--box)}@supports (color:color-mix(in lab, red, red)){.ring-box\/30{--tw-ring-color:color-mix(in oklab, var(--box) 30%, transparent)}}.ring-box\/35{--tw-ring-color:var(--box)}@supports (color:color-mix(in lab, red, red)){.ring-box\/35{--tw-ring-color:color-mix(in oklab, var(--box) 35%, transparent)}}.ring-cyan\/25{--tw-ring-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.ring-cyan\/25{--tw-ring-color:color-mix(in oklab, var(--cyan) 25%, transparent)}}.ring-cyan\/30{--tw-ring-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.ring-cyan\/30{--tw-ring-color:color-mix(in oklab, var(--cyan) 30%, transparent)}}.ring-foreground\/10{--tw-ring-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.ring-foreground\/10{--tw-ring-color:color-mix(in oklab, var(--foreground) 10%, transparent)}}.ring-gruen\/25{--tw-ring-color:var(--gruen)}@supports (color:color-mix(in lab, red, red)){.ring-gruen\/25{--tw-ring-color:color-mix(in oklab, var(--gruen) 25%, transparent)}}.ring-gruen\/30{--tw-ring-color:var(--gruen)}@supports (color:color-mix(in lab, red, red)){.ring-gruen\/30{--tw-ring-color:color-mix(in oklab, var(--gruen) 30%, transparent)}}.ring-lab\/30{--tw-ring-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.ring-lab\/30{--tw-ring-color:color-mix(in oklab, var(--lab) 30%, transparent)}}.ring-lab\/35{--tw-ring-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.ring-lab\/35{--tw-ring-color:color-mix(in oklab, var(--lab) 35%, transparent)}}.ring-rot\/35{--tw-ring-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.ring-rot\/35{--tw-ring-color:color-mix(in oklab, var(--rot) 35%, transparent)}}.ring-rot\/40{--tw-ring-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.ring-rot\/40{--tw-ring-color:color-mix(in oklab, var(--rot) 40%, transparent)}}.ring-white\/10{--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.ring-white\/10{--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.ring-white\/12{--tw-ring-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.ring-white\/12{--tw-ring-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.ring-white\/15{--tw-ring-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.ring-white\/15{--tw-ring-color:color-mix(in oklab, var(--color-white) 15%, transparent)}}.ring-white\/\[0\.07\]{--tw-ring-color:#ffffff12}@supports (color:color-mix(in lab, red, red)){.ring-white\/\[0\.07\]{--tw-ring-color:color-mix(in oklab, var(--color-white) 7.0%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.blur-xl{--tw-blur:blur(var(--blur-xl));filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\,filter\]{transition-property:background-color,border-color,color,box-shadow,filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[filter\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[stroke-dasharray\]{transition-property:stroke-dasharray;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--rand\:color-mix\(in_srgb\,var\(--box\)_28\%\,transparent\)\]{--rand:var(--box)}@supports (color:color-mix(in lab, red, red)){.\[--rand\:color-mix\(in_srgb\,var\(--box\)_28\%\,transparent\)\]{--rand:color-mix(in srgb,var(--box) 28%,transparent)}}.\[--rand\:color-mix\(in_srgb\,var\(--box\)_32\%\,transparent\)\]{--rand:var(--box)}@supports (color:color-mix(in lab, red, red)){.\[--rand\:color-mix\(in_srgb\,var\(--box\)_32\%\,transparent\)\]{--rand:color-mix(in srgb,var(--box) 32%,transparent)}}.\[--rand\:color-mix\(in_srgb\,var\(--lab\)_28\%\,transparent\)\]{--rand:var(--lab)}@supports (color:color-mix(in lab, red, red)){.\[--rand\:color-mix\(in_srgb\,var\(--lab\)_28\%\,transparent\)\]{--rand:color-mix(in srgb,var(--lab) 28%,transparent)}}.\[--rand\:color-mix\(in_srgb\,var\(--lab\)_32\%\,transparent\)\]{--rand:var(--lab)}@supports (color:color-mix(in lab, red, red)){.\[--rand\:color-mix\(in_srgb\,var\(--lab\)_32\%\,transparent\)\]{--rand:color-mix(in srgb,var(--lab) 32%,transparent)}}.\[font-variant-ligatures\:none\]{font-variant-ligatures:none}.\[grid-area\:herkunft\]{grid-area:herkunft}.\[grid-area\:knoepfe\]{grid-area:knoepfe}.\[grid-area\:name\]{grid-area:name}.\[grid-area\:text\]{grid-area:text}.\[grid-area\:zeit\]{grid-area:zeit}.\[grid-template-areas\:\'name_herkunft\'_\'zeit_zeit\'_\'text_text\'_\'knoepfe_knoepfe\'\]{grid-template-areas:"name herkunft""zeit zeit""text text""knoepfe knoepfe"}.paused{animation-play-state:paused}.ring-inset{--tw-ring-inset:inset}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg}@media (hover:hover){.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:bg-white\/\[0\.06\]:is(:where(.group):hover *){background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-white\/\[0\.06\]:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.group-hover\:text-foreground:is(:where(.group):hover *){color:var(--foreground)}.group-hover\:text-text-2:is(:where(.group):hover *){color:var(--text-2)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-2\.5:before{content:var(--tw-content);top:calc(var(--spacing) * 2.5)}.before\:bottom-2\.5:before{content:var(--tw-content);bottom:calc(var(--spacing) * 2.5)}.before\:left-0:before{content:var(--tw-content);left:0}.before\:w-\[3px\]:before{content:var(--tw-content);width:3px}.before\:rounded-full:before{content:var(--tw-content);border-radius:2147483647px}.before\:bg-bernstein:before{content:var(--tw-content);background-color:var(--bernstein)}.before\:bg-box:before{content:var(--tw-content);background-color:var(--box)}.before\:bg-lab:before{content:var(--tw-content);background-color:var(--lab)}.before\:bg-text-2:before{content:var(--tw-content);background-color:var(--text-2)}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:shadow-\[0_0_12px_var\(--bernstein\)\]:before{content:var(--tw-content);--tw-shadow:0 0 12px var(--tw-shadow-color,var(--bernstein));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:shadow-\[0_0_12px_var\(--box\)\]:before{content:var(--tw-content);--tw-shadow:0 0 12px var(--tw-shadow-color,var(--box));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:shadow-\[0_0_12px_var\(--lab\)\]:before{content:var(--tw-content);--tw-shadow:0 0 12px var(--tw-shadow-color,var(--lab));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.before\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:pt-0:first-child{padding-top:0}.first\:pt-1:first-child{padding-top:var(--spacing)}.open\:pb-2:is([open],:popover-open,:open){padding-bottom:calc(var(--spacing) * 2)}.open\:pb-3:is([open],:popover-open,:open){padding-bottom:calc(var(--spacing) * 3)}@media (hover:hover){.hover\:border-white\/20:hover{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:border-white\/20:hover{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:bg-bernstein\/\[0\.13\]:hover{background-color:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-bernstein\/\[0\.13\]:hover{background-color:color-mix(in oklab, var(--bernstein) 13%, transparent)}}.hover\:bg-box\/20:hover{background-color:var(--box)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-box\/20:hover{background-color:color-mix(in oklab, var(--box) 20%, transparent)}}.hover\:bg-cyan\/15:hover{background-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-cyan\/15:hover{background-color:color-mix(in oklab, var(--cyan) 15%, transparent)}}.hover\:bg-lab\/20:hover{background-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-lab\/20:hover{background-color:color-mix(in oklab, var(--lab) 20%, transparent)}}.hover\:bg-rot-grund:hover{background-color:var(--rot-grund)}.hover\:bg-rot\/15:hover{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rot\/15:hover{background-color:color-mix(in oklab, var(--rot) 15%, transparent)}}.hover\:bg-rot\/\[0\.18\]:hover{background-color:var(--rot)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rot\/\[0\.18\]:hover{background-color:color-mix(in oklab, var(--rot) 18%, transparent)}}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.05\]:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.08\]:hover{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.hover\:bg-white\/\[0\.045\]:hover{background-color:#ffffff0b}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.045\]:hover{background-color:color-mix(in oklab, var(--color-white) 4.5%, transparent)}}.hover\:text-cyan:hover{color:var(--cyan)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-lab-text:hover{color:var(--lab-text)}.hover\:text-rot-text:hover{color:var(--rot-text)}.hover\:text-text-2:hover{color:var(--text-2)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:brightness-110:hover{--tw-brightness:brightness(110%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.hover\:brightness-125:hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.focus\:border-cyan\/60:focus{border-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.focus\:border-cyan\/60:focus{border-color:color-mix(in oklab, var(--cyan) 60%, transparent)}}.focus\:border-lab\/60:focus{border-color:var(--lab)}@supports (color:color-mix(in lab, red, red)){.focus\:border-lab\/60:focus{border-color:color-mix(in oklab, var(--lab) 60%, transparent)}}.focus\:bg-white\/\[0\.06\]:focus{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.focus\:bg-white\/\[0\.06\]:focus{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.focus-visible\:rounded-md:focus-visible{border-radius:calc(var(--radius) * .8)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-cyan\/60:focus-visible{--tw-ring-color:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-cyan\/60:focus-visible{--tw-ring-color:color-mix(in oklab, var(--cyan) 60%, transparent)}}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\:not-aria-\[haspopup\]\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-45:disabled{opacity:.45}.data-\[side\=bottom\]\:inset-x-0[data-side=bottom]{inset-inline:0}.data-\[side\=bottom\]\:bottom-0[data-side=bottom]{bottom:0}.data-\[side\=bottom\]\:h-auto[data-side=bottom]{height:auto}.data-\[side\=bottom\]\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[side\=left\]\:inset-y-0[data-side=left]{inset-block:0}.data-\[side\=left\]\:left-0[data-side=left]{left:0}.data-\[side\=left\]\:h-full[data-side=left]{height:100%}.data-\[side\=left\]\:w-3\/4[data-side=left]{width:75%}.data-\[side\=left\]\:w-\[300px\][data-side=left]{width:300px}.data-\[side\=left\]\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[side\=right\]\:inset-y-0[data-side=right]{inset-block:0}.data-\[side\=right\]\:right-0[data-side=right]{right:0}.data-\[side\=right\]\:h-full[data-side=right]{height:100%}.data-\[side\=right\]\:w-3\/4[data-side=right]{width:75%}.data-\[side\=right\]\:w-full[data-side=right]{width:100%}.data-\[side\=right\]\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[side\=top\]\:inset-x-0[data-side=top]{inset-inline:0}.data-\[side\=top\]\:top-0[data-side=top]{top:0}.data-\[side\=top\]\:h-auto[data-side=top]{height:auto}.data-\[side\=top\]\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\[status\=active\]\:from-bernstein\/\[0\.16\][data-status=active]{--tw-gradient-from:var(--bernstein)}@supports (color:color-mix(in lab, red, red)){.data-\[status\=active\]\:from-bernstein\/\[0\.16\][data-status=active]{--tw-gradient-from:color-mix(in oklab, var(--bernstein) 16%, transparent)}}.data-\[status\=active\]\:from-bernstein\/\[0\.16\][data-status=active]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.data-\[status\=active\]\:from-box\/\[0\.2\][data-status=active]{--tw-gradient-from:var(--box)}@supports (color:color-mix(in lab, red, red)){.data-\[status\=active\]\:from-box\/\[0\.2\][data-status=active]{--tw-gradient-from:color-mix(in oklab, var(--box) 20%, transparent)}}.data-\[status\=active\]\:from-box\/\[0\.2\][data-status=active]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.data-\[status\=active\]\:from-lab\/\[0\.2\][data-status=active]{--tw-gradient-from:var(--lab)}@supports (color:color-mix(in lab, red, red)){.data-\[status\=active\]\:from-lab\/\[0\.2\][data-status=active]{--tw-gradient-from:color-mix(in oklab, var(--lab) 20%, transparent)}}.data-\[status\=active\]\:from-lab\/\[0\.2\][data-status=active]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.data-\[status\=active\]\:from-white\/\[0\.08\][data-status=active]{--tw-gradient-from:#ffffff14}@supports (color:color-mix(in lab, red, red)){.data-\[status\=active\]\:from-white\/\[0\.08\][data-status=active]{--tw-gradient-from:color-mix(in oklab, var(--color-white) 8%, transparent)}}.data-\[status\=active\]\:from-white\/\[0\.08\][data-status=active]{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.data-\[status\=active\]\:text-foreground[data-status=active]{color:var(--foreground)}.data-\[status\=active\]\:before\:opacity-100[data-status=active]:before{content:var(--tw-content);opacity:1}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (prefers-reduced-motion:no-preference){.motion-safe\:animate-pulse{animation:var(--animate-pulse)}.motion-safe\:animate-spin{animation:var(--animate-spin)}}@media (width>=480px){.min-\[480px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-start-3{grid-column-start:3}.sm\:row-start-1{grid-row-start:1}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:size-\[168px\]{width:168px;height:168px}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1\.5fr\)_70px_130px_minmax\(0\,1\.5fr\)\]{grid-template-columns:minmax(0,1.5fr) 70px 130px minmax(0,1.5fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_120px_160px\]{grid-template-columns:minmax(0,1fr) 120px 160px}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:gap-8{gap:calc(var(--spacing) * 8)}.sm\:self-start{align-self:flex-start}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pt-6{padding-top:calc(var(--spacing) * 6)}.sm\:text-left{text-align:left}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-\[10px\]{font-size:10px}.sm\:text-\[22px\]{font-size:22px}.sm\:text-\[34px\]{font-size:34px}.sm\:text-\[44px\]{font-size:44px}.sm\:text-\[46px\]{font-size:46px}.data-\[side\=left\]\:sm\:max-w-sm[data-side=left]{max-width:var(--container-sm)}.data-\[side\=right\]\:sm\:max-w-2xl[data-side=right]{max-width:var(--container-2xl)}.data-\[side\=right\]\:sm\:max-w-sm[data-side=right]{max-width:var(--container-sm)}.data-\[side\=right\]\:sm\:max-w-xl[data-side=right]{max-width:var(--container-xl)}}@media (width>=48rem){.md\:left-auto{left:auto}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-4{grid-column:span 4/span 4}.md\:block{display:block}.md\:grid{display:grid}.md\:hidden{display:none}.md\:w-\[420px\]{width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[210px_100px_170px_minmax\(0\,1fr\)_auto\]{grid-template-columns:210px 100px 170px minmax(0,1fr) auto}.md\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,1\.3fr\)_minmax\(0\,1fr\)_minmax\(0\,0\.9fr\)_11\.5rem\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) 11.5rem}.md\:grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.1fr\)_minmax\(0\,1\.1fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.1fr) minmax(0,1.1fr)}.md\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)_110px\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 110px}.md\:grid-cols-\[minmax\(0\,1\.6fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.4fr)}.md\:grid-cols-\[minmax\(0\,1\.35fr\)_110px_minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,1fr\)_90px\]{grid-template-columns:minmax(0,1.35fr) 110px minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) 90px}.md\:grid-rows-\[auto_auto_1fr\]{grid-template-rows:auto auto 1fr}.md\:flex-col{flex-direction:column}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:items-stretch{align-items:stretch}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-x-4{column-gap:calc(var(--spacing) * 4)}.md\:justify-self-end{justify-self:flex-end}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:pt-8{padding-top:calc(var(--spacing) * 8)}.md\:pb-1{padding-bottom:var(--spacing)}.md\:pl-\[18px\]{padding-left:18px}.md\:text-\[32px\]{font-size:32px}.md\:\[grid-template-areas\:\'name_herkunft\'_\'zeit_knoepfe\'_\'text_knoepfe\'\]{grid-template-areas:"name herkunft""zeit knoepfe""text knoepfe"}}@media (width>=64rem){.lg\:bottom-6{bottom:calc(var(--spacing) * 6)}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:grid-flow-col{grid-auto-flow:column}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[272px_minmax\(0\,1fr\)\]{grid-template-columns:272px minmax(0,1fr)}.lg\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)_minmax\(0\,0\.8fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,.8fr)}.lg\:grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.lg\:grid-rows-\[repeat\(var\(--zeilen\)\,auto\)\]{grid-template-rows:repeat(var(--zeilen),auto)}.lg\:items-start{align-items:flex-start}.lg\:gap-5{gap:calc(var(--spacing) * 5)}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}}@media (width>=80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-start-auto{grid-column-start:auto}.xl\:row-start-auto{grid-row-start:auto}.xl\:block{display:block}.xl\:grid{display:grid}.xl\:hidden{display:none}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.7fr\)_7rem_minmax\(0\,0\.7fr\)_minmax\(0\,1\.2fr\)_7\.5rem_5rem_9\.5rem\]{grid-template-columns:minmax(0,1.7fr) 7rem minmax(0,.7fr) minmax(0,1.2fr) 7.5rem 5rem 9.5rem}.xl\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,340px\)\]{grid-template-columns:minmax(0,1fr) minmax(0,340px)}.xl\:grid-cols-\[minmax\(10\.5rem\,1\.1fr\)_7\.5rem_minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)_11rem\]{grid-template-columns:minmax(10.5rem,1.1fr) 7.5rem minmax(0,1fr) minmax(0,1.4fr) 11rem}.xl\:grid-rows-none{grid-template-rows:none}.xl\:flex-col{flex-direction:column}.xl\:items-center{align-items:center}.xl\:items-stretch{align-items:stretch}.xl\:gap-8{gap:calc(var(--spacing) * 8)}.xl\:gap-10{gap:calc(var(--spacing) * 10)}.xl\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.xl\:self-center{align-self:center}.xl\:justify-self-start{justify-self:flex-start}.xl\:justify-self-stretch{justify-self:stretch}.xl\:pt-0{padding-top:0}.xl\:\[grid-template-areas\:\'name_herkunft_zeit_text_knoepfe\'\]{grid-template-areas:"name herkunft zeit text knoepfe"}}@media (width>=87.5rem){.min-\[87\.5rem\]\:grid-cols-\[minmax\(0\,1\.7fr\)_7rem_minmax\(0\,0\.7fr\)_minmax\(0\,1\.2fr\)_7\.5rem_5rem_17\.5rem\]{grid-template-columns:minmax(0,1.7fr) 7rem minmax(0,.7fr) minmax(0,1.2fr) 7.5rem 5rem 17.5rem}.min-\[87\.5rem\]\:flex-row{flex-direction:row}.min-\[87\.5rem\]\:justify-end{justify-content:flex-end}}@media (width>=96rem){.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (width>=24rem){.\@sm\:col-span-1{grid-column:span 1/span 1}.\@sm\:col-start-2{grid-column-start:2}.\@sm\:col-start-3{grid-column-start:3}.\@sm\:row-start-1{grid-row-start:1}.\@sm\:grid-cols-\[112px_minmax\(0\,1fr\)_auto\]{grid-template-columns:112px minmax(0,1fr) auto}.\@sm\:pl-\[124px\]{padding-left:124px}}.data-open\:animate-in:where([data-state=open]),.data-open\:animate-in:where([data-open]:not([data-open=false])){animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\:fade-in-0:where([data-state=open]),.data-open\:fade-in-0:where([data-open]:not([data-open=false])){--tw-enter-opacity:0}.data-open\:zoom-in-95:where([data-state=open]),.data-open\:zoom-in-95:where([data-open]:not([data-open=false])){--tw-enter-scale:.95}.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-state=open]),.data-\[side\=bottom\]\:data-open\:slide-in-from-bottom-10[data-side=bottom]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-state=open]),.data-\[side\=left\]\:data-open\:slide-in-from-left-10[data-side=left]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-state=open]),.data-\[side\=right\]\:data-open\:slide-in-from-right-10[data-side=right]:where([data-open]:not([data-open=false])){--tw-enter-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-state=open]),.data-\[side\=top\]\:data-open\:slide-in-from-top-10[data-side=top]:where([data-open]:not([data-open=false])){--tw-enter-translate-y:calc(.1*-100%)}.data-closed\:animate-out:where([data-state=closed]),.data-closed\:animate-out:where([data-closed]:not([data-closed=false])){animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\:fade-out-0:where([data-state=closed]),.data-closed\:fade-out-0:where([data-closed]:not([data-closed=false])){--tw-exit-opacity:0}.data-closed\:zoom-out-95:where([data-state=closed]),.data-closed\:zoom-out-95:where([data-closed]:not([data-closed=false])){--tw-exit-scale:.95}.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-state=closed]),.data-\[side\=bottom\]\:data-closed\:slide-out-to-bottom-10[data-side=bottom]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*100%)}.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-state=closed]),.data-\[side\=left\]\:data-closed\:slide-out-to-left-10[data-side=left]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*-100%)}.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-state=closed]),.data-\[side\=right\]\:data-closed\:slide-out-to-right-10[data-side=right]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-x:calc(.1*100%)}.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-state=closed]),.data-\[side\=top\]\:data-closed\:slide-out-to-top-10[data-side=top]:where([data-closed]:not([data-closed=false])){--tw-exit-translate-y:calc(.1*-100%)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}:is(.\*\:\[a\]\:underline>*):is(a){text-decoration-line:underline}:is(.\*\:\[a\]\:underline-offset-3>*):is(a){text-underline-offset:3px}@media (hover:hover){:is(.\*\:\[a\]\:hover\:text-foreground>*):is(a):hover{color:var(--foreground)}}.data-\[status\=active\]\:\[\&\>svg\]\:text-bernstein[data-status=active]>svg{color:var(--bernstein)}.data-\[status\=active\]\:\[\&\>svg\]\:text-box[data-status=active]>svg{color:var(--box)}.data-\[status\=active\]\:\[\&\>svg\]\:text-foreground[data-status=active]>svg{color:var(--foreground)}.data-\[status\=active\]\:\[\&\>svg\]\:text-lab[data-status=active]>svg{color:var(--lab)}.schild{font-family:var(--font-anzeige);text-transform:uppercase;letter-spacing:.16em;font-weight:600}.ziffern{font-family:var(--font-mono);font-variant-numeric:tabular-nums}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@property --scroll-fade-t{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}@media (prefers-reduced-motion:reduce){.shimmer{-webkit-text-fill-color:currentColor;background-image:none;animation:none}}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2)format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2)format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2)format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2)format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2)format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2)format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbUAA8AAAAACOgAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgFwRca1NUQVQAAAIMAAAARgAAAF7mY9MfY21hcAAAAlQAAABRAAAAdAyHCodnYXNwAAACqAAAAAgAAAAIAAAAEGdseWYAAAKwAAAB6QAAAl7g5OpvaGVhZAAABJwAAAA2AAAANhSQ8UNoaGVhAAAE1AAAAB8AAAAkAcoBImhtdHgAAAT0AAAAHgAAADofBAM2bG9jYQAABRQAAAAgAAAAIATcBZ9tYXhwAAAFNAAAABwAAAAgAIcCb25hbWUAAAVQAAABEgAAAoA4pV3kcG9zdAAABmQAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpinMDAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWABNDDdYAAAB42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42lXIRwHCQBAF0JceehWAlTjhjikUgAVQA4mJLbdk5neUqHBVKWSv3XF2VCnt3AyevkVZv+sxBBbbq/6HfFP4hEcYQgEK82v1aHQ5RTs3FRQAAAAAAQAB//8AD3jabZA1tNRAFEDfTGDdfXHI2QQnZJJvK5ngDs13Welwt/78CtcS7xvcrcHKbXCtceh+wgtu437nXRCgC4BY9AGOXOAFYNHR0dzoKCGju8gJ6xiZaF3DWqcPBiSV5i2geaCgAlAJ77ghgjfiLC7KojvOZEmSXS63emXr5W7lsTLtXFMkRmks4ly+cYOEnvO2YLDNANv+9oJwhkpAAJAcHPG/1RC2BERc1ZGGMxYVWDyVSjc0NMaZELUf9e4JhCgNB3b2PiJRctuqZ0WPR8zilxutN/ji97vUBYMAnGjtzxjtK3wrDaMABo+R9KjWwNRUMppwuWS1QdfFZCIlMF2TxDGuJJlYW7OmVlvD+sx86b1hvC/l8yXf2hqZ66xbZ80yWzyD9/fzGaRzA58+nSOzYC+gw9AP+vyNqUAUhoD4lSnputbgUFPJ5O9Y+ReWlxkrc96naX08b3zk/KORb+E+VjYPmH1M6+UHeVlDtCzzGZ9FY8YMA8gPMsQA0jqaGkHT6cYSdVwl7Zs9Wzx+DyWUugPujd03T52ikrUvM26kF9PIcRmycuDBKcd3XRhPDgtnQACINzJ3fVl1tTB++3bc2S7kyD3cCQIQNMcSKaY2YOciE+d0zFbGjps6u0PILTFlRZHNJfAFnfeHtgAAAAABAAAAAjYEro52gl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8vk5/tQEkgP8AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA8uGn5Z/+1kmAUVQAR8Ar8AG6gB42mOKYIgCYiMkrAzCUHEbJJoBikHgCkMPAPDwCFUAAAAAABoAOwBGAFEAbwB3AKkAsQDmAQkBCQEJAQkBFgEveNpjYGRgYOBn3MGQx7CFgQ3MQwBmBiYALRoB+HjajJADbgVQEEXPZ20bQW3bthvXbr8Vp4to1KV0AV1Wb9JvZzJvzhvcB6CQL0wYzHnAj6E/yAYaDeVBNlJsMAfZxCy/QTbTy3eQLdTzGWQr3VwGuZhx2v/ZAIVUB9kc0TSUKJ8f5FIRHGPjnWs+2MKt+MYzt1xwr/jIk3JymR0X0wzIXKo7VbXjFvfLn3lTtCn7qPoB6+yyzb3qy8pdq/6hrj11fMj7OFbtEY+mrlU/516rVFCdVobplw/JEjVaCaqIYlUiUzOaW9aa/Q1idmlPXZHbCagW/B10XwaRi06VuVdMf+9DnIov6rlF8yzhUXxC/4c66Uz48UepqEN9N/Tzt2RwjOljsUUfj581AbaEXsIAAHjaY2BiAIP/qQxGQIqRAR3wA7EKw0lGJgYbRmZGFkZWRjZGdgZmRg5GTkYuRm42x6Si1LJU9tK8TAMTR1cI7WoB5btB+Zas6Ym5uYlgnoGjAZNzEF9icmlJanJ+bpJecmJxKg9IxtjADMwBAKDtHJg=)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA9UABAAAAAALMAAAA7zAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhWocghYGYD9TVEFUXgCDBBEICrBAp3ILgjgAATYCJAOEKAQgBYUAB4xODAcbIiYzo8LGAQCKfn4o/usELQ4rdj22ABHwitFYjZPqB3XSqAbV3C5dFkHYtTehxpeGbU+3+QexdERCkxARw9oNxAyetvXzdhdjl/7aiBiHgcqBjZywaGPSh4mNFccpF3DHlfyO8Jc/OiSe/kb7/iQYRAE23iScpHngiRRBFETNiZzQwc2HOllJ0fqXIjTY8RTYbDsklKc81hGPQcOJojhD/w80ll1aG/qiQErbzqOXjmvOVKd14tuv+Hxrlbarq/5xH7CiMPjaZXlrfNSp7uqaroZXvYAzc8A0kH2zs3MvHQBUORcJ2GG2cdFRgArh+Sgb7yOsjImpmgM0kq1FwhQCQzQ1Mt+j7at5GSAAIQAAKFLk6uMul4pIl4HIpEEUK0dUMiCMmhFWNoSDC+Exghgzi5i3hNhtN9qaINo+EbQj1tEIgJVLj5oebQ6I1/fyLMQYALYgALKS0yEOQCJG89uIiEPKyeRDVCmC0HgZ203jIg7kk6cHxfEKeBSDXtxd6n5yJzqpfSgXs9xMri1fPezlKMAVcCGEIhmwHiDRtJOyKfXkGsAVqI7ohIZs0rsDM/IU4fuQgkppCk2n+VRHy6mFttJ26t16mBjQPyIeYhvZnyXaiDSeaAYYXLiKPIm4uKh1zIq6gSRVU7WNPIV5v1PwBOy07RrrT6skwoEAtYyZeYgpBUABaDEmtPWRGP/UGABFgUUjchFXAghAgAYQpyPkCIBBoRwQgU/g3kQcyqTY9KSDItmjjmmkP+qJHG3C66hjXhtlhzwglI+1+4Be+T77hYQxxeNkCIDaKU+ANXhkMqePOVAQr7uwCjoBlCdtHQE8TNRd17//A/evkhSpkOMDA9VTmwAVAbLNlwMkoAG5qG2bWCYA/h3uEYgEhFqSmJJPpCIFbJHg1Aw5GaAujjqMzIHc8NrIHBEJJjGZP3cuFQZD9PvzLvZIaCIjBcTvEnIzTWiGjqdzlD+VAO2TUERK8smEi8lNNOguiAM9P6Gfo6bX8bD0v7V/cPwA/fDBi0BaGgUllWy5AATy6X9gAZqRVIsMLuVmqQ3QmrBbiFgTiWbxLDj1hBqINGLVYewQwySWWRyeQK1kXVJ0S2UjZ5WgXaIOSTodp42CUzqHXH226ZfJI4tXth45eqnslGdQgSGFhmmMyOdTbEyJcdv56U0pNa3MDJ1JVRZUmldtkcESglQkAOA8AMgAoBeYLQi+wDxAtwAAGlXJUdVLPLmo/TLRystE3SsqO29LUY0hsrtvBoXUw1Fy+XjIhqbj4rEZISsUysW1L68PlGRwyWImjWXjS9LFyUzjC7v7Z5hYsYKRhIH49EyxTJxutwOy2PRxp1R63SVViB+eNFYRywlEzJBIMDIl5Aa4PtbFOno416WTTkfVQwSPgIve66BCbLAuLmpCh59ln5uFECODSuUIJ2CJCCzDwbf+DV2/3yTtan5J1gEVuilcVASHULO9Bt+nWkIEHMMit5gOxaO4JpWjvdzOcySeFek9q4dy3jxi2BxHwsuuo2CzbQ+KJWxyqPUJljVCU3WT8JwlhZyLkKODRhZkQByHu8ERJIcGBexSmdwGPfMPbjnC0SwRUTyCAIwY4Mdr9zxJTKE5yp0mcEe9s3Umm/TZp2s4X/27cQUmhrd4Ow4ibPOTOxxT6w+S8ENc9AGE7meFOlNbuzjngJtzjFKcrMsxtf4G4UIPcNGXbvwNaeDea6+1L7kaYG+M13a455pruOh5Ww0HlhllPy/PsqS9Zr7ZV9cSLODAoItzBt2cI5i1brCxQRIcH6yr9wV5+XjhtlxuziH7LiqGTXVnkfCZntd1doJ5liyIno6X3GqH56fcnGNwE2IXvYhw5a/MJGsMns/TOawd+2HX5kOXxQZFsYkwmMetzGtqKDKSe+h9h7jX77z2Snb98vyL7rjmil1N3B/cCBfsC5rymA/ExpPlni/DL9i7eflmn66oxrSlMRRB/8Dbq/e/3aN95L3BG+dFd1d+uCVzKhQy5/+I77CmWJ/o2Hygaay8yleXU1c1NH2IpqHOYUtriyWHf3iZwxjZvNxm/Ti/O5+22uC3nVFxhu1wvQc08ZZ+nb5/9oBF38ehJXaKPt7K6/v34Ltqai21rbXDXI3BRDa+9XDSGp8gzZZarV2ag9v3RBzSNfFjU/M+uVduNDTsMNY0GCOHDU3O4dazeb3zFXjg0rlPuiV75+m+kzV3v5qc/PHdJ2j6pI+wDP+U7mFPW/uw23ltZemTVTo+3+KNa1yyuwdmfI41j1/yvbG3oaLR3G3Sd1xdrNOUfAou3jYw0z860D9jr+9sqU1IIHve9W56/fIEU2fztvaqHQ213trhKauqjXVmr/kFxP1m7bdCE88Plpb1m840l/VNQz72QvvMPlc5z9fvKPt1xBtXv9yVZ9nGmxscXiDfwGcI4LQ9duBaG7Nxjw2aWMuArp7In2qxObTwKfr40/iy/j34zhqeN59qHuZqDBaysQWiL/PZsk4cyV13mvbwWw7phfEDC/O+fm9/ram+sspcXxs5hm9pHjufSujGRbKXaTPmBAPPfMm45bau15+jR/bbBx80mR7sCth94rfB6Q6sngJcuO1v4a7Lu157ad9GKIlypuEea9GDnXs0IytDmZ2Rka2cVv4jrIHmaFZ3O9OWlWX7gLuRH1mMjsxE8VrEH/XNRrErsh61R6PD3e2d7dDsb3Z38k15W/kFkrwmHk+PhWNKx3nLMhHkSl5ZLMvHWPGPfwRB9AKr2QoSUb4qSlB18X715zkqwRI0G3lvUOptugtcID+tsKQForrC+pqxS4X1dcof21bf4OQcbZ2Le6y53kKao3rxNWE9f1a+S3t2tiIu5yej2d/W12RozBwrLh7LbDT0NkUDi+HBQPj0xIlAoKHFFxAMPB8Vce+KKo28Rq0SHV3LUk6MNLv35DMrCzVNmbxBeCGCKzMtu20y8f+SVD4h31Sosky03Upl9YJxzh+L0ZFANLR4LOpYj452tne145E/wok2e6JX/xBX/vH8WaFQojdWlrhzuOXjs1Zn3cCkT4qWSmZeqX/B4tciE4HBmUBZwGxtMDaqnCpdllPVaIzdNw9ZqfDU30ppYDgw2B+A5JP5L8bj4tgWoy/t6WRRcO2P8uFDakiP2fMWaviyaOYFr94gE0nEsXysWligOuHRC2TiH0XSJ/4WqQcjE4GxmUAocKlG+jECgZHFwGX8vabVzf8f4KQSi8Gp6laIdgV0q8OzbmjyaWdnW1MQXZoJDb7ZaEdzVzMoNQiAGESUwszDAIzTDIqSxGFoxoRZ/vTKM8CfyZ9V/ZAPfzZ/Ds4tMHm0dSxCkOPaNpKlK8/KwGQVCdzqbPDn1HKuiT8WHUnStEQYZB2TC6WJ6spymNIjBV7JK5lSs1C5qDoRSYBUSlgH31LlM7X5O4o8eBxrX3MDwtOG1iZdZ/NjXsu0gBJohRVmlQNfwVfQmsReAdZEAahljqkMaxLHg/gT+BONkwxcgT0CH/5k/pQrcCpMUYiGtPqbDGvVgALfitYyTHyI7iP25WqsSqAlstCbcmZ3k0PcRZlgbs0KCrwb7lImBTqQCCawVEpMWHur0DRm3+9sVAOK6UQiqESr8NaEtY8Vu86AIjK3KRZhXNwqD34Oc38umLZM7/33+38/uOj7///Z9yMAAHqAUtN3Bsa/l9rSiKVxlONqqbKozYWfYMRMRkicEE2FhIs4TuWQJL0RDNwCPy0hP1CbGAVY9Mb6W+DZ2p14CIQoIBjqGKpe6lOONhDJTUFBXMgZYOPct8C7Ffmf2jR2ksQ72U7f6SBu5gywoW8x2Qhy1APl1CZGAQ4ksGGD8loGsjY0UQKXmhdvpBboCNglmiU2XUCieL2dF1bDaTacoykaTjgFAhquyoFkiSk0LZyooeM7gQDVIlmNOwCPlICNKQpatkhBhUQJpdLCVwFqWj3FQ8sWeajTWbJiLeRJQlRmsyh1YLRZtAzVNr0dAoCqYN6wXLhzQGL8LY6mvwSAd1698ly88s2Xfwa7FbVA/wsgBhQAgABfG3dQHs2o/066DhB0wWo68NIlpR8Rtqkj9flbwtMc3oZyWoIn3n+L86o5vA1V8ng6L4C9+Ax3YgMBHN8Er4rV97ZRXgdo2vF244hH35wAzlOM0Y1BABGNnNCZ4UFNPID7U9KeSCgiP5EiDnMizejpExlFzj9RIM2BE2MU8pwgViH7TAQQSqpgnDuJJAk2kHIaYDNnhs+sFsvBuaf5DXMbXT9uwvLIbk49b4mBNm3JsEV+85YtKUHWb5rT5ywap9WpUZtWo6q5Fot8W89a0m4OaXOK2Ywat2KaD3NdRi1S/+eloldCT0fn1K5q61Mpa6eaNrKMB6WMQqn83IfXmTNv1eIRiaKj7aOsikMmoxej+EfqsmjOpFHDLnneylGLQxT66vnHnh/n12VXDN1Hw6/bcNpctWo3vrwApZvfrdEDiP8IzgPkeiYUoQlzDvYWB0cnZ6uLq5t7+aRk5I6TIFGS5IqkSJWWXjqFDEqZVLJky5FrG7W8quQrUEijSLESWtsz0tErVVa9chUqValmUMNoh1omZjxSM4s69Ro0atKspTe1smrLpl2HTl262dg5OLm4eezMw6tHrz79BgzyGarXsBGjxqJtJvhNmjJtxqw58xYsWrJsxS4Bu61aE7THXvvsFxJ2wEERhxx2xFHHrIs6fuE/r+1vm6/8jhhtDCwnASDGR1h4SGhYwEGU1Y/Xffk5G4u9XgIAYtxyGpZ5y9sDdNbyP142W5DgAhoE7i3q0c5x2vm9v24aZuNohdcxqSEAz8up00My03HSwmqPa8bMecG3Tjzb+f9EelEtg2vpzPeiIEEBwSA8IEDBwAE9F5Z6vQIQjAnLGTgWLO+uZTL/qwGEAYOAQpg3TefgwBCQgBDzqukKDBAOoU3KVtqIbBXK9XpEAAujuudkZN724kIGmrtVaS38ZZLrS9/4fsKMQhN3yXK5gvSBvJ2Y9/Nydbcvb0bm58+e3FhmGfGLJ9u7axl1F1LQTbaCeyrbu7wFCsorFgV4qnh+GUrWtaczqkSBB96AEeKRB94k2SyLuyw3qwrxeg3P5FNR1Av1Gsq2/ds6dPPkBAAA)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAbQAA8AAAAACMAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAABgAAAAcABQABEdQT1MAAAFwAAAAHgAAAB5EdEx1R1NVQgAAAZAAAAAnAAAAKLj8uOpPUy8yAAABuAAAAFEAAABgF2hca1NUQVQAAAIMAAAAPQAAAEzpM8woY21hcAAAAkwAAABRAAAAdAyHCodnYXNwAAACoAAAAAgAAAAIAAAAEGdseWYAAAKoAAAB8AAAAl604cJFaGVhZAAABJgAAAA2AAAANhSS8UNoaGVhAAAE0AAAAB8AAAAkAcwBEGhtdHgAAATwAAAAHwAAADoe/QLmbG9jYQAABRAAAAAgAAAAIATcBZ9tYXhwAAAFMAAAABwAAAAgAIcCb25hbWUAAAVMAAABEwAAAmo0OV08cG9zdAAABmAAAABwAAAAlNdzMTB42mNgZGBg4GGAAEYgZAWTjCAeAAG0ABkAAQAAAAoAHAAcAAFERkxUAAgABAAAAAD//wAAAAAAAHjaY2BkYGDgYlADQiYXN58QBqGcxJI8Bj4GEGABEf//g0gAWkkFVQB42mNgYYpi/MLAysDA1MUUwcDA4A2hGeMYjBgdgKIMDJwMUMDEzoAEvJyAxAEGXpaXzH/+XWFgYP7DqKPAwDj//nWgSjWmW0BZBQZWADbPDjoAAAB42gXBsQ1AABQFwHsfiY5CYQBDaVVIlBL7mckA7kT0CpPCop79uIPz3q4MojUrSJePvNSKRlRGEH74hwYNAAAAeNpVyEcBwkAQBdCXHnoVgJU44Y4pFIAFUAOJiS23ZOZ3lKhwVSlkr91xdlQp7dwMnr5FWb/rMQQW26v+h3xT+IRHGEIBCvNr9Wh0OUU7NxUUAAAAAAEAAf//AA942mzQNZTUQAAG4H9mIDlbySoOt5I9HHZiL+vS4VDh7u40OFRo3+FQ464V7tbiUmHdJczicsm4fe/9YBgDEIc+BYOEeoArzUqyWSGkeQzZ6+wmfZwLot6nT1vVNM04oBlQ9AZoX3FHhh/gQR6Mp+JykKdUNSVJcu9T20/N73OrT3F/2qMw5vfWLp88SQL3rFE+3ygTrvv9BXaMqiCAkD3d2lr1ipagK4QqNDHjCuPBSCRqGGaQM+XLk0XrPX5GlaY1i54QD7nhvO/c3+Pp35mEHO58dN2fd6mEdgAYRrhfqEyfi7ei6AG0j6m6ohk8HQkrIUlKpQ1dj4dDEcZ1TY3HpDDpM3PZspkzl+lTqlbmZUYUy8o0LJtKSlOXLp3qnC9N1ieU7FWr7BIZPssuFm1hpt3BVBW/yPMPcwAUdEL8m6nqumbU1Eg4/Ceb+s2WpxrG1HKtnVKxcm9zolhWrkGbVN5RmqQJdGdpkj6ukGluzhTed7ULBRvkp4wAENVFUt1oNGrmaS2r8JcrCxfJjXWUUCo3yvMXXDlyhKrO3mhLj/qGhvoeLREyvvXpEYDgGutFDrFjYEDQ5PK1OcsWs15bt4JgM0uQe2LHAxCRHA9FeNoQnUS+Tsc7JkRXVV03JIZZJcBJRUdHxSmAAQCFZYU3AAEAAAACNgQJCtdkXw889QADA+gAAAAA29KmmgAAAADb2tDy+Tv+1ASSA/wAAAAGAAIAAAAAAAB42mNgZGBg/vPvCgMDy4af1n9rWSYBRVABHwCudAbaAHjaY4pgiAJibSQsC8WBQGyERDNAMQicZmgFAOeFB/4AAAAAGgA7AEYAUQBvAHcAqQCxAOYBCQEJAQkBCQEWAS942mNgZGBg4GfcwZDHsIWBDcxDAGYGJgAtGgH4eNqM0IFGQ2EUB/DfqqJMBZLAFUh0V0MoUBGllKQArHVtN9vu3HuH3iEAPUJP0cP0BD1D3D6zKQqHH9/5n885qHs1qza3iPfaenDNts/gGcs+gmcdeAuem+iZt+EleMGWx+Bl++Jv16jbDJ5Xtxa8om4peNUSbmT6WgbOlFp6Um2XEo9SI333EqmOrrKq0lDhQENDoS2XGioVYoVUTyyT62i4curCuUTpWK4lNVC4lBnI7Ez9dCeRK6TVa6Qp1rRnb0KHzh07/PfMG4mOkZ6W/JdUNM5FU7kTmaFn+Xj3SNNuVZFbXYnoj3nXcpkniXaVPzKqbpjJq86tH/fsSKuOkQextkzf1/Sx2KKPx/+aADN1XKsAeNpjYGIAg/+pDEZAipEBHfADsQrDSUYmBhtGZkYWRlZGNkZ2BmZGDkZORi5GbjbHpKLUslT20rxMAxNHVwjtagHlu0H5lqzpibm5iWCegaMBk3MQX2JyaUlqcn5ukl5yYnEqD0jG2MAMzAEAoO0cmA==)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAA/IABAAAAAALMwAAA9mAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbhXAcghYGYD9TVEFUTACDBBEICrA8p1ILgjgAATYCJAOEKAQgBYUeB4xODAcbFCYzA/aDkxp0RMXmTMH/IcEUkaXZhe7qAVQoRhtRmOhkzaUYXs3lyzTUlwptwwNGy28PLP/oZewn39g4Jjp8YusISWZ9eNpW788MNQMI7jZprgsqRiJ7imCBYlEWIBhgoWjj7uJGcddednnRIQ/fX77n7i8NtLf08UwEQl3jq59XJCShypU4lMyz3Hb3X0omkAkZCYVNhfN/c3Pmf1nJcDqnj2VE35fYAx+8WYIJhZj4znn1Qbjp9+f4Pab0wOi7JSECzG0o6DRWu/MBgfu/NdPu5O8cUssKSJ1wUyTjq6oWZic7nUsKuIEySsIkzXvdKzArVNkCwvP1lQCgK4yu0BVWFp6vrWVm/6Nt7H82JGhxDyAteCbHZLRdzTsxJqNEUxb+txHysoxjwQzz2p8tU5uFtC4RmcGouCRX3v1195cCAYgBAECRIWSIVNsQCiqEhh6RpxRRzogwaUTYdSCc3AivAcSQCcSkacSCBbQlcbQ9DqAddgyNAFiZilAX9c1OSB/6ZyYgxQCwDgGQoVQGIYAIRvVlRAiR7Ax+jsqKIDacjVExNGWA/MQLk8VzJshTmOztrVbySNyHVnaAiUVpcgdvmnh9FNeAYYXkMl4AqisEoDtIZK0zs6lsSM8yAboEhZ5CFVqD23kNfor49QgAGWwFBeRAIZRCLdigBbqPFSIF+ABeQAfotUU0g+rL1gCMOnSNn4S0PWEL5Nw2QBqyIVvBT2Fe9wCSYDa3QH3Vt4cSaWSAug+NT0JKDgAKQOMLa96EFIKf/gOUWDQiE3EFgAB4aACxikhFAAwKZZ8DgHeiRQixRghm5n4HrCOOSrQAtqJU3LzpFAr/6TAHnDo8QQgszNHZ77FXwgom85JfwQOqMC8Ae/gYkSsURQ1AgQgAQAutAAoAALCdA3gIkv619L//vwb0H8nVgjz+bwLUlFoDaPGQkfqBjQcpc4R8ODxDAPwurhVJMbRRa7ksFTJAUJERK+RXgDxDi8az0D39NBJmMjGZP5MWgyH5+mYXeZg0kZOdJEIu5k1OaIYW0Rnqv/S2DtQxKCIjOSRMLuKNDjpwIXDRE0Y407zODF3/W/ovnvbiAz6YIOC0nZKaVrpMADK9/g8sQDORaaLiVmpCNj+DsAUJUg1SNBKpxbESqyNRj2XB2IWvmkANITOe42zRZqt223RIZbdRi00cNmu1QTMlFwWnTH2y+Gh4pemWrkeGXlpddgjYKUgnRG9Ajn55huQbViCiyKhiY0qMKzSiwpRykyrFGE0jSCIFAJwLADkD0AtMDvBegHkHug0AoFGJVK2qhCXG61AIrWWr8aYYT2zhWkVVD6EX62dQyHJqVGLicdAyTQtFjJgVi1Olw0wdI6eouC1SZjvL3umikG5h3BSHrTOMQKpkUgQu/aGoVC5VKLOjXKBIrWSy2FqmlB+dTKAUcDwJE5TwBkbFnJ/rY92ss4dzXxKbV1/T9hAJvBUu+bwOaq/XWDeXTEKvBMv+HYDYtSMXHI8lErBlDv1FvCF2yDfJcie3f1oWe+wCtb9HCZdshHBIfLC9FrNf60J4HGMKYkfC5TJ+lSNHd3NdZ5dNZ96o6OG8lOvpt5IcR3r2z61suaFBNQmrT0wrCXkvwKkNWenURddyk4+u1FuSiQRtRvQxxhEfxFo411PBvfbTQ1aCPSbA0yIczRIJRXEEQyYS4ocX/of1WiiyaY7SI3Z54u6pUe8m+30ZXB4f13V23XbupYoeLhwa5QqcRIKRdhwtDjdHX7sj8SSWqhgd2s25/B7OuTu4WLdz9FgQLtG55HhMlbFN/J5rrmGPXQWwZOVVLnn31VevgnPrfKt+IsHWeS5ZYVnCJZ9HIqem3z+aeAsjx92cK+7hnPGyVcarN47i9QctdADS864Xl+f2cM6E6W7jwyDLmWTlDNfAWRtN3eLupy1VuUoXA0Y9nDMwDm0aWWy8vkY6yniPTKmax1mFMSPTY+OyNo5gvPrMaWh+d6Yocqzobrh2BM+xO665gj12WQPSixm3X325OHNpey4+FiI+ViG4n+0mtkeDT6J77bK1vsLcqur1aMyF/u63T4xFx/V3vXhzq+VXFL7ypKwjPz+l4w2I7O1b21+wrz3XGCkzhqwKi3EwUtbo7w+YrLVVCuM8U1MAvrXrA5YXtX7tt5YAgoHTtp8WWF0eGHqRNVhUEjBba0v8h+bWaAV+c525JPC7Y/GXH19hrUyWl51baa04D0cn7Sp5qsze1VrwV7OyZHfSiyJTsZB0TFoerSjfW97MUD0Yt59oL3Kd4SNndY35u+St5yYTG575P1cpvWf3hskypgS/yB30tjjC3t6zi/Om4l/vjtYRYdOcpyc4FXQtRAZTN5h66vUdRpsxv/FMnSRHdzIYUWcg6vcHAtFOq8NmDm+l9r49tjYS2RI2O2zqvuITK5wVJxaXLhudxmXyUWt/K/Qiy0BJqb/mZHOpb6DEYg2VlPrMQWf+rheNhpOjo1zdfIfKkm6qMhsrTeZd234B2oMPB68Kyh+7OQi90BoqLvWbT6wt9YWKrdEKfLUnmkv9J2fxld9XeaLx3vKyZ40nVj6HfU/YdfKw79i9rQU1lSWHXuzBSScKzcZC3WPdlRcUl9xQeTh2aC6G9md6xnorxgsKd1f0dvkr/e7KQtNT/YHYFK691fHqc7z5WGnoTXPhm6HR0mnubTCFnYEJf7bfP+G0Ouw1k4QvuOw/rPsO97uflSxXKCuWS0rjlcrKePHlrYZWnH9AY9VoL03tATMa+kB/IGO1LLqakbF6sqvQHJhOLowm8cyBSHJmMonogaPJATpOOOweE/o99p7WWmfms1k7ns101lZHxtRBTefZMzIJkSsaNIZ6PReT/ohVl1uGg2e7ml3474DkI8kGTVtDZOe2TO2ONujXMk7TagqPrtGehm2f5GksNUqWOMsAC1JpXVMB8a265dwCWrecb+qjmcuF3pKhX/qEodrl80v5RPPuq9xGdUu9x3B2pnqrdvnB6Pe2BBpN7ap0nS5d1W7yN56QiB0YXTzQIWMqsVit2E1IJJ65TsI+KzVZbHmN6dJzkiro99t7Gqscyl/8nbTSUVWdjOByTedCSCZdr0kNW3MHcrWWxWmp1cp+yE6c98d0jC0lz4gdGXjRaLO92ffUHysp8pF3giv+eOcGjvsbGa11hkiW+PB5hmPdht38S67pmA9my+IbNmXULvS3VG07Lq136q4xnKz01oPhuZGJueMWrK31JofKklae1qlqKba7vg5yWnz3hzAuBOeGe+aQ8ur03gWhSNxQ3a/htqUcWzqxZsgptuwTcY3NaGzZLlTUKP8UW4zHk6oxHFFf9+F9MrFUwq/n52j06vNeGlmS9eyJU7A8ejA8F5uYO2Oh2i5K+uDcaxPRubvf6vbTxu85m5WnWqo9WbdqJUcOf3tSoNvCbrn09HJ9io6MjZ4Xny5qb2puApUNggl8KLVU1ACQTpMomG2HoEriLLkaejrIM8gzIx90Is8iz8bnjGNjNLQADHJcM4VcEXqXkOUhG7nIA5BvNJ+N9MKmYbuN05Tq5ZrWhcjqhmQ1IzdINamW1V4WrBhk29RG6FoDqfIt9wjkbNfvcq4XYOw1PHUJmquCZ03r3q6PSYNswHBLUJbKWbcHWUaWQZUN89AnAsi+EPxQrrIlEJnJIlUJM7HMcyIb2WdiwCYYhdkKuBjZ5gUYSBu2TYSNZEBQZ/dsLMogZAlqcMnlTpcszNOWC7LHy0oMpAd7JmhjAL8NbmRdayAVvDU+WxL5XR70AowhbINbkc7/KgLwLmPqTfwNBEUHCMBxmUhdQj6WUlkZlKnxu6pO1d9/v//3Q7rw+///2fMjAAB6oDb0HaH0b6GUJU8Y0eR64ojqUqm14Od8duRDHPKhFfZpiGupUNnzetjxdgRbK/5+l4IJ5JeSir8t3R+1IaFaa9AZitANXTvqUxavQ2TYeNmrYwP4det2tGuWgFpDejL9euYAfQfK28gGGIvbgQRcpXesotZIABUK/LoCMgX5tBzoUFiWbADfCNfMu98PsCghbdyeq6jgel07qoCDJjjsyIFY7MAODSYL1alQ9phCIRt3Ri4tbQVgE5dpkfhjGAkZMAWRYzPLNioh68Amvwwd4zGzodCRGaTlUjZqVdaBTSBDfJ6vWzoqG6lZhQKbFK6EAKgz5unB00f9KabfIE1/CcA764pzcPbvSz+DTdl+/xcAHwUACHwM3JK6lBL+d88HxAVfFHh3m1b6a8TWqK9qwVrRVjPaq6WqFSbUXqOOqrXXCkfN6KhWPgnndsCsD3CdZzHpoEPOX6wjz67FHso9aAqWW+ynpyeAc+VhtGMQgKDhk7pBGKUsAnBflEhlCV2wnFLxv2VpRo+QTFme7a4qy5cjUVaqjK2sjFJ+GTmx9FYE4M2hvDRKwSyXLSegQ9S4fhOazOT8YyJCPAaHHhY2o8XyD4iYNc7mNKNWTL+ICdO0Go+aiFqsGZM3ZyMDg2khMRGTZqrMfNN8LD/nqJhhBq3qNXN2r8LzGkBuHpMgYmkV2dpFChUKu08Vm1pVR9TBh+FjevSxMYZr7aNbRE1aFJsrvS1RcG1pOS9ocBJ8rTYx4yMuQj6W2WwW4VnSDJFz5tU/LKK0ZgWXCD2/qRmKRWuYh+47US6adX1FAOIfwbmATE+T2t4wLVab3eF0uT1eXz6MQKLQGCyuGE8gVpLIFCqNzmCy2Bwur54vEIrEEqlM3qxQqtTdSrU6vcFoMlusNjsz0q+WhVWdeg0aNfUmG7vmOrRwaNWmXYdOTi5uHl5deXXr0auPj19Av2C9QgYMGor2C4sYMWrMuAlRk6bETJsxa868BYuWxC3bbY+9EjhBUjTDcrwgSih88/y+eq/C13kHnXKhbTUDgISUCgNDoABXKLCL+2X27E/c2jAAQEKsFigx1qgLEbSeu+NyhcJGIECQNm9L567c3l7uZ5Wo3pkx4tYOhJANKw9dEonovRqVDb5dMKz515Ng+hci23hm4UQEs8eChwPB0BZYOBINbH3Erw0HECzUaokWa42eyGD3PIBIMBSOrfryBQ3G4oHQKi+/kEA0tuaDV40GP3h0+wuAAgXTKy0v5428xUDwksfm538juY9ni9fz2Ggy4iWLMz4qLklle7kcZvOLwy5bXp7fdYrRJlP4l5NDdZPiKVeLnJV7Ohg2VAs/aQwZNVtodX2jki6RU1e/j6GkgZbgAmmogZafuF4mZlb1t+COUyrcnF/CCZzS4MO/dX1T6QQAAAA=)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--radius:.625rem;--background:#07090e;--foreground:#e8ecf3;--card:#0f131a;--card-foreground:#e8ecf3;--popover:#111620;--popover-foreground:#e8ecf3;--primary:#ffb020;--primary-foreground:#1a1300;--secondary:#161b24;--secondary-foreground:#e8ecf3;--muted:#161b24;--muted-foreground:#8792a4;--accent:#161b24;--accent-foreground:#e8ecf3;--destructive:#ff5a4f;--border:#1e2430;--input:#333c4c;--ring:#5cc8ff;--panel:#0f131a;--erhaben:#161b24;--linie:#1e2430;--linie-stark:#333c4c;--text-2:#aab4c4;--text-3:#8792a4;--flaeche-rand:#94a3c224;--flaeche-rand-hell:#a8b6d642;--bernstein:#ffb020;--bernstein-hell:#ffc24d;--bernstein-grund:#2a1e05;--bernstein-lampe:#3a2a08;--gruen:#3ddc8a;--gruen-text:#7cc9a0;--gruen-grund:#0f2319;--gruen-rand:#1f5a3b;--cyan:#5cc8ff;--cyan-text:#93d5f8;--cyan-grund:#0c2230;--cyan-rand:#2f7fb0;--rot:#ff5a4f;--rot-text:#ff9a92;--rot-grund:#2e0f0d;--rot-rand:#a33a33;--box:#8b95ff;--box-text:#b4bbff;--box-grund:#151a36;--box-rand:#3f4aa8;--lab:#c98bff;--lab-text:#deb8ff;--lab-grund:#22163a;--lab-rand:#6d44a6;--reihe-1:#3987e5;--reihe-2:#d55181;--reihe-3:#c98500;--reihe-weitere:#9aa3ad;--aus-grund:#131821;--aus-rand:#2a3140;--aus-text:#9aa3ad}@keyframes lampe-atmen{0%,to{box-shadow:0 0 10px color-mix(in srgb, var(--bernstein) 25%, transparent)}50%{box-shadow:0 0 22px color-mix(in srgb, var(--bernstein) 45%, transparent)}}@media (prefers-reduced-motion:no-preference){.lampe-atmet{animation:3.2s ease-in-out infinite lampe-atmen}}@keyframes auftauchen{0%{opacity:0;transform:translateY(8px)}}@keyframes ring-fuellen{0%{stroke-dasharray:0 1000}}@keyframes glut-atmen{0%,to{opacity:.6}50%{opacity:1}}@keyframes kreisen{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.auftauchen{animation:.56s cubic-bezier(.2,.7,.2,1) both auftauchen;animation-delay:calc(var(--i,0) * 70ms)}.ring-fuellt{animation:1.1s cubic-bezier(.25,.8,.25,1) both ring-fuellen;animation-delay:calc(var(--i,0) * 45ms + .12s)}.glut-atmet{animation:6s ease-in-out infinite glut-atmen}.kreist{transform-box:fill-box;transform-origin:50%;animation:90s linear infinite kreisen}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}} diff --git a/frontend/dist/assets/index-CJ1jXWsM.js b/frontend/dist/assets/index-CiJU28k0.js similarity index 79% rename from frontend/dist/assets/index-CJ1jXWsM.js rename to frontend/dist/assets/index-CiJU28k0.js index 61ae4a5..3fb74c6 100644 --- a/frontend/dist/assets/index-CJ1jXWsM.js +++ b/frontend/dist/assets/index-CiJU28k0.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MenueSchublade-CH6y_JGn.js","assets/dist-aE7UmubC.js","assets/sheet-DE9QulgP.js","assets/button-DwYvdWVr.js","assets/dist-D-yM169e.js","assets/Start-dQPgTPlg.js","assets/Panel-uT1S5ZGr.js","assets/Lagekopf-_LyvkRPo.js","assets/Updates-eysoVXbY.js","assets/chevron-right-DF8ikrVh.js","assets/Bestaetigen-6C3zYuEE.js","assets/Auftraege-CutWwY2J.js","assets/Modelle-Dhlq1FFz.js","assets/useSelector-DBNxxw17.js","assets/useMatch-DDVpPKJI.js","assets/search-RXhRizww.js","assets/breite-k-QN6GPl.js","assets/Monitoring-CSGIxU_X.js","assets/Dienste-CuaesLC2.js","assets/Homelab-CiUiSfKF.js","assets/undo-2-B8COJmAr.js","assets/HomelabSnapshots-DdOs_WQU.js","assets/HomelabProtokoll-B--cXVlt.js","assets/Einstellungen-BE1LOt0Z.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/MenueSchublade-CGkq_EXH.js","assets/dist-aE7UmubC.js","assets/sheet-CPc8xmap.js","assets/button-DwYvdWVr.js","assets/dist-C2HMtjaj.js","assets/Start-oSvXqmAt.js","assets/Panel-uT1S5ZGr.js","assets/Lagekopf-DKe__zE4.js","assets/Updates-D4NG6yAI.js","assets/chevron-right-DF8ikrVh.js","assets/Bestaetigen-BGcVQso2.js","assets/Auftraege-D6FtdUOB.js","assets/Modelle-CnfYELFf.js","assets/useSelector-DBNxxw17.js","assets/useMatch-DDVpPKJI.js","assets/search-RXhRizww.js","assets/breite-k-QN6GPl.js","assets/Monitoring-BnCuva0g.js","assets/Dienste-fAdqSLxO.js","assets/Homelab-6IZiUZgt.js","assets/undo-2-B8COJmAr.js","assets/HomelabSnapshots-Cy2mRe5R.js","assets/HomelabProtokoll-DQpZ9qvE.js","assets/Einstellungen-Dw85frtI.js"])))=>i.map(i=>d[i]); import{a as e,c as t,i as n,n as r,o as i,r as a,t as o}from"./dist-aE7UmubC.js";import{_ as s,a as c,c as l,d as u,f as d,g as f,h as p,i as m,l as h,m as g,n as _,o as v,p as y,r as b,s as x,t as S,u as C,v as w,y as T}from"./useSelector-DBNxxw17.js";import{i as E,n as D,r as O,t as k}from"./useMatch-DDVpPKJI.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ee=i((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&A(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-Tt&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&A(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,ee=k.port2;k.port1.onmessage=D,O=function(){ee.postMessage(null)}}else O=function(){_(D,0)};function A(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,A(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),A=i(((e,t)=>{t.exports=ee()})),te=i((t=>{var n=e();function r(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=te()})),re=i((t=>{var n=A(),r=e(),i=ne();function a(e){var t=`https://react.dev/errors/`+e;if(1ye||(e.current=ve[ye],ve[ye]=null,ye--)}function Se(e,t){ye++,ve[ye]=e.current,e.current=t}var Ce=be(null),we=be(null),Te=be(null),Ee=be(null);function De(e,t){switch(Se(Te,t),Se(we,e),Se(Ce,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}xe(Ce),Se(Ce,e)}function Oe(){xe(Ce),xe(we),xe(Te)}function ke(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,Se(Ee,e)),t=Ce.current;var n=dp(t,e.type);t!==n&&(Se(we,e),Se(Ce,n))}function Ae(e){we.current===e&&(xe(Ce),xe(we)),Ee.current===e&&(xe(Ee),sh._currentValue=_e)}var je,Me;function Ne(e){if(je===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);je=t&&t[1]||``,Me=-1)`:-1>>=0,e===0?32:31-(nt(e)/rt|0)|0}var at=256,ot=262144,st=4194304;function ct(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function lt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=ct(n))):i=ct(o):i=ct(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=ct(n))):i=ct(o)):i=ct(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function ut(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function dt(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0n;n++)t.push(e);return t}function ht(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function gt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0=mr),_r=` `,vr=!1;function yr(e,t){switch(e){case`keyup`:return fr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function br(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var xr=!1;function Sr(e,t){switch(e){case`compositionend`:return br(t);case`keypress`:return t.which===32?(vr=!0,_r):null;case`textInput`:return e=t.data,e===_r&&vr?null:e;default:return null}}function Cr(e,t){if(xr)return e===`compositionend`||!pr&&yr(e,t)?(e=Fn(),Pn=Nn=Mn=null,xr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Kr(n)}}function Jr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Jr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Yr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Gr(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Gr(e.document)}return t}function Xr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Zr=kn&&`documentMode`in document&&11>=document.documentMode,Qr=null,$r=null,ei=null,ti=!1;function ni(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ti||Qr==null||Qr!==Gr(r)||(r=Qr,`selectionStart`in r&&Xr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ei&&Wr(ei,r)||(ei=r,r=Jf($r,`onSelect`),0>=o,i-=o,Qi=1<<32-tt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),R&&ea(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),R&&ea(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return R&&ea(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),R&&ea(i,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===k&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case D:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===k){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),lo(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===se&&no(l)===r.type){n(e,r.sibling),c=i(r,o.props),lo(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===k?(c=zi(o.props.children,e.mode,c,o.key),lo(c,o),c.return=e,e=c):(c=Ri(o.type,o.key,o.props,null,e.mode,c),lo(c,o),c.return=e,e=c)}return s(e);case O:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Hi(o,e.mode,c),c.return=e,e=c}return s(e);case se:return o=no(o),_(e,r,o,c)}if(ge(o))return h(e,r,o,c);if(me(o)){if(l=me(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,co(o),c);if(o.$$typeof===ie)return _(e,r,Oa(e,o),c);uo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=Bi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{so=0;var i=_(e,t,n,r);return oo=null,i}catch(t){if(t===Xa||t===Qa)throw t;var a=Pi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var po=fo(!0),mo=fo(!1),ho=!1;function go(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function _o(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function vo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function yo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ji(e),Ai(e,null,n),t}return Di(e,r,t,n),ji(e)}function bo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,vt(e,n)}}function xo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var So=!1;function Co(){if(So){var e=Va;if(e!==null)throw e}}function wo(e,t,n,r){So=!1;var i=e.updateQueue;ho=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Y&f)===f:(r&f)===f){f!==0&&f===Ba&&(So=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=T({},d,f);break a;case 2:ho=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),od|=o,e.lanes=o,e.memoizedState=d}}function To(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Eo(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=P.T,s={};s.types=o===null?null:o.types,P.T=s,uc(e,!1,t,n);try{var c=i(),l=P.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?lc(e,t,Wa(c,r),jd(e)):lc(e,t,r,jd(e))}catch(n){lc(e,t,{then:function(){},status:`rejected`,reason:n},jd())}finally{F.p=a,o!==null&&s.types!==null&&(o.types=s.types),P.T=o}}function $s(){}function ec(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=tc(e).queue;Qs(e,i,t,_e,n===null?$s:function(){return nc(e),n(r)})}function tc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:_e,baseState:_e,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:_e},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ds,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function nc(e){var t=tc(e);t.next===null&&(t=e.alternate.memoizedState),lc(e,t.next.queue,{},jd())}function rc(){return Da(sh)}function ic(){return ss().memoizedState}function ac(){return ss().memoizedState}function oc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=jd();e=vo(n);var r=yo(t,e,n);r!==null&&(Pd(r,t,n),bo(r,t,n)),t={cache:Na()},e.payload=t;return}t=t.return}}function sc(e,t,n){var r=jd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},dc(e)?fc(t,n):(n=Oi(e,t,n,r),n!==null&&(Pd(n,e,r),pc(n,t,r)))}function cc(e,t,n){lc(e,t,n,jd())}function lc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(dc(e))fc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Ur(s,o))return Di(e,t,i,0),q===null&&Ei(),!1}catch{}if(n=Oi(e,t,i,r),n!==null)return Pd(n,e,r),pc(n,t,r),!0}return!1}function uc(e,t,n,r){if(r={lane:2,revertLane:Pf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},dc(e)){if(t)throw Error(a(479))}else t=Oi(e,n,r,2),t!==null&&Pd(t,e,2)}function dc(e){var t=e.alternate;return e===B||t!==null&&t===B}function fc(e,t){Ko=Go=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function pc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,vt(e,n)}}var mc={readContext:Da,use:ls,useCallback:Qo,useContext:Qo,useEffect:Qo,useImperativeHandle:Qo,useLayoutEffect:Qo,useInsertionEffect:Qo,useMemo:Qo,useReducer:Qo,useRef:Qo,useState:Qo,useDebugValue:Qo,useDeferredValue:Qo,useTransition:Qo,useSyncExternalStore:Qo,useId:Qo,useHostTransitionStatus:Qo,useFormState:Qo,useActionState:Qo,useOptimistic:Qo,useMemoCache:Qo,useCacheRefresh:Qo,useEffectEvent:Qo},hc={readContext:Da,use:ls,useCallback:function(e,t){return H().memoizedState=[e,t===void 0?null:t],e},useContext:Da,useEffect:zs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Ls(4194308,4,Gs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ls(4194308,4,e,t)},useInsertionEffect:function(e,t){Ls(4,2,e,t)},useMemo:function(e,t){var n=H();t=t===void 0?null:t;var r=e();if(qo){et(!0);try{e()}finally{et(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=H();if(n!==void 0){var i=n(t);if(qo){et(!0);try{n(t)}finally{et(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=sc.bind(null,B,e),[r.memoizedState,e]},useRef:function(e){var t=H();return e={current:e},t.memoizedState=e},useState:function(e){e=xs(e);var t=e.queue,n=cc.bind(null,B,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:qs,useDeferredValue:function(e,t){return Xs(H(),e,t)},useTransition:function(){var e=xs(!1);return e=Qs.bind(null,B,e.queue,!0,!1),H().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=B,i=H();if(R){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),q===null)throw Error(a(349));Y&127||gs(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,zs(vs.bind(null,r,o,e),[e]),r.flags|=2048,Fs(9,{destroy:void 0},_s.bind(null,r,o,n,t),null),n},useId:function(){var e=H(),t=q.identifierPrefix;if(R){var n=$i,r=Qi;n=(r&~(1<<32-tt(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Jo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[Tt]=t,o[Et]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&fl(t)}}return _l(t),t.subtreeFlags&=-33554433,pl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&fl(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=Te.current,pa(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=aa,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[Tt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||ep(e.nodeValue,n)),e||ua(t,!0)}else e=lp(e).createTextNode(r),e[Tt]=t,t.stateNode=e}return _l(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=pa(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[Tt]=t}else ma(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;_l(t),e=!1}else n=ha(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Ro(t),t):(Ro(t),null);if(t.flags&128)throw Error(a(558))}return _l(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=pa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[Tt]=t}else ma(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;_l(t),i=!1}else i=ha(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Ro(t),t):(Ro(t),null)}return Ro(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),hl(t,t.updateQueue),_l(t),null);case 4:return Oe(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,_l(t),null;case 10:return xa(t.type),_l(t),null;case 19:if(Vo(t),r=t.memoizedState,r===null)return _l(t),null;if(i=!!(t.flags&128),o=r.rendering,o===null){if(i)gl(r,!1);else{if(ad!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Ho(e),o!==null){for(t.flags|=128,gl(r,!1),e=o.updateQueue,t.updateQueue=e,hl(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Li(n,e),n=n.sibling;return Bo(t,zo.current&1|2),R&&ea(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ue()>gd&&(t.flags|=128,i=!0,gl(r,!1),t.lanes=4194304)}}else{if(!i){if(e=Ho(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,hl(t,e),gl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!R)return _l(t),null}else 2*Ue()-r.renderingStartTime>gd&&n!==536870912&&(t.flags|=128,i=!0,gl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ue(),e.sibling=null,o=zo.current,o=i?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||R?Bo(t,o):(n=o,Se(Mo,t),Se(zo,n),No===null&&(No=t)),R&&ea(t,r.treeForkCount),e}return _l(t),null;case 22:case 23:return Ro(t),jo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(_l(t),t.subtreeFlags&6&&(t.flags|=8192)):_l(t),n=t.updateQueue,n!==null&&hl(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&xe(Ka),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),xa(Ma),_l(t),null;case 25:return null;case 30:return t.flags|=33554432,_l(t),null}throw Error(a(156,t.tag))}function yl(e,t){switch(ra(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return xa(Ma),Oe(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Ae(t),null;case 31:if(t.memoizedState!==null){if(Ro(t),t.alternate===null)throw Error(a(340));ma()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ro(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));ma()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Vo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Oe(),null;case 10:return xa(t.type),null;case 22:case 23:return Ro(t),jo(),e!==null&&xe(Ka),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return xa(Ma),null;case 25:return null;default:return null}}function bl(e,t){switch(ra(t),t.tag){case 3:xa(Ma),Oe();break;case 26:case 27:case 5:Ae(t);break;case 4:Oe();break;case 31:t.memoizedState!==null&&Ro(t);break;case 13:Ro(t);break;case 19:Vo(t);break;case 10:xa(t.type);break;case 22:case 23:Ro(t),jo(),e!==null&&xe(Ka);break;case 24:xa(Ma)}}function xl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Sl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Cl(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Eo(t,n)}catch(t){Z(e,e.return,t)}}}function wl(e,t,n){n.props=xc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Tl(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=yi(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);p(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function El(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Dl(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n title`))),np(r,t,n),r[Tt]=e,Rt(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,i).get(t+(n.href||``))){for(s=0;sg&&(o=g,g=h,h=o);var _=qr(s,h),v=qr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,P.T=null,n=wd,wd=null;var o=bd,s=Sd;if(yd=0,xd=bd=null,Sd=0,K&6)throw Error(a(331));var c=K;if(K|=4,Yu(o.current),Vu(o,o.current,s,n),K=c,Df(0,!1),$e&&typeof $e.onPostCommitFiberRoot==`function`)try{$e.onPostCommitFiberRoot(Qe,o)}catch{}return!0}finally{F.p=i,P.T=r,uf(e,t)}}function pf(e,t,n){t=Wi(n,t),t=Dc(e.stateNode,t,2),e=yo(e,t,2),e!==null&&(ht(e,2),Ef(e))}function Z(e,t,n){if(e.tag===3)pf(e,e,n);else for(;t!==null;){if(t.tag===3){pf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(vd===null||!vd.has(r))){e=Wi(n,e),n=Oc(2),r=yo(t,n,2),r!==null&&(kc(n,r,t,e),ht(r,2),Ef(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new $u;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(rd=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,q===e&&(Y&n)===n&&(ad===4||ad===3&&(Y&62914560)===Y&&300>Ue()-md?K&2?cd|=n:Vd(e,0):cd|=n,ud===Y&&(ud=0)),Ef(e)}function gf(e,t){t===0&&(t=pt()),e=ki(e,t),e!==null&&(ht(e,t),Ef(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return ze(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Tf=0;function Ef(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Nf())}function Df(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-tt(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Mf(r,a))}else a=Y,a=lt(r,r===q?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||ut(r,a)||(n=!0,Mf(r,a))}r=r.next}while(n);wf=!1}}function Of(){kf()}function kf(){Cf=Sf=!1;var e=0;Tf!==0&&hp()&&(e=Tf);for(var t=Ue(),n=null,r=bf;r!==null;){var i=r.next,a=Af(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}yd!==0&&yd!==5||Df(e,!1),Tf!==0&&(Tf=0)}function Af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=an(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),Rt(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+an(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+an(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+an(n.imageSizes)+`"]`)):i+=`[href="`+an(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=T({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Mt]=!0,o.onload=o.onerror=function(){zt(o)}),Rt(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+an(r)+`"][href="`+an(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=T({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),Rt(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Lt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=T({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);Rt(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Lt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=T({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Rt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Lt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=T({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Rt(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var i=(i=Te.current)?bm(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Lt(i).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Lt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(i,e,o,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Lt(i).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Pm(e){return`href="`+an(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return T({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Mt]){r.loading=1;return}}else t=e.createElement(`link`),t[Mt]=!0,t.onload=t.onerror=zt.bind(null,t),np(t,`link`,n),Rt(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+an(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+an(n.href)+`"]`);if(r)return t.instance=r,Rt(r),r;var i=T({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Rt(r),np(r,`style`,i),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Pm(n.href);var o=e.querySelector(Fm(i));if(o)return t.state.loading|=4,t.instance=o,Rt(o),o;r=Im(n),(i=vm.get(i))&&Hm(r,i),o=(e.ownerDocument||e).createElement(`link`),Rt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(i=e.querySelector(zm(o)))?(t.instance=i,Rt(i),i):(r=n,(i=vm.get(o))&&(r=T({},n),Um(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),Rt(i),np(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Rt(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),Rt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=re()})),j=t(e(),1),M=n(),ae=j.createContext(void 0),oe=e=>{let t=j.useContext(ae);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},se=({client:e,children:t})=>(j.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,M.jsx)(ae.Provider,{value:e,children:t})),ce={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},le=new class{#e=ce;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function ue(e){setTimeout(e,0)}var de=typeof window>`u`||`Deno`in globalThis;function fe(){}function pe(e,t){return typeof e==`function`?e(t):e}function me(e){return typeof e==`number`&&e>=0&&e!==1/0}function he(e,t){return Math.max(e+(t||0)-Date.now(),0)}function N(e,t){return typeof e==`function`?e(t):e}function ge(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==F(o,t.options))return!1}else if(!ve(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function P(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(_e(t.options.mutationKey)!==_e(a))return!1}else if(!ve(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function F(e,t){return(t?.queryKeyHashFn||_e)(e)}function _e(e){return JSON.stringify(e,(e,t)=>Ce(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function ve(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(e&&t&&typeof e==`object`&&typeof t==`object`){if(Array.isArray(e)&&Array.isArray(t)){if(t.length>e.length)return!1;for(let n=0;n500)return t;let r=Se(e)&&Se(t);if(!r&&!(Ce(e)&&Ce(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l{le.setTimeout(t,e)})}function Ee(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:be(e,t)}function De(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Oe(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var ke=Symbol();function Ae(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===ke?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function je(e,t){return typeof e==`function`?e(...t):!!e}function Me(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Ne=()=>de,Pe=()=>Ne(),Fe=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(){}},Ie=new class extends Fe{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},Le=ue;function Re(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Le,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var ze=Re(),Be=new class extends Fe{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Ve(e){return Math.min(1e3*2**e,3e4)}function He(e){return(e??`online`)!==`online`||Be.isOnline()}var Ue=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function We(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(fe);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new Ue(t);h(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>Ie.isFocused()&&(e.networkMode===`always`||Be.isOnline())&&e.canRun(),p=()=>He(e.networkMode)&&e.canRun(),m=e=>{c()||(r?.(),i=`resolved`,a(e))},h=e=>{c()||(r?.(),i=`rejected`,o(e))},g=()=>new Promise(t=>{r=e=>{(c()||f())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,c()||e.onContinue?.()}),_=()=>{if(c())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(m).catch(r=>{if(c())return;let i=e.retry??(Pe()?0:3),a=e.retryDelay??Ve,o=typeof a==`function`?a(n,r):a,s=i===!0||typeof i==`number`&&nf()?void 0:g()).then(()=>{t?h(r):_()})})};return{promise:s,status:()=>i,cancel:l,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:d,canStart:p,start:()=>(p()?_():g().then(_),s)}}var Ge=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),me(this.gcTime)&&(this.#e=le.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Pe()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(le.clearTimeout(this.#e),this.#e=void 0)}};function Ke(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{Me(e,()=>t.signal,()=>n=!0)},u=Ae(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=(()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})(),o=await u(a),{maxPages:s}=t.options,c=i?Oe:De;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?Je:qe,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:qe(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(ct.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function qe(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Je(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Ye=class extends Ge{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=Qe(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=Qe(this.options);e.data!==void 0&&(this.setState(Ze(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Ee(this.state.data,e,this.options);return this.#c({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#c({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(fe).catch(fe):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>N(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===ke||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>N(e.options.staleTime,this)===`static`)}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!he(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){let t=this.observers.indexOf(e);t!==-1&&(this.observers.splice(t,1),this.observers.length||(this.#a&&(this.#s||this.state.fetchStatus===`paused`&&this.state.status===`pending`?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#c({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=Ae(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?Ke(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#c({type:`fetch`,meta:a.fetchOptions?.meta});let o=this.#a=We({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Ue&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#c({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#c({type:`pause`})},onContinue:()=>{this.#c({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await o.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Ue){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#c({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.#a===o&&(this.#a=void 0),this.scheduleGc()}}#c(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...Xe(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Ze(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),ze.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Xe(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:He(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Ze(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Qe(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var $e=class extends Fe{#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p=new Set;constructor(e,t){super(),this.options=t,this.#e=e,this.#o=null,this.bindMethods(),this.setOptions(t)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),tt(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return nt(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return nt(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof N(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!xe(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&rt(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||N(this.options.enabled,this.#t)!==N(t.enabled,this.#t)||N(this.options.staleTime,this.#t)!==N(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||N(this.options.enabled,this.#t)!==N(t.enabled,this.#t)||i!==this.#f)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return xe(this.getCurrentResult(),n)||(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),Reflect.get(e,n))})}trackProp(e){this.#p.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t),r=()=>{},i,a=new Promise(e=>{i=e,r=this.#e.getQueryCache().subscribe(i=>{i.type===`updated`&&i.query.queryHash===n.queryHash&&n.state.data!==void 0&&(r(),e(this.createResult(n,t)))})});return Promise.race([n.fetch().then(()=>{let e=this.createResult(n,t);return i?.(e),e}).finally(()=>{r()}),a])}fetch(e){return this.#m({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#m(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(fe)),t}#h(e){return!Pe()&&N(this.options.enabled,this.#t)!==!1&&me(e)}#g(){this.#b();let e=N(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=he(this.#r.dataUpdatedAt,e)+1;this.#u=le.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return N(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=le.setInterval(()=>{(this.options.refetchIntervalInBackground||Ie.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(le.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(le.clearInterval(this.#d),this.#d=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&tt(e,t),o=i&&rt(e,n,t,r);(a||o)&&(l={...l,...Xe(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#l?.state.data,this.#l):t.placeholderData,e!==void 0&&(m=`success`,d=Ee(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h){if(i&&d===a?.data&&t.select===this.#s)d=this.#c;else try{this.#s=t.select,d=t.select(d),d=Ee(i?.data,d,t),this.#c=d,this.#o=null}catch(e){this.#o=e}}else d===void 0&&(this.#o=null);this.#o&&(f=this.#o,d=this.#c,p=Date.now(),m=`error`,u=!1);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0;return{status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:it(e,t),refetch:this.refetch,isEnabled:N(t.enabled,e)!==!1}}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);if(this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#l=this.#t),xe(t,e))return;this.#r=t;let n=(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#p.size)return!0;let r=new Set(n??this.#p);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})();ze.batch(()=>{n&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}};function et(e,t){return N(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||N(t.retryOnMount,e)!==!1)}function tt(e,t){return et(e,t)||e.state.data!==void 0&&nt(e,t,t.refetchOnMount)}function nt(e,t,n){if(N(t.enabled,e)!==!1&&N(t.staleTime,e)!==`static`){let r=N(n,e);return r===`always`||r!==!1&&it(e,t)}return!1}function rt(e,t,n,r){return(e!==t||N(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&it(e,n)}function it(e,t){return N(t.enabled,e)!==!1&&e.isStaleByTime(N(t.staleTime,e))}var at=class extends Ge{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||ot(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??(this.state.status===`pending`?this.execute(this.state.variables):Promise.resolve())}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey},r=this.#r=We({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)}),i=this.state.status===`pending`,a=!r.canStart();try{if(i)t();else{this.#i({type:`pending`,variables:e,isPaused:a}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:a})}let o=await r.start();return await this.#n.config.onSuccess?.(o,e,this.state.context,this,n),await this.options.onSuccess?.(o,e,this.state.context,n),await this.#n.config.onSettled?.(o,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(o,null,e,this.state.context,n),this.#i({type:`success`,data:o}),o}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#r===r&&(this.#r=void 0),this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),ze.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function ot(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var st=class extends Fe{#e;#t;#n;constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}build(e,t,n){let r=new at({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t);if(n){if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=ct(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}return!0}runNext(e){let t=ct(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){ze.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>P(t,e))}findAll(e={}){return this.getAll().filter(t=>P(e,t))}notify(e){ze.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return ze.batch(()=>Promise.all(e.map(e=>e.continue().catch(fe))))}};function ct(e){return e.options.scope?.id}var lt=class extends Fe{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),xe(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&_e(t.mutationKey)!==_e(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onSubscribe(){this.listeners.size===1&&this.#n&&(this.#n.addObserver(this),this.#i())}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??ot();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){ze.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};function ut(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var dt=class extends Fe{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,ze.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!xe(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(ut(e,n).forEach(e=>{e.destroy()}),ut(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){let n=new Set;return t.map((r,i)=>{let a=e[i];return r.defaultedQueryOptions.notifyOnChangeProps?a:r.observer.trackResult(a,e=>{n.has(e)||(n.add(e),t.forEach(t=>{t.observer.trackProp(e)}))})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=be(this.#a,t(e))),this.#a}return e}#f(){return!this.#r?.combine||this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new $e(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=this.#t.slice(),this.#t[n]=t,this.#h())}#h(){if(this.hasListeners()){let e=this.#f(),t=this.#a,n=e?t:this.#d(this.#u(this.#t,this.#l),this.#r?.combine);(e||t!==n)&&ze.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},ft=class extends Fe{#e;constructor(e={}){super(),this.config=e,this.#e=new Map}build(e,t,n){let r=t.queryKey,i=t.queryHash??F(r,t),a=this.get(i);return a||(a=new Ye({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){this.#e.get(e.queryHash)===e&&(e.destroy(),this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){ze.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>ge(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>ge(e,t)):t}notify(e){ze.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){ze.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){ze.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},pt=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new ft,this.#t=e.mutationCache||new st,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=Ie.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Be.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(N(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=pe(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return ze.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;ze.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return ze.batch(()=>{let r=n.findAll(e),i=new Set(r);return r.forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,predicate:e=>i.has(e)},t)})}cancelQueries(e,t={}){let n={revert:!0,...t},r=ze.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(fe).catch(fe)}invalidateQueries(e,t={}){return ze.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=ze.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(fe)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(fe)}async query(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t),r=n.isStaleByTime(N(t.staleTime,n))?await n.fetch(t):n.state.data,i=t.select;return i?i(r):r}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(N(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(fe).catch(fe)}infiniteQuery(e){return e._type=`infinite`,this.query(e)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(fe).catch(fe)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return Be.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(_e(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{ve(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(_e(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{ve(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=F(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===ke&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},mt=j.createContext(!1),ht=()=>j.useContext(mt);mt.Provider;function gt(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var _t=j.createContext(gt()),vt=()=>j.useContext(_t),yt=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?je(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},bt=e=>{j.useEffect(()=>{e.clearReset()},[e])},xt=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||je(n,[e.error,r])),St=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Ct=(e,t)=>e?.suspense&&t.isPending,wt=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Tt({queries:e,...t},n){let r=oe(n),i=ht(),a=vt(),o=t.subscribed!==!1,s=j.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:o?`optimistic`:void 0,t}),[e,r,i,o]);s.forEach(e=>{St(e);let t=r.getQueryCache().get(e.queryHash);yt(e,a,t)}),bt(a);let[c]=j.useState(()=>new dt(r,s,t)),[l,u,d]=c.getOptimisticResult(s,t.combine),f=!i&&o;j.useSyncExternalStore(j.useCallback(e=>f?c.subscribe(ze.batchCalls(e)):fe,[c,f]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),j.useEffect(()=>{c.setQueries(s,t)},[s,t,c]);let p=l.some((e,t)=>Ct(s[t],e))?l.flatMap((e,t)=>{let n=s[t];return n&&Ct(n,e)?wt(n,new $e(r,n),a):[]}):[];if(p.length>0)throw Promise.all(p);let m=l.find((e,t)=>{let n=s[t];return n&&xt({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(m)throw m.error;return u(d())}function Et(e,t,n){let r=ht(),i=vt(),a=oe(n),o=a.defaultQueryOptions(e),s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,St(o),yt(o,i,s),bt(i);let[l]=j.useState(()=>new t(a,o)),u=l.getOptimisticResult(o),d=!r&&c;if(j.useSyncExternalStore(j.useCallback(e=>{let t=d?l.subscribe(ze.batchCalls(e)):fe;return l.updateResult(),t},[l,d]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),j.useEffect(()=>{l.setOptions(o)},[o,l]),Ct(o,u))throw wt(o,l,i);if(xt({result:u,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw u.error;return o.notifyOnChangeProps?u:l.trackResult(u)}function I(e,t){return Et(e,$e,t)}function Dt(e,t){let n=oe(t),[r]=j.useState(()=>new lt(n,e));j.useEffect(()=>{r.setOptions(e)},[r,e]);let i=j.useSyncExternalStore(j.useCallback(e=>r.subscribe(ze.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=j.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(fe)},[r]);if(i.error&&je(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}var Ot=j.use,kt=j.useLayoutEffect;function At(e){return e.replace(/\/{2,}/g,`/`)}function jt(e){return e===`/`?e:e.replace(/^\/+/,``)}function Mt(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/+$/,``):e}function Nt(e){return Mt(jt(e))}function Pt(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function Ft(e,t,n=`never`,r){if(t.includes(`//`)&&(t=At(t)),t.startsWith(`/`))return t.length===1||n===`preserve`?t:n===`always`?t.endsWith(`/`)?t:`${t}/`:t.endsWith(`/`)?t.slice(0,-1):t;let i=t===`.`,a;if(r){a=i?e:e+`\0`+t;let n=r.get(a);if(n)return n}let o;if(i)o=e.split(`/`);else{for(e.includes(`//`)&&(e=At(e)),o=e.split(`/`);o.length>1&&f(o)===``;)o.pop();let n=t.split(`/`);for(let e=0,t=n.length;e1?o.pop():o=[``]:r===`.`||o.push(r)}}o.length>1&&(f(o)===``?n===`never`&&o.pop():n===`always`&&o.push(``));let s=o.join(`/`),c=(i?At(s):s)||`/`;return a&&r&&r.set(a,c),c}function It(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=new RegExp([...t.keys()].join(`|`).replace(/[.*()]/g,`\\$&`),`g`);return e=>e.replace(n,e=>t.get(e)??e)}function Lt(e){return e==null||e===``}function Rt(e,t,n){if(typeof t!=`string`)return``+(t??void 0);let r=e===`_splat`;if(r&&(!t||/^[a-zA-Z0-9\-._~!/]*$/.test(t)))return t;let i=encodeURIComponent(t);return r&&(i=i.replaceAll(`%2F`,`/`)),n?n(i):i}function zt(e,t,n,r,i){let a=e.endsWith(`/`)?`/`:``,o=``;for(let e of t){if(typeof e==`string`){o+=e;continue}let[t,s,c,l]=e,u=t===2,d=u&&l!==void 0?l+a:l,f=n[s];if(t!==3||f!=null){if(i&&(i[s]=f,u&&(i[`*`]=f)),u&&Lt(f)){if(c===`/`&&!d)continue;f=``}o+=c+Rt(s,f,r)+(d||``)}}return o+a||`/`}function Bt(e){return e?.isNotFound===!0}function Vt(){try{return sessionStorage}catch{return}}var Ht=`tsr-scroll-restoration-v1_3`,Ut=Vt();function Wt(){try{return JSON.parse(Ut?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Gt(){try{Ut?.setItem(Ht,JSON.stringify(Kt))}catch{}}var Kt=Wt(),qt=`data-scroll-restoration-id`,L=e=>e.state.__TSR_key||e.href;function Jt(e){let t=e.getAttribute(qt);if(t)return`[${qt}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var Yt=!1,Xt=`window`;function Zt(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function Qt(e){let t=new Set;for(let n of e){if(n===Xt)continue;let e=Zt(n);e&&t.add(e)}return t}function $t(e,t){let n=t??e.options.scrollRestoration,r=e._scroll;n&&(r.restoring=!0);let i=e.options.getScrollRestorationKey||L,a=new Set,o=e=>{let t=Kt[e]||={};for(let e of a)e===document?t[Xt]={scrollX,scrollY}:e.isConnected&&(t[Jt(e)]={scrollX:e.scrollLeft,scrollY:e.scrollTop})};n&&!r.restoration&&(r.restoration=!0,Yt=!1,history.scrollRestoration=`manual`,document.addEventListener(`scroll`,e=>{Yt||a.add(e.target)},!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(i(e.fromLocation)),a.clear()}),addEventListener(`pagehide`,()=>{o(i(e.stores.resolvedLocation.get()??e.stores.location.get())),Gt()})),!r.reset&&(r.reset=!0,e.subscribe(`onRendered`,t=>{let n=e.options.scrollRestorationBehavior,o=e.options.scrollToTopSelectors,s=r.next,c=r.hash,l;if(a.clear(),r.next=!0,r.hash=!1,typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let u=i(t.toLocation),d=t.fromLocation&&i(t.fromLocation);if(r.restoring&&d&&d!==u){let e=Kt[d];if(e){let t=Kt[u];for(let n in e){if(n===Xt){if(s)continue}else{let e=Zt(n);if(!e||s&&o&&(l??=Qt(o),l.has(e)))continue}t||=Kt[u]={},t[n]??=e[n]}}}Yt=!0;try{let e=t.toLocation.hash,i=t.toLocation.state.__hashScrollIntoViewOptions??!0,a=!1;if(s){!e&&o&&(l??=Qt(o));let t=e&&i&&c,s=r.restoring?Kt[u]:void 0;if(s)for(let e in s){let{scrollX:r,scrollY:i}=s[e];if(e===Xt){if(t)continue;scrollTo({top:i,left:r,behavior:n}),a=!0}else{let t=Zt(e);t&&(t.scrollLeft=r,t.scrollTop=i,l?.delete(t))}}if(!e){let e={top:0,left:0,behavior:n};if(a||scrollTo(e),l)for(let t of l)t.scrollTo(e)}}!a&&e&&i&&document.getElementById(e)?.scrollIntoView(i)}finally{Yt=!1}}))}function en(e,t=String){let n;for(let r in e){let i=e[r];i!==void 0&&(n||=new URLSearchParams).set(r,t(i))}return n?n.toString():``}function tn(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function nn(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=tn(r):Array.isArray(t)?t.push(tn(r)):n[e]=[t,tn(r)]}return n}var rn=/^(?:\s|["[{\d-]|fa|nu|tr)/,an=sn(JSON.parse),on=cn(JSON.stringify,JSON.parse);function sn(e){let t=e===JSON.parse;return n=>{n[0]===`?`&&(n=n.substring(1));let r=nn(n);for(let n in r){let i=r[n];if(typeof i==`string`){if(t&&!rn.test(i))continue;try{r[n]=e(i)}catch{}}}return r}}function cn(e,t){let n=t===JSON.parse;function r(r){if(r&&typeof r==`object`)try{return e(r)}catch{}else if(t&&typeof r==`string`){if(n&&!rn.test(r))return r;try{return t(r),e(r)}catch{}}return r}return e=>{let t=en(e,r);return t?`?${t}`:``}}var ln=`__root__`;function un(e){e.statusCode=e.statusCode||e.code||307;let t=new Headers(e.headers);e.href&&t.get(`Location`)===null&&t.set(`Location`,e.href);let n=new Response(null,{status:e.statusCode,headers:t});if(n.options=e,e.throw)throw n;return n}function dn(e){return e instanceof Response&&!!e.options}function fn(e){let t=new Map,n,r;return{get(e){let n=t.get(e);if(n)return n.visited=!0,n.value},set(i,a){let o=t.get(i);if(o){o.value=a;return}if(t.size>=e){let e=n?.next().value;for(;!e||e.visited;)e?e.visited=!1:n=t.values(),e=n.next().value;e===r&&(n=void 0),t.delete(e.key)}let s={key:i,value:a,visited:!1};r=s,t.set(i,s)},clear(){t.clear(),n=void 0,r=void 0}}}var pn=4,mn=5;function hn(e){let t=e.names;if(t)return t;let n=[];for(let t of e)typeof t!=`string`&&n.push(t[1]);return e.names=n}function gn(e,t,n){let r=e.substring(t,n);if(r.charCodeAt(0)===36)return r.length===1?[2,`_splat`,``,void 0]:[1,r.substring(1),``,``];let i=r.indexOf(`{`);if(i>=0){let a=r.indexOf(`}`,i),o=r.charCodeAt(i+1)===45,s=i+(o?3:2);if(a>=0&&r.charCodeAt(s-1)===36&&(!o||s!e.parse&&e.caseSensitive===_&&e.prefix===f&&e.suffix===g);if(y)c=y;else{let e=yn(r,t,_,f,g);c=e,v.push(e),v.length===2&&i?.push(v)}}r=c}m&&h=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!r||!_&&(n.caseSensitive?v:y??=v.toLowerCase()).startsWith(r)){if(a){if(_)continue;let e=t.slice(u).join(`/`),i=e.slice(-a.length);if((n.caseSensitive?i:i.toLowerCase())!==a||e.length-a.length=0;t--){let n=i.optional[t];s.push({node:n,index:u,skipped:e,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}if(!_)for(let e=i.optional.length-1;e>=0;e--){let t=i.optional[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?v:y??=v.toLowerCase();if(n&&!e.startsWith(n)||r&&e.indexOf(r,e.length-r.length)=0;e--){let t=i.pathless[e];s.push({node:t,index:u,skipped:d,statics:f,dynamics:p,optionals:m,extract:h,rawParams:g})}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;ee.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===pn)>(e.node.kind===pn)||t.node.kind===pn==(e.node.kind===pn)&&t.node.depth>e.node.depth)))}function Pn(e,t,n){let r=Nt(e),i=`/${r}`,a=t?i:i.toLowerCase(),o=`${a}/`,s={input:({url:e})=>{let n=t?e.pathname:e.pathname.toLowerCase();return n===a?e.pathname=`/`:n.startsWith(o)&&(e.pathname=e.pathname.slice(i.length)),e},output:({url:e})=>(e.pathname=At(`/${r}${e.pathname}`),e)};return n?{input:({url:e})=>Fn(n,s.input({url:e})),output:({url:e})=>s.output({url:In(n,e)})}:s}function Fn(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function In(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function Ln(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i}=t,a=new Map,o=n(`idle`),s=n(e),l=n(void 0),u=n([]),d=r(()=>u.get().map(e=>a.get(e).get())),f=r(()=>({status:o.get(),isLoading:o.get()===`pending`,matches:d.get(),location:s.get(),resolvedLocation:l.get()}));function p(e){let t=a.get(e);return t||(t=n(void 0),a.set(e,t)),t}let m={status:o,location:s,resolvedLocation:l,ids:u,matches:d,byRoute:a,__store:f,getMatchStore:p,setMatches:h};function h(e){let t=u.get(),n=e.map(e=>e.routeId);i(()=>{c(t,n)||u.set(n);for(let e of t)n.includes(e)||a.get(e).set(()=>void 0);for(let t of e){let e=p(t.routeId);e.get()!==t&&e.set(t)}})}return m}var Rn=`__TSR_index`,zn=`popstate`,Bn=`beforeunload`,Vn=/^[\x00-\x20]*(?:[\\/][\t\n\r]*){2,}/;function Hn(e){let t=Vn.exec(e);return t?`/`+e.slice(t[0].length):e}function Un(e){return/[\x00-\x1f\x7f]/.test(e)&&(e=e.replace(/[\x00-\x1f\x7f]/g,e=>` -\r`.includes(e)?``:encodeURIComponent(e))),Hn(e)}function Wn(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=qn(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Rn];i=Gn(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Rn];i=Gn(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Rn]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function Gn(e,t){let n=Jn();return{...t,key:n,__TSR_key:n,[Rn]:e}}function Kn(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>Un(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>qn(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=Jn();t.history.replaceState({[Rn]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=qn(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(m=!1,f){f=!1;return}let e=c(),n=e.state[Rn]-l.state[Rn],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Wn({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Bn,x,{capture:!0}),t.removeEventListener(zn,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(Bn,x,{capture:!0}),t.addEventListener(zn,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function qn(e,t){let n=Un(e),r=n.indexOf(`#`),i=n.indexOf(`?`);if(!t){let e=Jn();t={[Rn]:0,key:e,__TSR_key:e}}return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t}}function Jn(){return(Math.random()+1).toString(36).substring(7)}function Yn(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function Xn(e){return e.pathname+e.search+e.hash}function Zn(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function Qn(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function $n({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function er(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function tr(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var nr=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options;this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.staticLocations=new WeakMap,this.protocolAllowlist=new Set(this.options.protocolAllowlist),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Kn()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`;let n=this.options.basepath??`/`,r=this.options.rewrite,i=this.basepath!==n||t?.rewrite!==r||t?.caseSensitive!==this.options.caseSensitive;if(i&&(this.basepath=n,this.rewrite=n!==`/`&&Nt(n)?Pn(n,this.options.caseSensitive,r):r),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;e=this.buildRouteTree(),this.setRoutes(e)}if(this.stores)i&&this.stores.location.set(this.latestLocation);else if(this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=Ln(this.latestLocation,e),$t(this)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=wn(this.routeTree,this.options.caseSensitive);return this.options.routeMasks&&bn(this.options.routeMasks,e.processedTree),{...e,resolvePathCache:fn(1e3)}},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i},a)=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:x(e),external:!1,searchStr:o,search:s(t?.search,i),hash:x(r.slice(1)),state:T(t?.state,a)}}let o=Fn(this.rewrite,new URL(i,this.origin)),c=this.options.parseSearch(o.search),l=this.options.stringifySearch(c);return o.search=l,{href:o.href.replace(o.origin,``),publicHref:i,pathname:x(Hn(o.pathname)),external:!!this.rewrite&&Yn(o,this.origin),searchStr:l,search:s(t?.search,c),hash:x(o.hash.slice(1)),state:T(t?.state,a)}},r=n(e,e.state),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i,{...i.state,__tempLocation:void 0,key:r.state.key,__TSR_key:r.state.__TSR_key});return e.maskedLocation=r,e}return r},this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=Cn(Mt(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{{let t=this.staticLocations.get(e);if(t)return t}let t=!1,n=(n={})=>{if(n.href){let e=qn(n.href,{});n={...n,to:Fn(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let r=n._fromLocation||this._pendingLocation||this.latestLocation,i,a=()=>(t=!0,r),o=()=>(t=!0,i??=this.matchRoutesLightweight(r)),s=n.to?`${n.to}`:`.`,c=Ft(s[0]===`/`?``:n.unsafeRelative===`path`?a().pathname:n.from??o()[1],s,this.options.trailingSlash,this.resolvePathCache),l=this.routesByPath[Mt(c)],u=c.includes(`$`),f;if(l)f=l._branch??=Dn(l);else if(u)f=[];else{let[e,t,n]=this.getMatchedRoutes(c);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}let p=u?l?._interpolation??_n(!1,{fullPath:c},0):void 0,m;for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){let e=o()[3];if(m??=sr(n.params,e),!d(m))break;m===e&&(m=Object.assign(v(),m));try{Object.assign(m,t(m))}catch{}}}m??=sr(n.params,cr(n.params,p)?o()[3]:lr);let g=e.leaveParams?c:Hn(x(p?zt(c,p,m,this.pathParamsDecoder):c)),_=ur(f,e._includeValidateSearch),y=()=>{let t=o()[2];if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(n=>{if(n.options.validateSearch)try{Object.assign(e,or(n.options.validateSearch,{...e,...t}))}catch{}}),t=e}return t},b=_.length?dr(_,y(),n):n.search===!0?y():typeof n.search==`function`?n.search(y()):n.search||lr,S=this.options.stringifySearch(b),C=n.hash===!0?a().hash:typeof n.hash==`function`?n.hash(a().hash):n.hash||void 0,w=C?`#${C}`:``,T=n.state?n.state===!0?a().state:typeof n.state==`function`?n.state(a().state):n.state:lr,E=`${g}${S}${w}`,D,O,k=!1;if(this.rewrite){let e=new URL(E,this.origin),t=e.origin,n=In(this.rewrite,e);D=Xn(e),Yn(n,t)?(O=n.href,k=!0):O=Hn(Xn(n))}else D=h(E),O=D;return{publicHref:O,href:D,pathname:g,search:b,searchStr:S,state:T,hash:C??``,external:k,unmaskOnReload:n.unmaskOnReload}},r=n(e);if(e.mask)r.maskedLocation=n({from:e.from,...e.mask});else if(this.options.routeMasks){let t=xn(r.pathname,this.processedTree);if(t){let i=Object.assign(v(),t.rawParams),{from:a,params:o,...s}=t.route,c=sr(o,i);r.maskedLocation=n({from:e.from,...s,params:c})}}return!t&&e._fromLocation&&!r.maskedLocation&&this.staticLocations.set(e,r),r},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return rr(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=Mt(this.latestLocation.href)===Mt(n.href)&&l($n(n.state),$n(this.latestLocation.state)),o=this._commitPromise,s,c=new Promise(e=>{s=e});if(c.resolve=()=>{s(),o?.resolve()},this._commitPromise=c,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state={...o.state,__hashScrollIntoViewOptions:a??this.options.defaultHashScrollIntoView??!0},this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=n?u(n):void 0;if(a||t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i}),a=t.maskedLocation??t;n??=a.publicHref,r??=a.publicHref}let t=!a&&r?r:n;return rr(this,t,i)}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await ri(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Qn(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set,a=e=>{(!n||n(e))&&i.add(e.id)};t.forEach(a),this._cache.forEach(a),r?.forEach(e=>e.forEach(a)),this._tx?.[3].forEach(a);let o=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),o.push(e));let s=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&Zn(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(s);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of o)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.options,n=e.headers.get(`Location`)||t.href;if(!n){let e=this.buildLocation(t);n=(e.maskedLocation??e).publicHref||`/`}let r;if(w.test(n)||(r=u(n))&&!this.protocolAllowlist.has(r))throw Error(`Redirect blocked: unsafe protocol`);if(r===`http:`||r===`https:`){let e=new URL(n);e.pathname.startsWith(`//`)?n=e.href:Yn(e,this.origin)||(n=Xn(e),r=void 0)}return r&&(t.reloadDocument=!0),t.href=n,e.headers.set(`Location`,n),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=gr,this.preloadRoute=e=>ii(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?Ft(e.from||``,e.to,this.options.trailingSlash,this.resolvePathCache):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=Sn(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!l(o.rawParams,e.params,!0)?!1:t?.includeSearch??!0?l(a.search,r.search,!0)?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,e.pathParamsAllowedCharacters?.length&&(this.pathParamsDecoder=It(e.pathParamsAllowedCharacters)),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??on,parseSearch:e.parseSearch??an,protocolAllowlist:e.protocolAllowlist??m}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes(e){Object.assign(this,e),this.lightweightCache=new WeakMap,this.staticLocations=new WeakMap;let t=this.options.notFoundRoute;t&&(t.init(99999999999),this.routesById[t.id]!==t&&(t._interpolation=_n(!1,t,0)),this.routesById[t.id]=t)}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,o=!1;(i?i.path!==`/`&&r[`**`]:Mt(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let c=o?fr(this.options.notFoundMode,a):void 0,l=Array(a.length),u=this._committed,d=(e,t)=>{let n=u[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?u.find(t=>t.routeId===e.id):void 0},f;for(let n=0;ntypeof t!=`string`&&!y.call(e,t[1]))}var lr=Object.freeze({});function ur(e,t){let n=[];for(let r=0;r{let n=t(i.preSearchFilters?i.preSearchFilters.reduce((e,t)=>t(e),e):e);return i.postSearchFilters?i.postSearchFilters.reduce((e,t)=>t(e),n):n});let a=i.validateSearch;t&&a&&n.push(({search:e,next:t,meta:n})=>{let r=t(e);try{let e=or(a,r);if(n&&e)for(let t in e)t in r||(n.defaulted||=new Map).set(t,e[t]);return{...r,...e}}catch{}return r})}return n}function dr(e,t,n){let r=(t,i,a)=>{if(t>=e.length){if(!n.search)return{};if(n.search===!0)return i;let e=C(n.search,i);return a&&(a.explicit=e),e}return e[t]({search:i,next:(e,n)=>{if(n){let n=a||{};return{search:r(t+1,e,n),meta:n}}return r(t+1,e,a)},meta:a})};return r(0,t)}function fr(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return ln}function pr(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function mr(e,t){return e.options[t]?.preload?.()}function hr(e,t){let n=mr(e,`component`),r=mr(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function gr(e,t,n){let r=()=>t===!1?void 0:t?mr(e,t):hr(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function _r(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function Tr(e,t){return e.routesById[t.routeId]}function Er(e,t,n){return dn(e)?[xr,e]:Bt(e)?(e.routeId||=n,[br,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[yr,e]):[vr,e]}function Dr(e,t){let n=Er(t,!0,e.id);if(n[0]!==yr)return n;try{e.options.onError?.(n[1])}catch(t){n=Er(t,!0,e.id)}return n}function Or(e,t,n,r,i){return i[0].signal.aborted?Sr:Wr(e,t,n,Dr(n,r),i)}async function kr(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;ie.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return jr(e,r),[i,Or(e,t,u,a,n)]}if(c.aborted)return[i,Sr];let p=r.paramsError??r.searchError;if(p!==void 0)return jr(e,r),[i,Or(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Pr(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}),o=await(typeof a?.then==`function`?wr(a,c):a);if(c.aborted)return[i,Sr];let s=Wr(e,t,u,Er(o,!1,u.id),n);if(s[0]!==vr)return jr(e,r),[i,s];r.context={...r.context,...o}}catch(a){return jr(e,r),[i,Or(e,t,u,a,n)]}finally{r.status=h,Pr(e,r,!1,n[0])}}i()}function Ar(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function jr(e,t){let n=t._flight;t._flight=void 0,Ar(e,t,n)?.abort()}function Mr(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=Ar(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Nr(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Pr(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Fr(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Ir(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return Sr;if(!i)return[vr,void 0];let l=n._flight;Pr(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Fr(e,t,n,r,s,a,!!o[3]))).then(e=>Er(e,!1,r.id),e=>Er(e,!0,r.id)).then(t=>(t[0]!==vr&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===yr&&l[2]?Dr(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],Wr(e,t,r,await wr(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return jr(e,n),Sr}finally{Pr(e,n,!1,s)}}function Lr(e,t,n){t[0]!==xr&&(e.status=`success`,e.error=void 0,t[0]===vr?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function Rr(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&jr(e,r)}function zr(e,t){return t[0]===yr||t[0]===br?{...e,status:t[0]===yr?`error`:`notFound`,error:t[1],_flight:void 0}:e}function Br(e,t,n,r,i,a,o){let s=t[1][n],c=Tr(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Fr(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=Sr)),!p){if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(n){s.invalid=!0,jr(e,s),p=Or(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!(!m||!f||s.status!==`success`||l||a[4]||((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)===`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,Ar(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let w=!p&&x?Ir(e,t,s,c,g,i,a).then(t=>(Lr(s,t,l),t[0]===vr&&(m&&!a[0].signal.aborted&&Rr(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[vr,s.loaderData]),T=(async()=>{try{let e=gr(c,void 0,C);e&&await wr(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,Or(e,t,c,r,a)]}let r=await w;x&&r[0]===vr&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,w,T]),!y)return w.then(e=>zr(s,e));let E={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let D=Ir(e,t,E,c,g,i,a).then(e=>(s.isFetching=!1,Lr(E,e,!1),e));return(t[2]??=[]).push([n,D,T,E]),D.then(e=>zr(E,e))}async function Vr(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Tr(e,t[n]);try{let e=gr(i,!1);e&&await wr(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Hr(e,t){t[2]&&=(Mr(e,t[2].map(e=>e[3])),void 0)}async function Ur(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=xr)throw[a,t];!i&&t[0]!==vr&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===xr)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}function Wr(e,t,n,r,i,a){for(;r[0]===xr;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[xr,t]:[xr,t,a]}return[xr,o,n]}catch(e){r=a?[yr,e]:Dr(n,e),a=!0}}return r}async function Gr(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===br?Vr(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=xr)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==vr&&t[0]=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=xr){let n=s[1];if(n[0]!==xr||n[1].options.reloadDocument||n[2])return Hr(e,t),n;c=!0,s=[0,[yr,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>{i&&(u._notFound=void 0,l===yr?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=Tr(e,u);try{await wr(i?Promise.resolve().then(()=>gr(m,l===yr?`errorComponent`:`notFoundComponent`)):Promise.all([gr(m),gr(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return Hr(e,t),Sr}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Hr(e,t),Mr(e,o),p()):u.status=`success`}return t}async function Kr(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await Vr(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l{for(let t=d;t=xr&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=Gr(e,i,u,r[0],Ur(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Ur(i[2],void 0,void 0,h.then(e=>Cr(e)?0:_r(n).length,()=>0))),o=await h}catch(t){if(Hr(e,i),t===a&&a.aborted)return Sr;throw t}return Cr(o)?o:Kr(e,o,a,r[6]===n.length?r[6]:0)}function Jr(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a0){i[3]=setTimeout(()=>Jr(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function Yr(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function Xr(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!_r(t[3]).some(e=>e.id===n[1]))return;let i;try{await wr(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function Zr(e,t){e._committed=t,e.stores.setMatches(t)}function Qr(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=_r(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=er(n);Zr(e,n),Mr(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),tr(e,i,n,a,l,t)}async function $r(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function ei(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function ti(e,t,n,r,i){let a=n.map(e=>({...e}));Nr(a);for(let t of r)jr(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Gr(e,o,r,t[0],i)}catch(t){throw Mr(e,a),t}if(Cr(s)){Mr(e,a),s[0]===xr&&e._tx===t&&e._committed===n&&await ei(e,t,s);return}if(await Kr(e,s,t[0].signal),e._tx!==t||e._committed!==n){Mr(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),jr(e,n))}Zr(e,a),Mr(e,n,a)}async function ni(e,t,n,r,i,a){let o=await qr(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(Cr(o)){let n=o[0]===xr&&e._tx===t;if((!n||o[1].options.reloadDocument)&&Yr(e,t),Mr(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){Yr(e,t);return}await ei(e,t,o);return}let s=o[1];if(e._tx===t&&await Xr(e,t),e._tx!==t){Yr(e,t),Mr(e,s),Hr(e,o);return}let c=t[2],l=Qn(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>{if(e._tx===t&&await Xr(e,t),e._tx!==t){Yr(e,t),Mr(e,s),Hr(e,o);return}let n=await e.startTransition(()=>{Yr(e,t),Qr(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){Hr(e,o);return}u?.length&&ti(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function ri(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=Qn(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await $r(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});Nr(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){Mr(e,m),await $r(e,n);return}e._preflight=void 0;let g,_=()=>ni(e,y,f,()=>Jr(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>$r(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Pr(e,t,!1)}n[0].abort(),Mr(e,n[3],y[3],!0)}if(e._tx!==y){Mr(e,y[3]),y[3]=[],g?.(),await $r(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&Jr(e,y),g?.(_()),await y[5]}async function ii(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,i=new AbortController,a,o,s;try{try{a=e.matchRoutes(n,{_controller:i}),Nr(a),o=(e._preloads??=new Map).set(i,a),s=await qr(e,n,a,[i,t,r,!0])}finally{o&&(o=o.delete(i),Mr(e,a)),i.abort()}if(!Cr(s))return s[1];if(!o||s.length<3)return;n=s[2]}catch(e){Bt(e)||console.error(e);return}}}var ai=`Error preloading route! ☝️`,oi=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=ln:this.parentRoute||E();let r=n?ln:t?.path;r&&r!==`/`&&(r=jt(r));let i=t?.id||r,a=n?ln:At((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(i??``));r===`__root__`&&(r=`/`);let o=a===`__root__`?`/`:r===void 0?this.parentRoute.fullPath:At(this.parentRoute.fullPath+`/`+r);this._path=r,this._id=a,this._fullPath=o,this._to=Mt(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>un({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},si=class extends oi{constructor(e){super(e)}},ci=class extends j.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?j.createElement(this.props.errorComponent??li,{error:e[0],reset:this.reset}):this.props.children}};function li({error:e}){let[t,n]=j.useState(!1);return(0,M.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,M.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,M.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,M.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,M.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,M.jsx)(`div`,{children:(0,M.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?(0,M.jsx)(`code`,{children:e.message}):null})}):null]})}var ui=()=>!0,di=()=>!1;function fi({children:e,fallback:t=null}){return(0,M.jsx)(j.Fragment,{children:pi()?e:t})}function pi(e=!0){return j.useSyncExternalStore(mi,ui,e?di:ui)}function mi(){return()=>{}}function hi({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function gi(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var _i=[],vi=0,{link:yi,unlink:bi,propagate:xi,checkDirty:Si,shallowPropagate:Ci}=hi({update(e){return e._update()},notify(e){_i[Ti++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ki(e))}}),wi=0,Ti=0,Ei,Di=0;function Oi(e){try{++Di,e()}finally{--Di||Ai()}}function ki(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=bi(n,e)}function Ai(){if(!(Di>0)){for(;wi{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Ei,o=t?.compare??Object.is;if(n)Ei=i,++vi,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Ei=a,n&&(i.flags&=-5),ki(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&Si(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Ci(e)}}else e&32&&(i.flags=e&-33);return Ei!==void 0&&yi(i,Ei,vi),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(xi(e),Ci(e),Ai())}},i}function Mi(e){let t=()=>{let t=Ei;Ei=n,++vi,n.depsTail=void 0,n.flags=6;try{return e()}finally{Ei=t,n.flags&=-5,ki(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&Si(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,ki(this)}};return t(),n}function Ni(e){return k({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Pi(e){let{select:t,...n}=e;return k({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function Fi(e){return k({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Ii(e){return k({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function Li(e){let t=_();return j.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Ri(e){let t=_(),n=Li(),r=j.useRef(null);return kt(()=>{r.current!==e&&(n(e),r.current=e)},[t,e,n]),null}function zi(e){return k({...e,select:t=>e.select?e.select(t.context):t.context})}function Bi(...e){let t=j.useRef(e),n=t.current;return e.forEach((e,t)=>{l(n[t],e,!1,!0)||(n[t]=e)}),t.current}function Vi(e,t){e.preloadRoute(t).catch(e=>{console.warn(e),console.warn(ai)})}var Hi={compare:(e,t)=>e[0]===t[0]&&e[1]===t[1]};function Ui(e,t){let n=typeof e==`string`&&u(e);if(n)return t.has(n)?e:null}function Wi(e,t,n,r,i){let a=Pt(e.pathname,r),o=Pt(t.pathname,r);return(n?.exact?a!==o:!a.startsWith(o)||a.length!==o.length&&a[o.length]!==`/`)||(n?.includeSearch??!0)&&!l(e.search,t.search,!n?.exact,n?.explicitUndefined)?!1:!n?.includeHash||i&&e.hash===t.hash}function Gi(e,t,n){let r=_(),i=j.useRef(null),a=j.useCallback(e=>{if(i.current=e,typeof t==`function`)return t(e);t&&(t.current=e)},[t]),{activeOptions:o,to:s,preload:c,preloadDelay:l,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:h,ignoreBlocker:g,disabled:v,target:y,onClick:b,onBlur:x,onFocus:C,onMouseEnter:w,onMouseLeave:T,onTouchStart:E}=e,D=pi(!!o?.includeHash),[O,k,ee]=Bi(e.search,e.params,o),[A,te]=j.useMemo(()=>[e,{...e}],[r,e.from,e._fromLocation,e.hash,e.to,O,k,e.state,e.mask,e.unsafeRelative]),ne=j.useCallback(e=>{let t=Ui(s,r.protocolAllowlist);if(t!==void 0)return[t??void 0];A._fromLocation||(te._fromLocation=e);let n=r.buildLocation(te),i=ea(n,r,v);return[i,!v&&(!i||u(i))?void 0:Wi(e,n,ee,r.basepath,D)]},[ee,v,D,A,te,r,s]),[re,ie]=S(r.stores.location,ne,Hi),M=ie===void 0?re:void 0,ae=v||re===void 0,oe=j.useRef(!1),se=e.reloadDocument||M||ae?!1:c??r.options.defaultPreload,ce=l??r.options.defaultPreloadDelay??0,le=j.useCallback(e=>{let t=e?.isIntersecting;if(!(t??se===`intent`)){t===!1&&Qi(i);return}if(!ce){Vi(r,A);return}Zi.has(i)||Zi.set(i,setTimeout(()=>{Zi.delete(i),Vi(r,A)},ce))},[r,A,i,se,ce]);j.useEffect(()=>{se===`render`&&!oe.current&&(oe.current=!0,Vi(r,A));let e;return se===`viewport`&&i.current&&typeof IntersectionObserver==`function`&&(e=new IntersectionObserver(e=>le(e.pop()),{rootMargin:`100px`}),e.observe(i.current)),()=>{e?.disconnect(),Qi(i)}},[r,A,se,le,i]);let ue=Yi(e,n);if(ue.ref=t?a:i,M)return ue.href=M,ue;let de=e=>{let t=y??e.currentTarget.getAttribute(`target`);!ae&&!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(!t||t===`_self`)&&e.button===0&&(e.preventDefault(),r.navigate({...A,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:h,ignoreBlocker:g}))},fe=()=>{se===`intent`&&Vi(r,A)},pe=()=>{se===`intent`&&Qi(i)};return ue.onClick=$i(b,de),ue.onBlur=$i(x,pe),ue.onFocus=$i(C,le),ue.onMouseEnter=$i(w,le),ue.onMouseLeave=$i(T,pe),ue.onTouchStart=$i(E,fe),Xi(ue,e,ie,re,ae,n)}var Ki={},qi={className:`active`},Ji=new Set([`to`,`params`,`search`,`hash`,`state`,`mask`,`from`,`unsafeRelative`,`_fromLocation`,`reloadDocument`,`preload`,`preloadDelay`,`preloadIntentProximity`,`hashScrollIntoView`,`replace`,`startTransition`,`resetScroll`,`viewTransition`,`ignoreBlocker`,`activeProps`,`inactiveProps`,`activeOptions`,`_asChild`]);function Yi(e,t){let n={};for(let r in e)Ji.has(r)||r===`type`&&t!==void 0||r===`disabled`&&t===`a`||(n[r]=e[r]);return n}function Xi(e,t,n,r,i,a){let{activeProps:o,inactiveProps:s,className:c,style:l,target:u}=t,d=C(n?o:s,{})??(n?qi:Ki);Object.assign(e,d),e.href=r,a!==`a`&&(e.disabled=i),e.target=u;let f=d.style;(l||f)&&(e.style=l&&f?{...l,...f}:l||f);let p=d.className;return(c||p)&&(e.className=c?p?`${c} ${p}`:c:p),i&&(e.role=`link`,e[`aria-disabled`]=!0),n&&(e[`data-status`]=`active`,e[`aria-current`]=`page`),e}var Zi=new WeakMap,Qi=e=>{clearTimeout(Zi.get(e)),Zi.delete(e)},$i=(e,t)=>e?n=>n.defaultPrevented||(e(n),n.defaultPrevented||t(n)):t;function ea(e,t,n){if(n)return;let r=e.maskedLocation??e,i=r.external?r.publicHref:t.history.createHref(r.publicHref)||`/`;if(!r.external&&i===r.publicHref||!g(i,t.protocolAllowlist))return i}var ta=j.memo(j.forwardRef((e,t)=>{let n=e._asChild||`a`,r=Gi(e,t,n),i=typeof e.children==`function`?e.children({isActive:r[`data-status`]===`active`}):e.children;return j.createElement(n,r,i)}),na);function na(e,t){let n=0;for(let r in t)if(n++,e[r]!==t[r]&&(!Ji.has(r)||!l(e[r],t[r],!1,!0)))return!1;for(let t in e)n--;return n===0}var ra=class extends oi{constructor(e){super(e),this.useMatch=e=>k({...e,from:this.id}),this.useRouteContext=e=>zi({...e,from:this.id}),this.useSearch=e=>Ii({...e,from:this.id}),this.useParams=e=>Fi({...e,from:this.id}),this.useLoaderDeps=e=>Pi({...e,from:this.id}),this.useLoaderData=e=>Ni({...e,from:this.id}),this.useNavigate=()=>Li({from:this.fullPath}),this.Link=j.forwardRef((e,t)=>(0,M.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function ia(e){return new ra(e)}var aa=class extends si{constructor(e){super(e),this.useMatch=e=>k({...e,from:this.id}),this.useRouteContext=e=>zi({...e,from:this.id}),this.useSearch=e=>Ii({...e,from:this.id}),this.useParams=e=>Fi({...e,from:this.id}),this.useLoaderDeps=e=>Pi({...e,from:this.id}),this.useLoaderData=e=>Ni({...e,from:this.id}),this.useNavigate=()=>Li({from:this.fullPath}),this.Link=j.forwardRef((e,t)=>(0,M.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function oa(e){return new aa(e)}function R(e,t){let n,r,i,a=()=>(n||=(i=void 0,e().then(e=>{n=void 0,o.preload=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,i=e})),n),o=function(e){if(i){if(p(i)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw i}if(!r){if(Ot)Ot(a());else throw a()}return j.createElement(r,e)};return o.preload=a,o}function sa(e){let t=_(),n=`not-found-${S(t.stores.location,e=>e.pathname)}-${S(t.stores.status)}`;return(0,M.jsx)(ci,{getResetKey:()=>n,onCatch:(t,n)=>{if(Bt(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(Bt(t))return e.fallback?.(t);throw t},children:e.children})}function ca(){return(0,M.jsx)(`p`,{children:`Not Found`})}function la(e){return(0,M.jsx)(M.Fragment,{children:e.children})}function ua(e,t,n){return t.options.notFoundComponent?(0,M.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,M.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,M.jsx)(ca,{})}function da(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,M.jsx)(n,{}):null}var fa=(e,t)=>e[0]===t[0]&&e[1]===t[1],pa=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,ma=j.memo(function({routeId:e}){let t=_();return(0,M.jsx)(ha,{router:t,match:S(t.stores.getMatchStore(e))})});function ha({router:e,match:t}){let n=e.routesById[t.routeId],r=da(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=pa(e,n,t.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s))?j.Suspense:la,l=i?ci:la,u=o?sa:la;return(0,M.jsxs)(n.isRoot?n.options.shellComponent??la:la,{children:[(0,M.jsx)(O.Provider,{value:t.routeId,children:(0,M.jsx)(c,{fallback:r,children:(0,M.jsx)(l,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(Bt(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:(0,M.jsx)(u,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return j.createElement(o,e)},children:s?(0,M.jsx)(fi,{fallback:r,children:(0,M.jsx)(ga,{match:t})}):(0,M.jsx)(ga,{match:t})})})})}),null]})}var ga=j.memo(function({match:e}){let t=_(),n=e.routeId,r=t.routesById[n],i=j.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=j.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,M.jsx)(e,{},i):(0,M.jsx)(_a,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t.ssr&&!pa(t,r,e.ssr))return a;if(t._tx)throw t._tx[5];return da(t,r)}if(e.status===`notFound`)return ua(t,r,e.error);if(e.status===`error`)throw e.error;return a}),_a=j.memo(function(){let e=_(),t=j.useContext(O),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=S(a,e=>[!!e._notFound,e.error],{compare:fa}),i=S(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return ua(e,e.routesById[t],r);if(!i)return null;let a=(0,M.jsx)(ma,{routeId:i});return t===`__root__`?(0,M.jsx)(j.Suspense,{fallback:da(e),children:a}):a});function va(e,t){let n=e[1];e.length=0,n?.(t)}function ya({t:e}){let t=_(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise(a=>{va(n,!1),n.push(i,a),e(t),j.startTransition(r)}),kt(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(Mt(r.publicHref)!==Mt(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...Qn(a,a)})}):t._tx||t.load({sync:!0}).catch(console.error),e},[t,t.history]),null}function ba(){let e=_(),t=e.routesById[ln],n=da(e,t),r=e.ssr?la:j.Suspense,i=(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ya,{t:j.useState()[1]}),(0,M.jsx)(r,{fallback:n,children:(0,M.jsx)(xa,{})})]});return e.options.InnerWrap?(0,M.jsx)(e.options.InnerWrap,{children:i}):i}function xa(){let e=_(),t=e._rendered,n=S(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;kt(()=>{t[0]===n&&va(t,!0)},[t,n]);let a=i?(0,M.jsx)(ma,{routeId:i}):null;return(0,M.jsx)(O.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,M.jsx)(ci,{getResetKey:()=>r,onCatch:void 0,children:a})})}var Sa=e=>({createMutableStore:ji,createReadonlyStore:ji,batch:Oi}),Ca=e=>new wa(e),wa=class extends nr{constructor(e){super(e,Sa)}};function Ta({router:e,children:t,...n}){d(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,M.jsx)(b.Provider,{value:e,children:t});return e.options.Wrap?(0,M.jsx)(e.options.Wrap,{children:r}):r}function Ea({router:e,...t}){return(0,M.jsx)(Ta,{router:e,...t,children:(0,M.jsx)(ba,{})})}function Da(e){let t=_({warn:e?.router===void 0}),n=e?.router||t;return S(n.stores.__store,D(e,n))}var Oa=ie(),z=a();function ka(e){let t=(0,z.c)(6),{error:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(`p`,{className:`text-lg font-semibold text-rot-text`,children:`Diese Ansicht ist abgestürzt`}),t[0]=r):r=t[0];let i=n instanceof Error?n.message:String(n),a;t[1]===i?a=t[2]:(a=(0,M.jsx)(`p`,{className:`text-[15px]`,children:i}),t[1]=i,t[2]=a);let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,M.jsx)(`button`,{type:`button`,onClick:Aa,className:`h-11 rounded-xl border border-rot/40 bg-rot/10 px-5 text-sm font-semibold text-rot-text hover:bg-rot/[0.18]`,children:`Neu laden`}),t[3]=o):o=t[3];let s;return t[4]===a?s=t[5]:(s=(0,M.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-start gap-3 rounded-2xl border border-rot-rand bg-rot-grund p-6 text-rot-text`,children:[r,a,o]}),t[4]=a,t[5]=s),s}function Aa(){return window.location.reload()}var ja={name:`activity`,size:24,node:[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]};ja.node;var Ma=r(ja),Na={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Na.node;var Pa=r(Na),Fa={name:`audio-lines`,size:24,node:[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]};Fa.node;var Ia=r(Fa),La={name:`bird`,size:24,node:[[`path`,{d:`M16 7h.01`,key:`1kdx03`}],[`path`,{d:`M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20`,key:`oj1oa8`}],[`path`,{d:`m20 7 2 .5-2 .5`,key:`12nv4d`}],[`path`,{d:`M10 18v3`,key:`1yea0a`}],[`path`,{d:`M14 17.75V21`,key:`1pymcb`}],[`path`,{d:`M7 18a6 6 0 0 0 3.84-10.61`,key:`1npnn0`}]]};La.node;var Ra=r(La),za={name:`bot`,size:24,node:[[`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`}]]};za.node;var Ba=r(za),Va={name:`box`,size:24,node:[[`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`}]]};Va.node;var Ha=r(Va),Ua={name:`brain-circuit`,size:24,node:[[`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`}]]};Ua.node;var Wa=r(Ua),Ga={name:`calendar-clock`,size:24,node:[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`path`,{d:`M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338`,key:`7hb8p4`}],[`path`,{d:`M3 9h5.859`,key:`numkqi`}],[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]};Ga.node;var Ka=r(Ga),qa={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};qa.node;var Ja=r(qa),Ya={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};Ya.node;var Xa=r(Ya),Za={name:`clapperboard`,size:24,node:[[`path`,{d:`m12.296 3.464 3.02 3.956`,key:`qash78`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`,key:`1h7j8b`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`4lm6w1`}],[`path`,{d:`m6.18 5.276 3.1 3.899`,key:`zjj9t3`}]]};Za.node;var Qa=r(Za),$a={name:`code`,size:24,node:[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]};$a.node;var eo=r($a),to={name:`container`,size:24,node:[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`,key:`1t2lqe`}],[`path`,{d:`M10 21.9V14L2.1 9.1`,key:`o7czzq`}],[`path`,{d:`m10 14 11.9-6.9`,key:`zm5e20`}],[`path`,{d:`M14 19.8v-8.1`,key:`159ecu`}],[`path`,{d:`M18 17.5V9.4`,key:`11uown`}]]};to.node;var no=r(to),ro={name:`cpu`,size:24,node:[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]};ro.node;var io=r(ro),ao={name:`database-backup`,size:24,node:[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 12a9 3 0 0 0 5 2.69`,key:`1ui2ym`}],[`path`,{d:`M21 9.3V5`,key:`6k6cib`}],[`path`,{d:`M3 5v14a9 3 0 0 0 6.47 2.88`,key:`i62tjy`}],[`path`,{d:`M12 12v4h4`,key:`1bxaet`}],[`path`,{d:`M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16`,key:`1f4ei9`}]]};ao.node;var oo=r(ao),so={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};so.node;var co=r(so),lo={name:`file-code-corner`,size:24,node:[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]],aliases:[`file-code-2`]};lo.node;var uo=r(lo),fo={name:`gauge`,size:24,node:[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]};fo.node;var po=r(fo),mo={name:`git-branch`,size:24,node:[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]};mo.node;var ho=r(mo),go={name:`hard-drive`,size:24,node:[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]};go.node;var _o=r(go),vo={name:`house`,size:24,node:[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]],aliases:[`home`]};vo.node;var yo=r(vo),bo={name:`layers`,size:24,node:[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]],aliases:[`layers-3`]};bo.node;var xo=r(bo),So={name:`layout-dashboard`,size:24,node:[[`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`}]]};So.node;var Co=r(So),wo={name:`layout-grid`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]};wo.node;var To=r(wo),Eo={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};Eo.node;var Do=r(Eo),Oo={name:`mic`,size:24,node:[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]};Oo.node;var ko=r(Oo),Ao={name:`monitor`,size:24,node:[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]};Ao.node;var jo=r(Ao),Mo={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};Mo.node;var No=r(Mo),Po={name:`rotate-ccw-clock`,size:24,node:[[`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`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]],aliases:[`history`]};Po.node;var Fo=r(Po),Io={name:`route`,size:24,node:[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]};Io.node;var Lo=r(Io),Ro={name:`scroll-text`,size:24,node:[[`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`}]]};Ro.node;var zo=r(Ro),Bo={name:`server`,size:24,node:[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]};Bo.node;var Vo=r(Bo),Ho={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};Ho.node;var Uo=r(Ho),B={name:`shield-check`,size:24,node:[[`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 12 2 2 4-4`,key:`dzmm74`}]]};B.node;var V=r(B),Wo={name:`shuffle`,size:24,node:[[`path`,{d:`m18 14 4 4-4 4`,key:`10pe0f`}],[`path`,{d:`m18 2 4 4-4 4`,key:`pucp1d`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`,key:`1ailkh`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`,key:`km57vx`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`,key:`os18l9`}]]};Wo.node;var Go=r(Wo),Ko={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};Ko.node;var qo=r(Ko),Jo={name:`workflow`,size:24,node:[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]};Jo.node;var Yo=r(Jo),Xo={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};Xo.node;var Zo=r(Xo),Qo={name:`zap`,size:24,node:[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]};Qo.node;var $o=r(Qo),es=[`/api/instanz`,`/api/partner`,`/api/health`],ts=(e,t)=>e===t||e.startsWith(`${t}/`)||e.startsWith(`${t}?`);function ns(e,t){return!e.startsWith(`/api/`)||es.some(t=>ts(e,t))||(ts(e,`/api/homelab`)?`homelab`:`box`)===t?e:`/api/partner${e.slice(4)}`}var rs=null;function is(){return rs??=fetch(`/api/instanz`,{headers:{Accept:`application/json`}}).then(e=>e.ok?e.json():Promise.reject(Error(String(e.status)))).then(e=>e.rolle===`homelab`?`homelab`:`box`).catch(()=>(rs=null,`box`)),rs}var as=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.detail=t,this.name=`ApiFehler`}};function os(e,t){if(e&&typeof e==`object`&&`detail`in e){let t=e.detail;if(typeof t==`string`)return t;if(Array.isArray(t))return t.map(e=>e.msg??String(e)).join(`; `)}return`Die Box antwortet mit Fehler ${t}.`}async function H(e,t={}){let n=ns(e,await is()),r;try{r=await fetch(n,{...t,headers:{"Content-Type":`application/json`,Accept:`application/json`,...t.headers}})}catch{throw new as(0,`MC2 ist nicht erreichbar. Läuft die Box?`)}let i=await r.text(),a=i?ss(i):null;if(!r.ok)throw new as(r.status,os(a,r.status));if(typeof a==`string`)throw new as(r.status,`Die Box antwortet nicht mit Daten.`);return a}function ss(e){try{return JSON.parse(e)}catch{return e}}var U=(e,t)=>H(e,{method:`POST`,body:t===void 0?void 0:JSON.stringify(t)}),cs=100,ls=95,us=210,ds=240;function fs(e,t){let n=e*Math.PI/180;return[cs+t*Math.cos(n),ls-t*Math.sin(n)]}var ps=e=>Math.round(e*100)/100;function ms(e,t,n){let r=Math.max(0,Math.min(1,e)),i=Math.max(r,Math.min(1,t)),[a,o]=fs(us-ds*r,n),[s,c]=fs(us-ds*i,n),l=+((i-r)*ds>180);return`M ${ps(a)} ${ps(o)} A ${n} ${n} 0 ${l} 1 ${ps(s)} ${ps(c)}`}function hs(e){return e==null?`var(--text-3)`:e>=85?`var(--rot)`:e>=70?`var(--bernstein)`:`var(--box)`}function gs(e){if(!e.waechter_wach)return{art:`stumm`,oben:`Wächter`,mitte:`Schweigt`,unten:`Seit über 5 Minuten kein Prüflauf`};if(e.update_laeuft)return{art:`info`,oben:`Wartung`,mitte:`Update läuft`,unten:`Hinweise ruhen bis zum Ende`};if(e.anzahl===0)return{art:`ok`,oben:`Alles`,mitte:`In Ordnung`,unten:`Keine offenen Hinweise`};let t=`${e.anzahl} Hinweis${e.anzahl===1?``:`e`}`;return e.stufe===`rot`?{art:`rot`,oben:`Störung`,mitte:t,unten:`Drücken zum Ansehen`}:{art:`gelb`,oben:`Achtung`,mitte:t,unten:`Drücken zum Ansehen`}}function _s(e,t){let n=`„${e.titel}“:`;switch(t.id){case`protokoll`:return null;case`neustart`:return e.id.startsWith(`timer:`)?{titel:`${t.label}?`,text:`${n} Der Dienst läuft sofort noch einmal.`,knopf:t.label}:{titel:`${t.label}?`,text:`${n} Der Dienst wird ${/^starten/i.test(t.label)?`gestartet`:`neu gestartet`} und ist dabei kurz nicht erreichbar.`,knopf:t.label};case`job-wiederholen`:return{titel:`Job erneut ausführen?`,text:`${n} Hermes führt den Job sofort noch einmal aus, mit allem, was er sonst auch tut — etwa Nachrichten verschicken.`,knopf:t.label};case`freigeben`:return{titel:`Update freigeben?`,text:`${n} Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`,knopf:t.label};default:return{titel:`${t.label}?`,text:`${n} ${t.label}.`,knopf:t.label}}}function vs(e){return e?.status===`busy`?e.running?`Es läuft schon ein Update („${e.running}“). Warte, bis es fertig ist.`:`Es läuft schon ein Update. Warte, bis es fertig ist.`:e?.detail||e?.err||e?.error||e?.text||`Das hat nicht geklappt.`}var ys=e=>e.state===`running`||e.state===`queued`;function bs(e){let t=e.aliases.map(e=>e.toLowerCase());return t.includes(`hermes`)||t.includes(`fast`)?`hirn`:t.includes(`coder`)?`coder`:null}var xs={neu:`Neu`,wartet:`Wartet`,getestet:`Gemessen`,bestanden:`Bestanden`,durchgefallen:`Durchgefallen`,uebernommen:`Übernommen`,verworfen:`Verworfen`};function Ss(e,t=``){if(e==null||e===``)return`–`;let n=typeof e==`number`?e.toLocaleString(`de-DE`,{maximumFractionDigits:+(e<10)}):String(e);return t?`${n} ${t}`:n}var Cs=[],ws=1,Ts=new Set,Es=()=>Ts.forEach(e=>e());function Ds(e,t){let n=ws++;Cs=[...Cs,{id:n,art:e,text:t}].slice(-4),Es(),e!==`fehler`&&window.setTimeout(()=>Os(n),6e3)}function Os(e){Cs=Cs.filter(t=>t.id!==e),Es()}var ks=()=>(0,j.useSyncExternalStore)(As,js);function As(e){return Ts.add(e),()=>{Ts.delete(e)}}function js(){return Cs}var Ms=2e3,Ns=3e4,Ps=2e4,Fs=`verbinde`,Is=null,Ls=new Set,Rs=()=>Ls.forEach(e=>e());function zs(e){return Ls.add(e),()=>{Ls.delete(e)}}var Bs=()=>Fs===`live`,Vs=()=>(0,j.useSyncExternalStore)(zs,Gs),Hs=()=>(0,j.useSyncExternalStore)(zs,Ks);function Us(e){e!==Fs&&(Fs=e,Rs())}function Ws(){let e=oe();(0,j.useEffect)(()=>{let t=null,n,r,i=Date.now(),a=Ms,o=!1;function s(){o||(window.clearTimeout(n),n=window.setTimeout(l,a),a=Math.min(a*2,Ns))}function c(){i=Date.now(),window.clearTimeout(r),r=window.setTimeout(()=>{t?.close(),Us(`getrennt`),s()},Ps)}function l(){window.clearTimeout(n),window.clearTimeout(r),t?.close();let i=new EventSource(`/api/stream`);t=i,i.onopen=()=>{a=Ms,Us(`live`),c(),e.invalidateQueries()},i.onerror=()=>{Us(`getrennt`),i.readyState===EventSource.CLOSED&&(window.clearTimeout(r),s())},i.addEventListener(`invalidate`,t=>{c();try{let n=JSON.parse(t.data)?.keys??[];for(let t of n)e.invalidateQueries({queryKey:[t]})}catch{}}),i.addEventListener(`metrik`,e=>{c();try{Is=JSON.parse(e.data),Rs()}catch{}})}let u=()=>{o||document.visibilityState!==`visible`||(t?.readyState===EventSource.CLOSED||Date.now()-i>5e3)&&(a=Ms,l())};return l(),window.addEventListener(`online`,u),document.addEventListener(`visibilitychange`,u),()=>{o=!0,window.clearTimeout(n),window.clearTimeout(r),window.removeEventListener(`online`,u),document.removeEventListener(`visibilitychange`,u),t?.close(),Us(`getrennt`)}},[e])}function Gs(){return Fs}function Ks(){return Is}var qs=`Europe/Berlin`,Js=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:qs}),Ys=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:qs}),Xs=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:qs}),Zs=new Intl.DateTimeFormat(`en-CA`,{timeZone:qs});function Qs(e){return Zs.format(e)}function $s(e,t=new Date){let n=new Date(e);if(Number.isNaN(n.getTime()))return`–`;let r=Qs(t),i=Qs(new Date(t.getTime()-864e5)),a=Qs(new Date(t.getTime()+864e5)),o=Qs(n),s=Js.format(n);return o===r?`HEUTE ${s}`:o===i?`GESTERN ${s}`:o===a?`MORGEN ${s}`:Math.abs(n.getTime()-t.getTime())<5616e5?`${Ys.format(n).replace(`.`,``).toUpperCase()} ${s}`:`${Xs.format(n)} ${s}`}function ec(e,t=new Date){let n=new Date(e*1e3);return Qs(n)===Qs(t)?`seit heute ${Js.format(n)}`:`seit ${Xs.format(n)}, ${Js.format(n)}`}function tc(e,t=Date.now()){let n=Math.max(0,Math.round(t/1e3-e));if(n<60)return`vor ${n} s`;if(n<3600)return`vor ${Math.round(n/60)} min`;if(n<86400)return`vor ${Math.round(n/3600)} h`;let r=Math.round(n/86400);return`vor ${r} ${r===1?`Tag`:`Tagen`}`}function nc(e){return e==null||e<0?null:[Math.floor(e/86400),Math.floor(e%86400/3600)]}var rc=e=>e==null?null:e/1024**3;function ic(e,t=0){let n=rc(e);return n==null?`–`:n>=1e3?`${(n/1024).toFixed(1).replace(`.`,`,`)} TB`:`${n.toFixed(t).replace(`.`,`,`)} GB`}var ac=e=>e.toLocaleString(`de-DE`),oc=e=>()=>Bs()?e*5:e;function sc(e,t){let n=e.getQueryData([`jobs`])?.jobs??[],r=t.filter(e=>!ys(e)&&n.some(t=>t.id===e.id&&ys(t)));if(r.length===0)return;let i=new Set([`start`]);for(let e of r){let t=e.group===`download`||/^download\s/i.test(e.label);for(let e of t?[`models`,`aufraeumen`]:[`update-details`,`updates-verlauf`,`sicherungen`])i.add(e)}for(let t of i)e.invalidateQueries({queryKey:[t]})}var cc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`start`],queryFn:fl,refetchInterval:pl},e[0]=t):t=e[0],I(t)},lc=()=>{let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`models`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:ml,refetchInterval:oc(3e4)},e[1]=n):n=e[1],I(n)},uc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`nutzung`],queryFn:hl,refetchInterval:6e5},e[0]=t):t=e[0],I(t)},dc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`radar`],queryFn:gl,retry:!1,refetchInterval:3e5},e[0]=t):t=e[0],I(t)},fc=()=>{let e=(0,z.c)(3),t=oe(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`jobs`],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r={queryKey:n,queryFn:async()=>{let e=await H(`/api/jobs`);return sc(t,e.jobs),e},refetchInterval:_l},e[1]=t,e[2]=r),I(r)},pc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`sicherungen`],queryFn:vl},e[0]=t):t=e[0],I(t)},mc=e=>{let t=(0,z.c)(4),n;t[0]===e?n=t[1]:(n=e.map(yl),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r={queries:n},t[2]=n,t[3]=r),Tt(r)},hc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`updates-verlauf`],queryFn:bl},e[0]=t):t=e[0],I(t)},gc=e=>{let t=(0,z.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`protokoll`,e],r=()=>H(`/api/maintenance/logs?service=${encodeURIComponent(e??``)}&lines=200`),t[0]=e,t[1]=n,t[2]=r);let i=!!e,a;return t[3]!==n||t[4]!==r||t[5]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[3]=n,t[4]=r,t[5]=i,t[6]=a):a=t[6],I(a)},_c=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`ablaeufe`],queryFn:xl,refetchInterval:6e4},e[0]=t):t=e[0],I(t)},vc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`dienste`],queryFn:Sl,refetchInterval:1e4},e[0]=t):t=e[0],I(t)};function W(e,t){let n=(0,z.c)(6),r=oe(),i;n[0]!==t||n[1]!==r?(i=(e,n)=>{let i=e;i&&i.ok===!1?Ds(`fehler`,t.fehler?.(n,i)??vs(i)):t.erfolg(n,e)&&Ds(`erfolg`,t.erfolg(n,e));for(let e of t.neuLaden)r.invalidateQueries({queryKey:[e]})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let a;return n[3]!==e||n[4]!==i?(a={mutationFn:e,onSuccess:i,onError:yc},n[3]=e,n[4]=i,n[5]=a):a=n[5],Dt(a)}function yc(e){return Ds(`fehler`,e.message)}var bc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:wl,neuLaden:[`start`]},e[0]=t):t=e[0],W(Cl,t)},xc={alle:`/api/maintenance/update-all`,pruefen:`/api/maintenance/check-updates`,os:`/api/maintenance/os-update`,engine:`/api/maintenance/engine-update`,swap:`/api/maintenance/swap-update`,hermes:`/api/maintenance/hermes-update`},Sc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:El,neuLaden:[`jobs`,`start`]},e[0]=t):t=e[0],W(Tl,t)},Cc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ol,fehler:kl,neuLaden:[`jobs`]},e[0]=t):t=e[0],W(Dl,t)},wc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:jl,neuLaden:[`jobs`]},e[0]=t):t=e[0],W(Al,t)},Tc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Nl,neuLaden:[`jobs`,`models`]},e[0]=t):t=e[0],W(Ml,t)},Ec=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`aufraeumen`],queryFn:Pl,staleTime:6e4},e[0]=t):t=e[0],I(t)},Dc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Il,neuLaden:[`aufraeumen`,`models`,`start`]},e[0]=t):t=e[0],W(Fl,t)},Oc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Rl,neuLaden:[`start`]},e[0]=t):t=e[0],W(Ll,t)},kc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Bl,fehler:Vl,neuLaden:[`sicherungen`,`start`]},e[0]=t):t=e[0],W(zl,t)},Ac=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ul,neuLaden:[`sicherungen`]},e[0]=t):t=e[0],W(Hl,t)},jc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Gl,neuLaden:[`models`,`start`]},e[0]=t):t=e[0],W(Wl,t)},Mc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ql,neuLaden:[`radar`,`models`,`start`]},e[0]=t):t=e[0],W(Kl,t)},Nc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Yl,neuLaden:[`radar`,`jobs`]},e[0]=t):t=e[0],W(Jl,t)},Pc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Zl,neuLaden:[`jobs`]},e[0]=t):t=e[0],W(Xl,t)},Fc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`instanz`],queryFn:Ql,staleTime:1/0},e[0]=t):t=e[0],I(t)},Ic=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`partner`],queryFn:$l,refetchInterval:3e4},e[0]=t):t=e[0],I(t)},Lc=()=>{let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`ziele-box`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:eu,refetchInterval:oc(3e4)},e[1]=n):n=e[1],I(n)},Rc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:tu,enabled:e,refetchInterval:3e4},t[1]=e,t[2]=r),I(r)},zc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-laeufe`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:nu,enabled:e,refetchInterval:iu},t[1]=e,t[2]=r),I(r)},Bc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:au,neuLaden:[`homelab`,`homelab-laeufe`,`ziele-box`,`jobs`,`start`]},e[0]=t):t=e[0],W(G,t)},Vc=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-hinweise`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=oc(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:ou,enabled:e,refetchInterval:r},t[2]=e,t[3]=i),I(i)},Hc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:su,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},Uc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:lu,neuLaden:[`einstellungen`,`start`]},e[0]=t):t=e[0],W(cu,t)},Wc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:du,neuLaden:[`einstellungen`,`start`,`radar`]},e[0]=t):t=e[0],W(uu,t)},Gc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:pu,neuLaden:[]},e[0]=t):t=e[0],W(fu,t)},Kc=(e,t)=>{let n=(0,z.c)(9),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`stand`,`hier`],n[0]=r):r=n[0];let i;n[1]===e?i=n[2]:(i={queryKey:r,queryFn:mu,enabled:e},n[1]=e,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=[`stand`,`partner`],n[3]=a):a=n[3];let o=e&&t,s;n[4]===o?s=n[5]:(s={queryKey:a,queryFn:hu,enabled:o,retry:!1},n[4]=o,n[5]=s);let c;return n[6]!==i||n[7]!==s?(c={queries:[i,s]},n[6]=i,n[7]=s,n[8]=c):c=n[8],Tt(c)},qc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`altreste`],queryFn:gu,staleTime:6e4},e[0]=t):t=e[0],I(t)},Jc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:vu,neuLaden:[`altreste`,`start`]},e[0]=t):t=e[0],W(_u,t)},Yc={"1h":6e4,"24h":3e5,"7d":9e5},Xc=(e,t)=>{let n=(0,z.c)(8),r=t===void 0||t,i,a;n[0]===e?(i=n[1],a=n[2]):(i=[`messwerte`,`box`,e],a=()=>H(`/api/messwerte?zeitraum=${e}`),n[0]=e,n[1]=i,n[2]=a);let o=Yc[e],s;return n[3]!==r||n[4]!==i||n[5]!==a||n[6]!==o?(s={queryKey:i,queryFn:a,enabled:r,refetchInterval:o,placeholderData:yu,retry:!1},n[3]=r,n[4]=i,n[5]=a,n[6]=o,n[7]=s):s=n[7],I(s)},Zc=(e,t)=>{let n=(0,z.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):(r=[`messwerte`,`homelab`,e],i=()=>H(`/api/homelab/messwerte?zeitraum=${e}`),n[0]=e,n[1]=r,n[2]=i);let a=Yc[e],o;return n[3]!==t||n[4]!==r||n[5]!==i||n[6]!==a?(o={queryKey:r,queryFn:i,enabled:t,refetchInterval:a,placeholderData:bu,retry:!1},n[3]=t,n[4]=r,n[5]=i,n[6]=a,n[7]=o):o=n[7],I(o)},Qc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammelplan`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:xu,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},$c=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammellauf`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Su,enabled:e,refetchInterval:Cu,retry:!1},t[1]=e,t[2]=r),I(r)},el=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Tu,neuLaden:[`homelab-sammellauf`,`homelab-laeufe`,`homelab`]},e[0]=t):t=e[0],W(wu,t)},tl=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Du,neuLaden:[`homelab-sammellauf`]},e[0]=t):t=e[0],W(Eu,t)},nl=(e,t)=>{let n=(0,z.c)(8),r,i;n[0]===t?(r=n[1],i=n[2]):(r=[`homelab-protokoll`,t],i=()=>H(`/api/homelab/protokoll?grenze=300&berichte=${+!!t}`),n[0]=t,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=oc(3e4),n[3]=a):a=n[3];let o;return n[4]!==e||n[5]!==r||n[6]!==i?(o={queryKey:r,queryFn:i,enabled:e,refetchInterval:a,retry:!1},n[4]=e,n[5]=r,n[6]=i,n[7]=o):o=n[7],I(o)},rl=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-speicher`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=oc(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Ou,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),I(i)},il=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-zertifikate`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=oc(3e5),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:ku,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),I(i)},al=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`,`snapshots`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Au,enabled:e,refetchInterval:Mu,retry:!1},t[1]=e,t[2]=r),I(r)},ol=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Pu,neuLaden:[`homelab-speicher`]},e[0]=t):t=e[0],W(Nu,t)},sl=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Iu,neuLaden:[`homelab`,`homelab-laeufe`]},e[0]=t):t=e[0],W(Fu,t)},cl=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Lu,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},ll=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:zu,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],W(Ru,t)},ul=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Vu,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],W(Bu,t)},dl=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Uu,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],W(Hu,t)};function fl(){return H(`/api/start`)}function pl(e){return e.state.data&&!e.state.data.updates.gelesen?4e3:oc(2e4)()}function ml(){return H(`/api/models`)}function hl(){return H(`/api/modelle/nutzung`)}function gl(){return H(`/api/radar`)}function _l(e){return e.state.data?.jobs.some(ys)?2e3:oc(3e4)()}function vl(){return H(`/api/zeitmaschine`)}function yl(e){return{queryKey:[`update-details`,e],queryFn:()=>H(`/api/maintenance/update-details?kind=${encodeURIComponent(e)}`),staleTime:6e5}}function bl(){return H(`/api/updates/verlauf`)}function xl(){return H(`/api/system/ablaeufe`)}function Sl(){return H(`/api/system/services`)}function Cl(e){let{hinweis:t,aktion:n}=e;return U(`/api/hinweise/${encodeURIComponent(t)}/aktion/${n}`)}function wl(e,t){return e.aktion===`freigeben`&&t.text?t.text:`${e.label}: erledigt. Der Wächter prüft in einer Minute nach.`}function Tl(e){return U(xc[e])}function El(e){return e===`pruefen`?`Die Suche nach Neuem läuft. Den Fortschritt siehst du unten bei den Aufträgen.`:`Das Update läuft. Den Fortschritt siehst du unten bei den Aufträgen.`}function Dl(e){let{id:t}=e;return U(`/api/jobs/${encodeURIComponent(t)}/cancel`)}function Ol(e){return`${e.titel}: wird abgebrochen.`}function kl(e){return`${e.titel} lief schon nicht mehr.`}function Al(e){return U(`/api/jobs/${encodeURIComponent(e)}/quittieren`)}function jl(){return``}function Ml(e){let{repo:t,quant:n,rolle:r}=e;return U(`/api/models/install`,{repo:t,quant:n,role:r})}function Nl(e,t){return`${e.repo} (${e.quant}) wird heruntergeladen${t.total_bytes?`, ${ic(t.total_bytes,1)}`:``}. Den Fortschritt siehst du unter Aufträge.`}function Pl(){return H(`/api/modelle/aufraeumen`)}function Fl(e){return U(`/api/modelle/aufraeumen/loeschen`,{art:e.art,name:e.name})}function Il(e,t){return t.text??`Gelöscht.`}function Ll(e){return U(`/api/updates/festgehalten/${encodeURIComponent(e)}/freigeben`)}function Rl(e,t){return t.text??`Freigegeben.`}function zl(){return U(`/api/system/backup`)}function Bl(e,t){return t.size_mb==null?`Sicherung erstellt.`:`Sicherung erstellt (${t.size_mb.toLocaleString(`de-DE`)} MB).`}function Vl(e,t){return`Die Sicherung ging nicht: ${vs(t)}`}function Hl(e){return U(`/api/zeitmaschine/restore`,{file:e})}function Ul(){return`Zurückspielen läuft. Die Dienste starten gleich neu.`}function Wl(e){return U(`/api/models/${encodeURIComponent(e)}/load`)}function Gl(e){return`${e} wird geladen.`}function Kl(e){let{id:t,aktion:n}=e;return U(`/api/radar/${encodeURIComponent(t)}/${n}`)}function ql(e){return e.aktion===`uebernehmen`?`${e.name} übernommen.`:`${e.name} verworfen.`}function Jl(e){let{id:t}=e;return U(`/api/radar/${encodeURIComponent(t)}/testen`)}function Yl(e,t){return t.text??`Der Test von ${e.name} läuft.`}function Xl(){return U(`/api/radar/suche`)}function Zl(e,t){return t.text??`Das Radar sucht jetzt nach neuen Modellen.`}function Ql(){return H(`/api/instanz`)}function $l(){return H(`/api/partner`)}function eu(){return H(`/api/ziele`)}function tu(){return H(`/api/homelab/ziele`)}function nu(){return H(`/api/homelab/laeufe`)}function ru(e){return e.status===`laeuft`}function iu(e){return e.state.data?.laeufe.some(ru)?3e3:3e4}function G(e){return H(e.pfad,{method:e.methode})}function au(e){return`${e.label}: gestartet. Das Ergebnis kommt als Meldung.`}function ou(){return H(`/api/homelab/hinweise`)}function su(){return H(`/api/einstellungen`)}function cu(e){return U(`/api/einstellungen/update-fenster`,e)}function lu(e,t){return t.text??`Gespeichert.`}function uu(e){return U(`/api/einstellungen/radar`,{an:e})}function du(e,t){return t.text??`Geschaltet.`}function fu(e){return U(e===`homelab`?`/api/homelab/einstellungen/telegram-test`:`/api/einstellungen/telegram-test`)}function pu(e,t){return t.text??`Die Testmeldung ist raus.`}function mu(){return H(`/api/instanz`)}function hu(){return H(`/api/partner/instanz`)}function gu(){return H(`/api/aufraeumen/altreste`)}function _u(e){return U(`/api/aufraeumen/altreste/loeschen`,{id:e.id})}function vu(e,t){return t.text??`Gelöscht.`}function yu(e){return e}function bu(e){return e}function xu(){return H(`/api/homelab/alle/plan`)}function Su(){return H(`/api/homelab/sammellauf`)}function Cu(e){return e.state.data?.sammellauf?.status===`laeuft`?5e3:6e4}function wu(){return U(`/api/homelab/alle`)}function Tu(){return`Alle aktualisieren: gestartet. Die Schritte laufen nacheinander; das Ergebnis kommt als Meldung.`}function Eu(e){return U(`/api/homelab/sammellauf/${encodeURIComponent(e)}/quittieren`)}function Du(){return``}function Ou(){return H(`/api/homelab/speicher`)}function ku(){return H(`/api/homelab/zertifikate`)}function Au(){return H(`/api/homelab/snapshots`)}function ju(e){return e.laeuft}function Mu(e){return e.state.data?.geraete.some(ju)?3e3:3e4}function Nu(){return U(`/api/homelab/sicherungen/probe`)}function Pu(){return`Probe gestartet. Das Ergebnis steht in etwa einer Minute bei den Geräten.`}function Fu(e){return H(e.pfad,{method:e.methode})}function Iu(e){return`${e.label}: gestartet. Das Ergebnis steht gleich beim Gerät.`}function Lu(){return H(`/api/homelab/einstellungen`)}function Ru(e){return e===null?H(`/api/homelab/einstellungen/arcane-schluessel`,{method:`DELETE`}):U(`/api/homelab/einstellungen/arcane-schluessel`,{schluessel:e})}function zu(e,t){return t.text??(e===null?`Arcane-Schlüssel entfernt.`:`Arcane-Schlüssel gespeichert.`)}function Bu(e){return e===null?H(`/api/homelab/einstellungen/adguard-zugang`,{method:`DELETE`}):U(`/api/homelab/einstellungen/adguard-zugang`,e)}function Vu(e,t){return t.text??(e===null?`AdGuard-Zugang entfernt.`:`AdGuard-Zugang gespeichert.`)}function Hu(e){return U(`/api/homelab/einstellungen/arcane-echt`,{an:e})}function Uu(e){return e?`Docker-Updates über Arcane laufen jetzt echt.`:`Docker-Updates über Arcane sind wieder nur ein Probelauf.`}function Wu(e){return e?.text?e.zeit?`${e.text} ${tc(e.zeit)}`:e.text:null}var Gu={"ki-box":`KI-Box`,"proxmox-host":`Proxmox-Host`,container:`Container`,vm:`VM`};function Ku(e){let t=e.id.match(/-(\d+)$/)?.[1],n=Gu[e.art]??e.art;return t?`${n} ${t}`:n}var qu={"Proxmox-Host":`Proxmox`,"AdGuard Home":`AdGuard`,"PVE Scripts Local":`PVE Scripts`,"Proxmox Backup Server":`PBS`,"Arcane (Docker)":`Arcane`},Ju=e=>qu[e.name]??e.name,Yu=new Set([`app`,`arcane`]),Xu=e=>e.bausteine.find(e=>Yu.has(e.id))??null,Zu=e=>e.bausteine.find(e=>!Yu.has(e.id))??null;function Qu(e){let t=e.flatMap(e=>e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({ziel:e,baustein:t})));return[...t.filter(e=>e.baustein.aktion),...t.filter(e=>!e.baustein.aktion)]}function $u(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);return t.some(e=>e.aktion)?0:t.length>0?1:e.bausteine.some(e=>e.zustand===`unbekannt`)?2:3}function K(e){let t=e.rueckweg_art??q(e.rueckweg);return t===`snapshot`?`Snapshot vorher, bei Rot zurück`:t===`sicherung`?`Sicherung vorher, bei Rot zurück`:e.art===`proxmox-host`?`Kein Rückweg, Neustart getrennt`:`Kein automatischer Rückweg`}function q(e){let t=(e??``).toLowerCase();return t.startsWith(`snapshot vor`)?`snapshot`:t.startsWith(`sicherung`)?`sicherung`:`keiner`}var J=e=>Yu.has(e.id),Y=e=>e.replace(/^Image vom /,``);function X(e){return J(e)&&e.verfuegbar?e.verfuegbar:e.kurz||e.verfuegbar||`neu`}function ed(e){let t=e.platte;return t&&t.gesamt>0?t.belegt/t.gesamt:null}function td(e,t){let n=Ju(e),r=ed(e);if(e.erreichbar===!1)return{id:e.id,label:n,zustand:`fehler`,wert:`antwortet nicht`};if(r!==null&&r>=.9)return{id:e.id,label:n,zustand:`fehler`,wert:`Platte voll`};if(t)return{id:e.id,label:n,zustand:`info`,wert:`Update läuft`};if(r!==null&&r>=.8)return{id:e.id,label:n,zustand:`warn`,wert:`Platte ${Math.round(r*100)} %`};let i=e.bausteine.filter(e=>e.zustand===`neu`);if(i.length>0){let t=i.find(e=>Yu.has(e.id))??i[0];return{id:e.id,label:n,zustand:`info`,wert:Yu.has(t.id)&&t.verfuegbar?`→ ${t.verfuegbar}`:X(t)}}let a=Xu(e);return{id:e.id,label:n,zustand:`ok`,wert:a?.installiert?Y(a.installiert):`aktuell`}}var nd=e=>`${e} Hinweis${e===1?``:`e`}`;function rd(e,t,n,r){let i=e.ziele.filter(e=>e.erreichbar===!1);if(i.length>0)return{art:`rot`,oben:`Störung`,mitte:i.length===1?`1 Gerät stumm`:`${i.length} Geräte stumm`,unten:i.map(Ju).join(`, `),ziel:`geraete`};if(t.some(e=>e.stufe===`rot`))return{art:`rot`,oben:`Störung`,mitte:nd(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(!e.ausfuehrer.verbunden)return{art:`gelb`,oben:`Achtung`,mitte:`Ausführer stumm`,unten:`Die Geräte zeigen den letzten Stand`,ziel:null};if(t.length>0)return{art:`gelb`,oben:`Achtung`,mitte:nd(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(n>0)return{art:`info`,oben:`Wartung`,mitte:`Update läuft`,unten:`Das Ergebnis kommt als Meldung`,ziel:`updates`};let a=Qu(e.ziele).filter(e=>e.baustein.aktion).length;return a>0?{art:`info`,oben:`Homelab`,mitte:`${a} Update${a===1?``:`s`}`,unten:`Drücken zum Ansehen`,ziel:`updates`}:{art:`ok`,oben:`Homelab`,mitte:`Alles aktuell`,unten:r?`Stand ${r}`:`Keine offenen Updates`,ziel:null}}function id(e){return e?.match(/vom (\d{2}\.\d{2}\.\d{4})/)?.[1]??null}var ad=[{id:`box`,name:`KI-Box`},{id:`homelab`,name:`Homelab`}],od=[{to:`/`,label:`Übersicht`,Icon:To,ort:`uebersicht`},{to:`/box`,label:`Cockpit`,Icon:po,ort:`box`},{to:`/box/updates`,label:`Updates`,Icon:No,ort:`box`,zaehlt:!0},{to:`/box/modelle`,label:`Modelle`,Icon:io,ort:`box`},{to:`/box/monitoring`,label:`Monitoring`,Icon:Ma,ort:`box`},{to:`/box/dienste`,label:`Dienste und Protokolle`,Icon:zo,ort:`box`},{to:`/homelab`,label:`Cockpit`,Icon:po,ort:`homelab`},{to:`/homelab/updates`,label:`Updates`,Icon:No,ort:`homelab`,zaehlt:!0},{to:`/homelab/snapshots`,label:`Snapshots`,Icon:Fo,ort:`homelab`},{to:`/homelab/monitoring`,label:`Monitoring`,Icon:Ma,ort:`homelab`},{to:`/homelab/protokoll`,label:`Protokoll`,Icon:zo,ort:`homelab`},{to:`/einstellungen`,label:`Einstellungen`,Icon:Uo,ort:`system`}],sd={uebersicht:`Auf einen Blick`,box:`KI-Box`,homelab:`Homelab`,system:`Beide Instanzen`};function cd(){let e=(0,z.c)(2),t=Da({select:ld}).replace(/\/+$/,``)||`/`,n;return e[0]===t?n=e[1]:(n=od.find(e=>e.to===t)??od[0],e[0]=t,e[1]=n),n}function ld(e){return e.location.pathname}function ud(){let e=(0,z.c)(19),t=Fc(),n=Ic(),r=Vs(),i=t.data?.rolle===`homelab`?`homelab`:`box`,a=r===`live`?`online`:r,o=n.data,s=o?o.eingerichtet?o.erreichbar?`online`:`getrennt`:`fehlt`:`verbinde`,c;e[0]!==a||e[1]!==s||e[2]!==i?(c=i===`box`?{box:a,homelab:s}:{box:s,homelab:a},e[0]=a,e[1]=s,e[2]=i,e[3]=c):c=e[3];let l=c,u=Lc(),d=Rc(l.homelab===`online`),f;e[4]===u.data?.ziele?f=e[5]:(f=u.data?.ziele??[],e[4]=u.data?.ziele,e[5]=f);let p;e[6]===f?p=e[7]:(p=f.reduce(fd,0),e[6]=f,e[7]=p);let m=p,h;e[8]===d.data?.ziele?h=e[9]:(h=Qu(d.data?.ziele??[]).filter(dd),e[8]=d.data?.ziele,e[9]=h);let g=h.length,_;e[10]!==m||e[11]!==l.box?(_={verbindung:l.box,updates:m},e[10]=m,e[11]=l.box,e[12]=_):_=e[12];let v;e[13]!==g||e[14]!==l.homelab?(v={verbindung:l.homelab,updates:g},e[13]=g,e[14]=l.homelab,e[15]=v):v=e[15];let y;return e[16]!==_||e[17]!==v?(y={box:_,homelab:v},e[16]=_,e[17]=v,e[18]=y):y=e[18],y}function dd(e){return e.baustein.aktion}function fd(e,t){return e+t.bausteine.filter(pd).length}function pd(e){return e.zustand===`neu`&&e.aktion}var md={erfolg:`border-gruen-rand bg-gruen-grund text-gruen-text`,fehler:`border-rot-rand bg-rot-grund text-rot-text`,info:`border-cyan-rand bg-cyan-grund text-cyan-text`};function hd(){let e=(0,z.c)(4),t=ks(),n;e[0]===t?n=e[1]:(n=t.map(gd),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,M.jsx)(`div`,{"aria-live":`polite`,className:`pointer-events-none fixed right-4 bottom-24 left-4 z-50 flex flex-col items-end gap-2 md:left-auto md:w-[420px] lg:bottom-6`,children:n}),e[2]=n,e[3]=r),r}function gd(e){return(0,M.jsxs)(`div`,{role:e.art===`fehler`?`alert`:`status`,className:o(`pointer-events-auto flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-[15px] shadow-lg`,md[e.art]),children:[(0,M.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.text}),(0,M.jsx)(`button`,{type:`button`,onClick:()=>Os(e.id),"aria-label":`Meldung schließen`,className:`-m-2 p-2 opacity-70 hover:opacity-100`,children:(0,M.jsx)(Zo,{className:`size-4`})})]},e.id)}var _d={online:{punkt:`bg-gruen shadow-[0_0_8px_var(--gruen)]`,text:`online`},verbinde:{punkt:`bg-bernstein`,text:`verbinde`},getrennt:{punkt:`bg-rot shadow-[0_0_8px_var(--rot)]`,text:`getrennt`},fehlt:{punkt:`bg-text-3`,text:`nicht eingerichtet`}},vd={uebersicht:`data-[status=active]:from-bernstein/[0.16] before:bg-bernstein before:shadow-[0_0_12px_var(--bernstein)] data-[status=active]:[&>svg]:text-bernstein`,box:`data-[status=active]:from-box/[0.2] before:bg-box before:shadow-[0_0_12px_var(--box)] data-[status=active]:[&>svg]:text-box`,homelab:`data-[status=active]:from-lab/[0.2] before:bg-lab before:shadow-[0_0_12px_var(--lab)] data-[status=active]:[&>svg]:text-lab`,system:`data-[status=active]:from-white/[0.08] before:bg-text-2 data-[status=active]:[&>svg]:text-foreground`},yd={box:{text:`text-box-text`,kachel:`from-box/30 to-box/[0.05] ring-box/35 text-box`,Icon:Wa},homelab:{text:`text-lab-text`,kachel:`from-lab/30 to-lab/[0.05] ring-lab/35 text-lab`,Icon:Vo}},bd=`group relative flex h-10 items-center gap-3 rounded-xl pr-3 pl-3.5 text-[14.5px] text-text-2 transition-colors hover:bg-white/[0.045] hover:text-foreground bg-gradient-to-r to-transparent data-[status=active]:text-foreground before:absolute before:top-2.5 before:bottom-2.5 before:left-0 before:w-[3px] before:rounded-full before:opacity-0 before:transition-opacity data-[status=active]:before:opacity-100`;function xd(){let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsxs)(`span`,{className:`relative shrink-0`,children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-1 rounded-xl bg-bernstein/35 blur-xl`}),(0,M.jsx)(`img`,{src:`/favicon.svg`,alt:``,width:40,height:40,className:`relative size-10`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsxs)(`div`,{className:`flex items-center gap-3 px-1.5`,children:[t,(0,M.jsxs)(`span`,{className:`flex flex-col leading-none`,children:[(0,M.jsx)(`span`,{className:`text-[19px] font-semibold tracking-[0.01em]`,children:`Homelab`}),(0,M.jsx)(`span`,{className:`etikett mt-1.5 text-[10.5px] tracking-[0.32em] text-text-3`,children:`Orchestrator`})]})]}),e[1]=n):n=e[1],n}function Sd(e){let t=(0,z.c)(16),{s:n,zahl:r,onGewaehlt:i}=e,a=n.to,s=vd[n.ort],c;t[0]===s?c=t[1]:(c=o(bd,s),t[0]=s,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l={exact:!0},t[2]=l):l=t[2];let u;t[3]===n.Icon?u=t[4]:(u=(0,M.jsx)(n.Icon,{className:`size-[18px] shrink-0 text-text-3 transition-colors group-hover:text-text-2`,"aria-hidden":!0}),t[3]=n.Icon,t[4]=u);let d;t[5]===n.label?d=t[6]:(d=(0,M.jsx)(`span`,{className:`flex-1`,children:n.label}),t[5]=n.label,t[6]=d);let f;t[7]===r?f=t[8]:(f=!!r&&(0,M.jsxs)(`span`,{className:`ziffern rounded-full bg-cyan/12 px-2 text-[11.5px] leading-5 font-medium text-cyan-text ring-1 ring-cyan/30 ring-inset`,children:[r,(0,M.jsxs)(`span`,{className:`sr-only`,children:[` `,r===1?`Update`:`Updates`,` bereit`]})]}),t[7]=r,t[8]=f);let p;return t[9]!==i||t[10]!==n.to||t[11]!==c||t[12]!==u||t[13]!==d||t[14]!==f?(p=(0,M.jsxs)(ta,{to:a,onClick:i,className:c,activeOptions:l,children:[u,d,f]}),t[9]=i,t[10]=n.to,t[11]=c,t[12]=u,t[13]=d,t[14]=f,t[15]=p):p=t[15],p}function Cd(e){let t=(0,z.c)(14),{onGewaehlt:n}=e,r=ud(),i=Fc().data?.rolle!==`homelab`,a=wd,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=a(`/`),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,M.jsx)(Sd,{s,onGewaehlt:n}),t[1]=n,t[2]=c);let l;t[3]!==i||t[4]!==n||t[5]!==r?(l=ad.map(e=>{let t=_d[r[e.id].verbindung],a=yd[e.id];return(0,M.jsxs)(`section`,{"aria-label":e.name,className:`flex flex-col gap-0.5`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pr-2 pb-2 pl-1`,children:[(0,M.jsxs)(`h2`,{className:o(`etikett flex items-center gap-2.5 text-[12px] tracking-[0.16em]`,a.text),children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`flex size-6 items-center justify-center rounded-lg bg-gradient-to-br ring-1 ring-inset`,a.kachel),children:(0,M.jsx)(a.Icon,{className:`size-3.5`,strokeWidth:2})}),e.name]}),(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5 text-[12px] text-text-3`,children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-1.5 rounded-full`,t.punkt)}),t.text]})]}),od.filter(t=>t.ort===e.id).map(t=>(0,M.jsx)(Sd,{s:t,zahl:t.zaehlt?r[e.id].updates:0,onGewaehlt:n},t.to)),e.id===`box`&&i&&(0,M.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:bd,children:[(0,M.jsx)(co,{className:`size-[18px] shrink-0 text-text-3`,"aria-hidden":!0}),`Hermes-Dashboard`]})]},e.id)}),t[3]=i,t[4]=n,t[5]=r,t[6]=l):l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=a(`/einstellungen`),t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=(0,M.jsx)(`div`,{className:`mt-auto border-t border-white/[0.06] pt-4`,children:(0,M.jsx)(Sd,{s:u,onGewaehlt:n})}),t[8]=n,t[9]=d);let f;return t[10]!==c||t[11]!==l||t[12]!==d?(f=(0,M.jsxs)(`nav`,{"aria-label":`Hauptnavigation`,className:`flex flex-1 flex-col gap-7`,children:[c,l,d]}),t[10]=c,t[11]=l,t[12]=d,t[13]=f):f=t[13],f}function wd(e){return od.find(t=>t.to===e)}var Td=`modulepreload`,Ed=function(e){return`/`+e},Dd={},Od=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Ed(t,n),t=s(t),t in Dd)return;Dd[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Td,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},kd=(0,j.lazy)(()=>Od(()=>import(`./MenueSchublade-CH6y_JGn.js`).then(e=>({default:e.MenueSchublade})),__vite__mapDeps([0,1,2,3,4]))),Ad=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),jd=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:`Europe/Berlin`}),Md=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`});function Nd(){let e=(0,z.c)(21),[t,n]=(0,j.useState)(Pd),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.setInterval(()=>n(new Date),2e4);return()=>window.clearInterval(e)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,j.useEffect)(r,i);let a;e[2]===t?a=e[3]:(a=Ad.format(t),e[2]=t,e[3]=a);let o;e[4]===a?o=e[5]:(o=(0,M.jsx)(`span`,{className:`ziffern text-[20px] leading-none font-medium sm:text-[22px]`,children:a}),e[4]=a,e[5]=o);let s;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`span`,{"aria-hidden":!0,className:`hidden h-7 w-px bg-white/10 sm:block`}),e[6]=s):s=e[6];let c;e[7]===t?c=e[8]:(c=jd.format(t).replace(`.`,``),e[7]=t,e[8]=c);let l;e[9]===c?l=e[10]:(l=(0,M.jsx)(`span`,{children:c}),e[9]=c,e[10]=l);let u;e[11]===t?u=e[12]:(u=Md.format(t),e[11]=t,e[12]=u);let d;e[13]===u?d=e[14]:(d=(0,M.jsx)(`span`,{className:`ziffern tracking-normal`,children:u}),e[13]=u,e[14]=d);let f;e[15]!==l||e[16]!==d?(f=(0,M.jsxs)(`span`,{className:`etikett hidden flex-col text-[10.5px] leading-[1.35] text-text-3 sm:flex`,children:[l,d]}),e[15]=l,e[16]=d,e[17]=f):f=e[17];let p;return e[18]!==o||e[19]!==f?(p=(0,M.jsxs)(`div`,{className:`flaeche flex items-center gap-3 rounded-2xl px-3 py-2 sm:px-4`,children:[o,s,f]}),e[18]=o,e[19]=f,e[20]=p):p=e[20],p}function Pd(){return new Date}function Fd(){let e=(0,z.c)(14),t=Vs(),n=t===`live`,r=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,i=n?`text-text-3`:`text-bernstein`,a;e[0]===i?a=e[1]:(a=o(`etikett flex items-center gap-1.5 text-[11px] tracking-[0.12em]`,i),e[0]=i,e[1]=a);let s=n?`bg-gruen shadow-[0_0_8px_var(--gruen)]`:`bg-bernstein`,c;e[2]===s?c=e[3]:(c=o(`size-2 rounded-full`,s),e[2]=s,e[3]=c);let l;e[4]===c?l=e[5]:(l=(0,M.jsx)(`span`,{"aria-hidden":!0,className:c}),e[4]=c,e[5]=l);let u=n?`sr-only`:void 0,d=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,f;e[6]!==u||e[7]!==d?(f=(0,M.jsx)(`span`,{className:u,children:d}),e[6]=u,e[7]=d,e[8]=f):f=e[8];let p;return e[9]!==r||e[10]!==a||e[11]!==l||e[12]!==f?(p=(0,M.jsxs)(`span`,{role:`status`,title:r,className:a,children:[l,f]}),e[9]=r,e[10]=a,e[11]=l,e[12]=f,e[13]=p):p=e[13],p}var Id={uebersicht:`text-bernstein`,box:`text-box-text`,homelab:`text-lab-text`,system:`text-text-3`};function Ld(){let e=(0,z.c)(27);Ws();let[t,n]=(0,j.useState)(!1),r=cd(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsxs)(`aside`,{className:`sticky top-0 hidden h-dvh flex-col gap-9 overflow-y-auto border-r border-white/[0.06] bg-[rgb(8_11_17/0.72)] px-4 py-7 backdrop-blur-xl lg:flex`,children:[(0,M.jsx)(xd,{}),(0,M.jsx)(Cd,{})]}),e[0]=i):i=e[0];let a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>n(!0),e[1]=a):a=e[1];let s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`button`,{type:`button`,onClick:a,className:`-ml-2 flex size-11 shrink-0 items-center justify-center rounded-lg text-text-2 hover:bg-white/[0.06] hover:text-foreground lg:hidden`,"aria-label":`Menü öffnen`,children:(0,M.jsx)(Do,{className:`size-6`})}),e[2]=s):s=e[2];let c=Id[r.ort],l;e[3]===c?l=e[4]:(l=o(`etikett truncate text-[11.5px] tracking-[0.22em] whitespace-nowrap`,c),e[3]=c,e[4]=l);let u=sd[r.ort],d;e[5]!==l||e[6]!==u?(d=(0,M.jsx)(`span`,{className:l,children:u}),e[5]=l,e[6]=u,e[7]=d):d=e[7];let f;e[8]===r.label?f=e[9]:(f=(0,M.jsx)(`h1`,{className:`truncate text-[26px] leading-none font-semibold tracking-[-0.01em] md:text-[32px]`,children:r.label}),e[8]=r.label,e[9]=f);let p;e[10]!==d||e[11]!==f?(p=(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[s,(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[d,f]})]}),e[10]=d,e[11]=f,e[12]=p):p=e[12];let m;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,M.jsxs)(`div`,{className:`flex items-center gap-3 sm:gap-4`,children:[(0,M.jsx)(`span`,{className:`lg:hidden`,children:(0,M.jsx)(Fd,{})}),(0,M.jsx)(Nd,{})]}),e[13]=m):m=e[13];let h;e[14]===p?h=e[15]:(h=(0,M.jsxs)(`header`,{className:`flex items-center justify-between gap-4 md:pb-1`,children:[p,m]}),e[14]=p,e[15]=h);let g;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,M.jsx)(`main`,{className:`flex min-w-0 flex-col gap-5 md:gap-6`,children:(0,M.jsx)(_a,{})}),e[16]=g):g=e[16];let _;e[17]===h?_=e[18]:(_=(0,M.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1360px] min-w-0 flex-col gap-5 px-4 pt-4 pb-12 sm:px-6 md:gap-6 md:px-10 md:pt-8`,children:[h,g]}),e[17]=h,e[18]=_);let v;e[19]===t?v=e[20]:(v=t&&(0,M.jsx)(kd,{onSchliessen:()=>n(!1)}),e[19]=t,e[20]=v);let y;e[21]===v?y=e[22]:(y=(0,M.jsx)(j.Suspense,{fallback:null,children:v}),e[21]=v,e[22]=y);let b;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,M.jsx)(hd,{}),e[23]=b):b=e[23];let x;return e[24]!==_||e[25]!==y?(x=(0,M.jsxs)(`div`,{className:`min-h-dvh lg:grid lg:grid-cols-[272px_minmax(0,1fr)]`,children:[i,_,y,b]}),e[24]=_,e[25]=y,e[26]=x):x=e[26],x}var Rd={gruen:`bg-gruen/10 text-gruen ring-gruen/30`,bernstein:`bg-bernstein/10 text-bernstein ring-bernstein/35`,cyan:`bg-cyan/10 text-cyan-text ring-cyan/30`,rot:`bg-rot/12 text-rot-text ring-rot/40`,grau:`bg-white/[0.04] text-text-2 ring-white/12`};function zd(e){let t=(0,z.c)(6),{art:n,children:r}=e,i=Rd[n===void 0?`grau`:n],a;t[0]===i?a=t[1]:(a=o(`etikett inline-flex h-6 items-center gap-1.5 rounded-full px-2.5 text-[11px] tracking-[0.08em] whitespace-nowrap ring-1 ring-inset`,i),t[0]=i,t[1]=a);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`span`,{"aria-hidden":!0,className:`size-1.5 shrink-0 rounded-full bg-current opacity-90`}),t[2]=s):s=t[2];let c;return t[3]!==r||t[4]!==a?(c=(0,M.jsxs)(`span`,{className:a,children:[s,r]}),t[3]=r,t[4]=a,t[5]=c):c=t[5],c}function Bd(e){let t=(0,z.c)(6),{fehler:n,text:r}=e,i=n?`alert`:`status`,a=n?`border border-rot-rand bg-rot-grund text-rot-text`:`flaeche text-text-2`,s;t[0]===a?s=t[1]:(s=o(`rounded-2xl px-5 py-8 text-center text-[15px]`,a),t[0]=a,t[1]=s);let c;return t[2]!==i||t[3]!==s||t[4]!==r?(c=(0,M.jsx)(`div`,{role:i,className:s,children:r}),t[2]=i,t[3]=s,t[4]=r,t[5]=c):c=t[5],c}var Vd=new Set(`actual-budget.adguard-home.affine.alpine-linux.ansible.appflowy.apprise.arcane.audiobookshelf.authelia.authentik.baserow.bazarr.beszel.bitwarden.bookstack.borgmatic.caddy.calibre-web.changedetection.checkmk.claude.cloudflare.cockpit.comfyui.crafty-controller.crowdsec.debian.deluge.docker.dockge.docmost.dozzle.draw-io.duplicati.elasticsearch.element.emby.esphome.excalidraw.firefly-iii.flatnotes.forgejo.freshrss.frigate.gatus.gitea.github.gitlab.glance.glances.go2rtc.gotify.grafana.grocy.harbor.headscale.healthchecks.hedgedoc.heimdall.hermes-agent.homarr.home-assistant.homebridge.homepage.immich.immich-kiosk.influxdb.it-tools.jellyfin.jellyseerr.jenkins.jitsi-meet.joplin.kavita.keycloak.komga.komodo.kopia.kubernetes.librenms.librespeed.lidarr.linkding.linux.linux-containers-lxc.linuxserver-io.llama-cpp.logseq.loki.mariadb.matomo.matrix.mattermost.mealie.minecraft.miniflux.minio.mongodb.mosquitto.n8n.navidrome.netbird.netdata.nextcloud.nginx.nginx-proxy-manager.nocodb.node-red.ntfy.nzbget.obsidian.ollama.onlyoffice.open-webui.openai.openmediavault.openwrt.opnsense.outline.overseerr.paperless-ngx.penpot.pfsense.photoprism.pi-hole.pingvin-share.piwigo.planka.plausible.plex.portainer.postgresql.privatebin.prometheus.prowlarr.proxmox.proxmox-helper-scripts.pterodactyl.qbittorrent.qnap.rabbitmq.radarr.rancher.rclone.readarr.redis.rocket-chat.rustdesk.sabnzbd.scrutiny.scrypted.seafile.searxng.semaphore.sonarr.speedtest-tracker.stirling-pdf.syncthing.synology.tailscale.tautulli.telegram.traefik.transmission.ubuntu.umami.unraid.uptime-kuma.vaultwarden.vikunja.wallabag.watchtower.webmin.wekan.wiki-js.wireguard.woodpecker-ci.wordpress.zabbix.zigbee2mqtt`.split(`.`)),Hd={ok:`bg-gruen shadow-[0_0_8px_var(--gruen)]`,warn:`bg-bernstein shadow-[0_0_8px_var(--bernstein)]`,rot:`bg-rot shadow-[0_0_8px_var(--rot)]`,info:`bg-cyan shadow-[0_0_8px_var(--cyan)]`,aus:`bg-text-3`},Ud=[[/adguard|pi-?hole/i,V],[/npm|nginx proxy/i,Lo,`nginx-proxy-manager`],[/traefik|caddy/i,Lo],[/netbird|wireguard|tailscale/i,Ra],[/gitea|forgejo|gitlab/i,ho],[/backup server|\bpbs\b/i,oo,`proxmox`],[/arcane|docker|portainer|dockge|komodo/i,no],[/pve scripts|helper.?scripts|community.?scripts/i,uo,`proxmox-helper-scripts`],[/scripts/i,uo],[/home ?assistant/i,yo],[/jellyfin|plex|emby/i,Qa],[/\bnas\b|qnap|truenas|synology/i,_o]];function Wd(e){return e.toLowerCase().replace(/\(.*?\)/g,``).trim().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function Gd(e,t){if(t&&Vd.has(t))return t;let n=Wd(e);if(Vd.has(n))return n;let r=n.split(`-`)[0];return r.length>2&&Vd.has(r)?r:void 0}function Kd(e){if(e.art===`ki-box`)return{Icon:Wa,bereich:`box`};if(e.art===`proxmox-host`)return{Icon:Vo,bereich:`homelab`,logo:Gd(`proxmox`)};let t=Ud.find(([t])=>t.test(e.name));return{Icon:t?.[1]??(e.art===`vm`?jo:Ha),bereich:`homelab`,logo:Gd(e.name,t?.[2])}}var qd={os:[xo,`ubuntu`],engine:[$o,`llama-cpp`],motor:[$o,`llama-cpp`],swap:[Go],hermes:[Ba,`hermes-agent`],hirn:[Wa],coder:[eo],jobs:[Yo],sicherung:[oo],platte:[_o],updates:[No]},Jd=[[/^hermes/,Ba,`hermes-agent`],[/^llama-swap/,Go],[/^mc2-gateway/,Lo],[/^mc2-steward/,V],[/^mission-control/,Co],[/^voice/,ko],[/^lucy-stimme/,Ia]];function Yd(e){let t=Jd.find(([t])=>t.test(e)),n=t?.[2];return{Icon:t?.[1]??Ha,bereich:`box`,logo:n&&Vd.has(n)?n:void 0}}function Xd(e){let[t,n]=qd[e]??[Ha];return{Icon:t,bereich:`box`,logo:n&&Vd.has(n)?n:void 0}}var Zd={box:`from-box/30 to-box/[0.05] ring-box/35 text-box-text`,homelab:`from-lab/30 to-lab/[0.05] ring-lab/35 text-lab-text`},Qd={box:`from-white/[0.1] to-white/[0.03] ring-box/30`,homelab:`from-white/[0.1] to-white/[0.03] ring-lab/30`},$d={box:`shadow-[0_0_28px_-6px_var(--box)]`,homelab:`shadow-[0_0_28px_-6px_var(--lab)]`},ef={sm:{kachel:`size-8 rounded-[10px]`,icon:`size-4`,logo:`size-5`,punkt:`size-2.5`},md:{kachel:`size-10 rounded-xl`,icon:`size-5`,logo:`size-6`,punkt:`size-2.5`},lg:{kachel:`size-12 rounded-2xl`,icon:`size-6`,logo:`size-7`,punkt:`size-3`}};function tf(e){let t=(0,z.c)(17),{bild:n,groesse:r,punkt:i,leuchtet:a,className:s}=e,c=r===void 0?`md`:r,l=a!==void 0&&a,u=ef[c],d=n.logo?Qd[n.bereich]:Zd[n.bereich],f=l&&$d[n.bereich],p;t[0]!==s||t[1]!==u.kachel||t[2]!==d||t[3]!==f?(p=o(`relative inline-flex shrink-0 items-center justify-center bg-gradient-to-br ring-1 ring-inset`,d,u.kachel,f,s),t[0]=s,t[1]=u.kachel,t[2]=d,t[3]=f,t[4]=p):p=t[4];let m;t[5]!==n.Icon||t[6]!==n.logo||t[7]!==u.icon||t[8]!==u.logo?(m=n.logo?(0,M.jsx)(`img`,{src:`/logos/${n.logo}.svg`,alt:``,className:o(`object-contain`,u.logo),loading:`lazy`,draggable:!1}):(0,M.jsx)(n.Icon,{className:u.icon,strokeWidth:1.75}),t[5]=n.Icon,t[6]=n.logo,t[7]=u.icon,t[8]=u.logo,t[9]=m):m=t[9];let h;t[10]!==u.punkt||t[11]!==i?(h=i&&(0,M.jsx)(`span`,{className:o(`absolute -right-0.5 -bottom-0.5 rounded-full ring-2 ring-[#0b0f16]`,u.punkt,Hd[i])}),t[10]=u.punkt,t[11]=i,t[12]=h):h=t[12];let g;return t[13]!==p||t[14]!==m||t[15]!==h?(g=(0,M.jsxs)(`span`,{"aria-hidden":!0,className:p,children:[m,h]}),t[13]=p,t[14]=m,t[15]=h,t[16]=g):g=t[16],g}var nf=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),rf=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0});function af(e){return e<1e3?`${rf.format(e)} B/s`:e<1e6?`${nf.format(e/1e3)} KB/s`:e<1e9?`${nf.format(e/1e6)} MB/s`:`${nf.format(e/1e9)} GB/s`}function of(e,t){return e==null||Number.isNaN(e)?`–`:t===`prozent`?`${rf.format(e)} %`:t===`grad`?`${rf.format(e)} °C`:t===`bytes_s`?af(e):rf.format(e)}function sf(e){if(!e)return null;for(let t=e.length-1;t>=0;t--){let n=e[t][1];if(n!==null)return n}return null}function cf(e,t){if(t===`prozent`)return 100;let n=0;for(let t of e)for(let[,e]of t??[])e!==null&&e>n&&(n=e);if(t===`grad`)return Math.max(60,Math.ceil((n+5)/10)*10);if(n<=0)return 1;let r=10**Math.floor(Math.log10(n));for(let e of[1,2,2.5,5,10])if(e*r>=n)return e*r;return 10*r}function lf(e,t,n){return e===null?`ruhig`:e>=n?`rot`:e>=t?`gelb`:`ruhig`}var uf=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),df=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function ff(e,t){let n=new Date(e*1e3);return(t?df:uf).format(n).replace(`,`,``)}function pf(e){if(!e||e<0)return`–`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t} T ${n} h`:n>0?`${n} h ${r} min`:`${r} min`}function Z(e){return e<1?`in weniger als einem Tag`:e<1.5?`in etwa einem Tag`:e<21?`in etwa ${Math.round(e)} Tagen`:e<90?`in etwa ${Math.round(e/7)} Wochen`:e<365?`in etwa ${Math.round(e/30)} Monaten`:`frühestens in einem Jahr`}function mf(e){return e?.tage==null?`ok`:e.tage<3?`rot`:e.tage<14?`gelb`:`ok`}function hf(e,t=1/0){return e?.tage==null||e.tage>=t?null:`voll ${Z(e.tage)}`}function gf(e){return e?.rate==null?null:`+${e.rate.toFixed(1).replace(`.`,`,`)} % am Tag`}var _f={ok:`text-text-3`,gelb:`text-bernstein`,rot:`text-rot-text`};function vf(e){let t=hf(e,60);return t?{text:t,stufe:mf(e)}:null}function yf(e,t,n){let r=``,i=!1;for(let[a,o]of e){if(o===null){i=!1;continue}r+=`${i?`L`:`M`}${t(a).toFixed(1)},${n(o).toFixed(1)}`,i=!0}return r}function bf(e,t,n,r){let i=``,a=[],o=()=>{a.length>1&&(i+=`M${a[0][0].toFixed(1)},${r}`+a.map(([e,t])=>`L${e.toFixed(1)},${t.toFixed(1)}`).join(``)+`L${a[a.length-1][0].toFixed(1)},${r}Z`),a=[]};for(let[r,i]of e)i===null?o():a.push([t(r),n(i)]);return o(),i}function xf(e){if(!Number.isFinite(e)||e<=0)return[0,1];for(let t=0;;t++)for(let n of[1,2,2.5,5]){let r=n*10**t;if(!Number.isInteger(r))continue;let i=Math.ceil(e/r);if(i<=4)return Array.from({length:i+1},(e,t)=>t*r)}}var Sf=e=>Number(e.toFixed(1));function Cf(e,t,n,r,i=4){let a=Math.max(0,Math.min(i,n/2,r));return`M${Sf(e)},${Sf(t+r)}V${Sf(t+a)}Q${Sf(e)},${Sf(t)} ${Sf(e+a)},${Sf(t)}H${Sf(e+n-a)}Q${Sf(e+n)},${Sf(t)} ${Sf(e+n)},${Sf(t+a)}V${Sf(t+r)}Z`}function wf(e,t,n=2){let r=[],i=0;e.forEach((e,a)=>{if(!(e>0))return;let o=t(i);i+=e;let s=t(i);r.push({index:a,y:s,hoehe:Math.max(0,o-s-(r.length?n:0)),oben:!1})});let a=r.filter(e=>e.hoehe>=1).at(-1);return a&&(a.oben=!0),r}function Tf(e){let t=(0,z.c)(26),{punkte:n,max:r,farbe:i,hoehe:a,beschriftung:o}=e,s=i===void 0?`var(--reihe-1)`:i,c=a===void 0?36:a,l=n[0]?.[0]??0,u=n[n.length-1]?.[0]??1,d;t[0]!==l||t[1]!==u?(d=e=>u>l?(e-l)/(u-l)*100:0,t[0]=l,t[1]=u,t[2]=d):d=t[2];let f=d,p;t[3]!==c||t[4]!==r?(p=e=>c-2-Math.min(e,r)/(r||1)*(c-4),t[3]=c,t[4]=r,t[5]=p):p=t[5];let m=p,h;t[6]===n?h=t[7]:(h=n.some(Ef),t[6]=n,t[7]=h);let g=h,_=(0,j.useId)(),v;if(t[8]!==_){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=/[^a-zA-Z0-9_-]/g,t[10]=e):e=t[10],v=_.replace(e,``),t[8]=_,t[9]=v}else v=t[9];let y=`sl${v}`,b=`0 0 100 ${c}`,x;t[11]===c?x=t[12]:(x={height:c},t[11]=c,t[12]=x);let S;t[13]!==s||t[14]!==g||t[15]!==c||t[16]!==n||t[17]!==y||t[18]!==f||t[19]!==m?(S=g&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`defs`,{children:(0,M.jsxs)(`linearGradient`,{id:y,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,M.jsx)(`stop`,{offset:`0`,stopColor:s,stopOpacity:.3}),(0,M.jsx)(`stop`,{offset:`1`,stopColor:s,stopOpacity:0})]})}),(0,M.jsx)(`path`,{d:bf(n,f,m,c),fill:`url(#${y})`}),(0,M.jsx)(`path`,{d:yf(n,f,m),fill:`none`,stroke:s,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`})]}),t[13]=s,t[14]=g,t[15]=c,t[16]=n,t[17]=y,t[18]=f,t[19]=m,t[20]=S):S=t[20];let C;return t[21]!==o||t[22]!==S||t[23]!==b||t[24]!==x?(C=(0,M.jsx)(`svg`,{role:`img`,"aria-label":o,viewBox:b,preserveAspectRatio:`none`,className:`block w-full`,style:x,children:S}),t[21]=o,t[22]=S,t[23]=b,t[24]=x,t[25]=C):C=t[25],C}function Ef(e){let[,t]=e;return t!==null}var Df={ruhig:{wert:`text-foreground`,marke:null},gelb:{wert:`text-bernstein`,marke:`hoch`},rot:{wert:`text-rot-text`,marke:`kritisch`}},Of=48,kf=37,Af=2*Math.PI*kf,jf=Af*.75;function Mf(e,t){let n=(135+270*e)*Math.PI/180;return{x:Of+t*Math.cos(n),y:Of+t*Math.sin(n)}}function Nf(e){let t=(0,z.c)(49),{label:n,wert:r,einheit:i,punkte:a,zustand:s,bereich:c,grenzen:l,max:u,zeitraumText:d,i:f,hinweis:p}=e,m=s===void 0?`ruhig`:s,h=u===void 0?100:u,g=f===void 0?0:f,_=Df[m],v=m===`rot`?`var(--rot)`:m===`gelb`?`var(--bernstein)`:c===`box`?`var(--box)`:`var(--lab)`,y=r==null?0:Math.min(Math.max(r/h,0),1),b;t[0]!==i||t[1]!==r?(b=of(r,i).split(` `),t[0]=i,t[1]=r,t[2]=b):b=t[2];let[x,S]=b,C;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,M.jsx)(`circle`,{cx:Of,cy:Of,r:kf,fill:`none`,stroke:`rgb(255 255 255 / 0.07)`,strokeWidth:7,strokeLinecap:`round`,strokeDasharray:`${jf} ${Af}`,transform:`rotate(135 ${Of} ${Of})`}),t[3]=C):C=t[3];let w;if(t[4]!==l||t[5]!==h){let e;t[7]===h?e=t[8]:(e=(e,t)=>{let n=Mf(Math.min(e/h,1),43),r=Mf(Math.min(e/h,1),46.5);return(0,M.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,strokeWidth:1.5,strokeLinecap:`round`,stroke:t===0?`var(--bernstein)`:`var(--rot)`,opacity:.55},e)},t[7]=h,t[8]=e),w=l.map(e),t[4]=l,t[5]=h,t[6]=w}else w=t[6];let T;t[9]!==y||t[10]!==v||t[11]!==g||t[12]!==r?(T=r!=null&&y>0&&(0,M.jsx)(`circle`,{cx:Of,cy:Of,r:kf,fill:`none`,stroke:v,strokeWidth:7,strokeLinecap:`round`,strokeDasharray:`${Math.max(jf*y,.5)} ${Af}`,transform:`rotate(135 ${Of} ${Of})`,className:`ring-fuellt transition-[stroke-dasharray] duration-700`,style:{"--i":g,filter:`drop-shadow(0 0 5px color-mix(in srgb, ${v} 65%, transparent))`}}),t[9]=y,t[10]=v,t[11]=g,t[12]=r,t[13]=T):T=t[13];let E;t[14]!==w||t[15]!==T?(E=(0,M.jsxs)(`svg`,{viewBox:`0 0 96 96`,className:`size-full`,"aria-hidden":!0,children:[C,w,T]}),t[14]=w,t[15]=T,t[16]=E):E=t[16];let D;t[17]===_.wert?D=t[18]:(D=o(`font-anzeige text-[26px] leading-none font-semibold tabular-nums`,_.wert),t[17]=_.wert,t[18]=D);let O;t[19]!==D||t[20]!==x?(O=(0,M.jsx)(`span`,{className:D,children:x}),t[19]=D,t[20]=x,t[21]=O):O=t[21];let k;t[22]===S?k=t[23]:(k=S&&(0,M.jsx)(`span`,{className:`ml-0.5 self-center pt-1.5 text-[12px] font-medium text-text-3`,children:S}),t[22]=S,t[23]=k);let ee;t[24]!==O||t[25]!==k?(ee=(0,M.jsxs)(`span`,{className:`absolute inset-0 flex items-center justify-center pt-1`,children:[O,k]}),t[24]=O,t[25]=k,t[26]=ee):ee=t[26];let A;t[27]!==ee||t[28]!==E?(A=(0,M.jsxs)(`div`,{className:`relative size-[88px]`,children:[E,ee]}),t[27]=ee,t[28]=E,t[29]=A):A=t[29];let te;t[30]!==_.marke||t[31]!==_.wert?(te=_.marke&&(0,M.jsxs)(`span`,{className:_.wert,children:[`· `,_.marke]}),t[30]=_.marke,t[31]=_.wert,t[32]=te):te=t[32];let ne;t[33]!==n||t[34]!==te?(ne=(0,M.jsxs)(`span`,{className:`etikett -mt-1 flex items-center gap-1.5 text-[10.5px] text-text-3`,children:[n,te]}),t[33]=n,t[34]=te,t[35]=ne):ne=t[35];let re;t[36]!==v||t[37]!==n||t[38]!==h||t[39]!==a||t[40]!==d?(re=(0,M.jsx)(`div`,{className:`w-full px-1`,children:a&&a.length>1?(0,M.jsx)(Tf,{punkte:a,max:h,farbe:v,hoehe:20,beschriftung:`${n}, ${d}`}):(0,M.jsx)(`span`,{className:`block h-5`,"aria-hidden":!0})}),t[36]=v,t[37]=n,t[38]=h,t[39]=a,t[40]=d,t[41]=re):re=t[41];let ie;t[42]===p?ie=t[43]:(ie=p&&(0,M.jsx)(`span`,{className:o(`text-center text-[11px] leading-tight`,_f[p.stufe]),children:p.text}),t[42]=p,t[43]=ie);let j;return t[44]!==A||t[45]!==ne||t[46]!==re||t[47]!==ie?(j=(0,M.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 flex-col items-center gap-1 rounded-2xl px-2 pt-2.5 pb-2`,children:[A,ne,re,ie]}),t[44]=A,t[45]=ne,t[46]=re,t[47]=ie,t[48]=j):j=t[48],j}var Pf={ok:`var(--gruen)`,rot:`var(--rot)`,aus:`rgb(135 146 164 / 0.45)`},Ff={ok:`erreichbar`,rot:`antwortet nicht`,aus:`kein Stand`},If=90,Lf=72,Rf=9,zf=2*Math.PI*Lf;function Bf(e){let t=(0,z.c)(32),{segmente:n,glut:r}=e,i=Math.max(n.length,1),a=zf/i,o=i>1?14:0,s=Math.max(a-o,.5),c;t[0]===n?c=t[1]:(c=n.filter(Vf),t[0]=n,t[1]=c);let l=c.length,u=`drop-shadow(0 0 14px color-mix(in srgb, ${r} 40%, transparent))`,d;t[2]===u?d=t[3]:(d={filter:u},t[2]=u,t[3]=d);let f,p,m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,M.jsx)(`g`,{className:`kreist`,children:(0,M.jsx)(`circle`,{cx:If,cy:If,r:86,fill:`none`,stroke:`rgb(255 255 255 / 0.13)`,strokeWidth:1,strokeDasharray:`1.2 5.6`})}),p=(0,M.jsx)(`circle`,{cx:If,cy:If,r:Lf,fill:`none`,stroke:`rgb(255 255 255 / 0.05)`,strokeWidth:Rf}),m=(0,M.jsx)(`circle`,{cx:If,cy:If,r:58,fill:`none`,stroke:`rgb(255 255 255 / 0.06)`,strokeWidth:1}),t[4]=f,t[5]=p,t[6]=m):(f=t[4],p=t[5],m=t[6]);let h;if(t[7]!==s||t[8]!==o||t[9]!==n||t[10]!==a){let e;t[12]!==s||t[13]!==o||t[14]!==a?(e=(e,t)=>(0,M.jsx)(`circle`,{cx:If,cy:If,r:Lf,fill:`none`,stroke:Pf[e.zustand],strokeWidth:Rf,strokeLinecap:`round`,strokeDasharray:`${s} ${zf-s}`,strokeDashoffset:-(t*a+o/2),className:`ring-fuellt`,style:{"--i":t},children:(0,M.jsx)(`title`,{children:`${e.name}: ${Ff[e.zustand]}`})},e.id),t[12]=s,t[13]=o,t[14]=a,t[15]=e):e=t[15],h=n.map(e),t[7]=s,t[8]=o,t[9]=n,t[10]=a,t[11]=h}else h=t[11];let g;t[16]===h?g=t[17]:(g=(0,M.jsx)(`g`,{transform:`rotate(-90 ${If} ${If})`,children:h}),t[16]=h,t[17]=g);let _;t[18]!==d||t[19]!==g?(_=(0,M.jsxs)(`svg`,{viewBox:`0 0 180 180`,className:`size-full`,"aria-hidden":!0,style:d,children:[f,p,m,g]}),t[18]=d,t[19]=g,t[20]=_):_=t[20];let v;t[21]===n.length?v=t[22]:(v=(0,M.jsxs)(`span`,{className:`text-text-3`,children:[`/`,n.length]}),t[21]=n.length,t[22]=v);let y;t[23]!==l||t[24]!==v?(y=(0,M.jsxs)(`span`,{className:`font-anzeige text-[38px] leading-none font-semibold tabular-nums sm:text-[46px]`,children:[l,v]}),t[23]=l,t[24]=v,t[25]=y):y=t[25];let b;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,M.jsxs)(`span`,{className:`etikett mt-1.5 flex flex-col items-center text-[9.5px] leading-[1.35] text-text-3 sm:text-[10px]`,children:[(0,M.jsx)(`span`,{children:`Geräte`}),(0,M.jsx)(`span`,{children:`erreichbar`})]}),t[26]=b):b=t[26];let x;t[27]===y?x=t[28]:(x=(0,M.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[y,b]}),t[27]=y,t[28]=x);let S;return t[29]!==x||t[30]!==_?(S=(0,M.jsxs)(`div`,{className:`relative size-[132px] shrink-0 sm:size-[168px]`,children:[_,x]}),t[29]=x,t[30]=_,t[31]=S):S=t[31],S}function Vf(e){return e.zustand===`ok`}var Q=new Set([`snapshot-anlegen`,`snapshot-loeschen`,`snapshot-zurueck`,`sicherung-loeschen`]),Hf=e=>Q.has(e.baustein),Uf={update:{chip:`vor Update`,text:`Rückweg vor einem Update`},knopf:{chip:`per Knopf`,text:`Hier per Knopf angelegt`},proxmox:{chip:`von Hand`,text:`Von Hand in Proxmox angelegt`}};function Wf(e,t){return e===null?`Zeitpunkt unbekannt`:$s(new Date(e*1e3).toISOString(),new Date(t*1e3))}function Gf(e,t){return e===null?``:tc(e,t*1e3)}function Kf(e){return e===null||e<=0?null:e<1e9?`${Math.round(e/1e6)} MB`:`${(e/1e9).toFixed(1).replace(`.`,`,`)} GB`}function qf(e,t){let n=e.startsWith(`${t}: `)?e.slice(t.length+2):e;return n.charAt(0).toUpperCase()+n.slice(1)}function Jf(e){let t=[`${e.snapshots} ${e.snapshots===1?`Snapshot`:`Snapshots`}`];return e.sicherungen>0&&t.push(`${e.sicherungen} ${e.sicherungen===1?`Sicherung`:`Sicherungen`}`),t.join(` · `)}var Yf=(e,t=1)=>e.toFixed(t).replace(`.`,`,`);function Xf(e){return e==null?`–`:e>=0xe8d4a51000?`${Yf(e/0xe8d4a51000)} TB`:e>=1e10?`${Math.round(e/1e9)} GB`:`${Yf(e/1e9)} GB`}function Zf(e){return e?/^\s*\d{1,2}:\d{2}\s*$/.test(e)?`täglich ${e.trim()}`:`Zeitplan „${e}“`:`ohne Zeitplan`}function Qf(e){return e.jobs.length===0?`Kein Sicherungsauftrag in Proxmox`:e.jobs.map(e=>`${Zf(e.zeitplan)} auf ${e.speicher??`?`}`).join(`, `)}var $f={ok:`in Ordnung`,gelb:`wird knapp`,rot:`fast voll`};function ep(e){if(e.aktion)return null;let t=e.grund??``,n=t.match(/erst ab (\d{2}\.\d{2}\.(?:\d{4})? ?\d{2}:\d{2})/)?.[1];return n?`ab ${n}`:/eigene Oberfläche|eigenen Oberfläche|eigenes Update/i.test(t)?`über die App`:null}function $(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);if(t.length===0)return null;let n=[],r=Xu(e);if(r?.zustand===`neu`){let e=ep(r);n.push(`App → ${r.verfuegbar??`neu`}${e?` (${e})`:``}`)}let i=Zu(e);i?.zustand===`neu`&&n.push(i.kurz||(i.id===`docker`?`Images`:`Pakete`));for(let e of t)e!==r&&e!==i&&n.push(`${e.name}${e.kurz?` · ${e.kurz}`:``}`);return{id:e.id,name:e.name,teile:n,knopf:t.some(e=>!!e.aktion)}}function tp(e){return e.getrennt.length>0?{stufe:`rot`,titel:`Verbindung weg`,text:`${e.getrennt.join(` und `)} antwortet nicht.`}:e.stumm.length>0||e.hinweiseRot>0?{stufe:`rot`,titel:`Störung`,text:`${e.stumm.length>0?`${e.stumm.join(`, `)} antwortet nicht`:`Ein roter Hinweis wartet`}.`}:e.hinweise>0?{stufe:`gelb`,titel:e.hinweise===1?`1 Hinweis`:`${e.hinweise} Hinweise`,text:`Bei Gelegenheit ansehen.`}:e.updates>0?{stufe:`info`,titel:`Alles läuft`,text:`${e.updates} ${e.updates===1?`Update steht`:`Updates stehen`} bereit.`}:{stufe:`ok`,titel:`Alles läuft`,text:`Keine Hinweise, keine offenen Updates.`}}var np={ok:{glut:`var(--gruen)`,titel:`text-foreground`,symbol:`text-gruen`,Symbol:Xa},info:{glut:`var(--gruen)`,titel:`text-foreground`,symbol:`text-gruen`,Symbol:Xa},gelb:{glut:`var(--bernstein)`,titel:`text-bernstein`,symbol:`text-bernstein`,Symbol:Ja},rot:{glut:`var(--rot)`,titel:`text-rot-text`,symbol:`text-rot`,Symbol:qo}},rp={online:{punkt:`ok`,text:`online`},verbinde:{punkt:`warn`,text:`verbinde`},getrennt:{punkt:`rot`,text:`getrennt`},fehlt:{punkt:`aus`,text:`nicht eingerichtet`}},ip={box:{name:`KI-Box`,rand:`[--rand:color-mix(in_srgb,var(--box)_32%,transparent)]`,text:`text-box-text`,pille:`bg-box/10 text-box-text ring-box/30 hover:bg-box/20`,glut:`var(--box)`,cockpit:`/box`},homelab:{name:`Homelab`,rand:`[--rand:color-mix(in_srgb,var(--lab)_32%,transparent)]`,text:`text-lab-text`,pille:`bg-lab/10 text-lab-text ring-lab/30 hover:bg-lab/20`,glut:`var(--lab)`,cockpit:`/homelab`}},ap=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),op=e=>({"--i":e}),sp={cyan:{kachel:`bg-cyan/10 text-cyan ring-cyan/25`,wert:`text-cyan`},gruen:{kachel:`bg-gruen/10 text-gruen ring-gruen/25`,wert:`text-gruen`},bernstein:{kachel:`bg-bernstein/10 text-bernstein ring-bernstein/30`,wert:`text-bernstein`},rot:{kachel:`bg-rot/12 text-rot ring-rot/35`,wert:`text-rot-text`},grau:{kachel:`bg-white/[0.05] text-text-2 ring-white/12`,wert:`text-foreground`}};function cp(e){let t=(0,z.c)(23),{Icon:n,label:r,wert:i,art:a,children:s}=e,c=sp[a],l;t[0]===c.kachel?l=t[1]:(l=o(`flex size-10 shrink-0 items-center justify-center rounded-xl ring-1 ring-inset`,c.kachel),t[0]=c.kachel,t[1]=l);let u;t[2]===n?u=t[3]:(u=(0,M.jsx)(n,{className:`size-[18px]`}),t[2]=n,t[3]=u);let d;t[4]!==l||t[5]!==u?(d=(0,M.jsx)(`span`,{"aria-hidden":!0,className:l,children:u}),t[4]=l,t[5]=u,t[6]=d):d=t[6];let f;t[7]===r?f=t[8]:(f=(0,M.jsx)(`span`,{className:`etikett text-[10.5px] text-text-3`,children:r}),t[7]=r,t[8]=f);let p;t[9]===s?p=t[10]:(p=(0,M.jsx)(`span`,{className:`truncate text-[13px] text-text-2`,children:s}),t[9]=s,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[f,p]}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;t[14]===c.wert?h=t[15]:(h=o(`font-anzeige text-[30px] leading-none font-semibold tabular-nums`,c.wert),t[14]=c.wert,t[15]=h);let g;t[16]!==h||t[17]!==i?(g=(0,M.jsx)(`span`,{className:h,children:i}),t[16]=h,t[17]=i,t[18]=g):g=t[18];let _;return t[19]!==d||t[20]!==m||t[21]!==g?(_=(0,M.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 items-center gap-3.5 rounded-2xl px-4 py-3`,children:[d,m,g]}),t[19]=d,t[20]=m,t[21]=g,t[22]=_):_=t[22],_}function lp(e){let t=(0,z.c)(12),{bereich:n,verbindung:r}=e,i=ip[n],a=rp[r],s=i.cockpit,c;t[0]===i.pille?c=t[1]:(c=o(`inline-flex h-8 items-center gap-2 rounded-full px-3 text-[13px] ring-1 ring-inset transition-colors`,i.pille),t[0]=i.pille,t[1]=c);let l=Hd[a.punkt],u;t[2]===l?u=t[3]:(u=o(`size-2 rounded-full`,l),t[2]=l,t[3]=u);let d;t[4]===u?d=t[5]:(d=(0,M.jsx)(`span`,{"aria-hidden":!0,className:u}),t[4]=u,t[5]=d);let f;return t[6]!==i.cockpit||t[7]!==i.name||t[8]!==c||t[9]!==d||t[10]!==a.text?(f=(0,M.jsxs)(ta,{to:s,className:c,children:[d,i.name,` `,a.text]}),t[6]=i.cockpit,t[7]=i.name,t[8]=c,t[9]=d,t[10]=a.text,t[11]=f):f=t[11],f}function up(e){let t=(0,z.c)(22),{bereich:n,titel:r,unterzeile:i,werte:a,basis:s}=e,c=ip[n],l;t[0]===c.text?l=t[1]:(l=o(`etikett text-[11.5px] tracking-[0.16em]`,c.text),t[0]=c.text,t[1]=l);let u;t[2]!==l||t[3]!==r?(u=(0,M.jsx)(`h3`,{className:l,children:r}),t[2]=l,t[3]=r,t[4]=u):u=t[4];let d;t[5]===i?d=t[6]:(d=i&&(0,M.jsx)(`span`,{className:`truncate text-[12.5px] text-text-3`,children:i}),t[5]=i,t[6]=d);let f;t[7]!==u||t[8]!==d?(f=(0,M.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 px-0.5`,children:[u,d]}),t[7]=u,t[8]=d,t[9]=f):f=t[9];let p;if(t[10]!==s||t[11]!==n||t[12]!==a){let e;t[14]!==s||t[15]!==n?(e=(e,t)=>(0,M.jsx)(Nf,{label:e.label,wert:e.wert,einheit:e.einheit,punkte:e.punkte,bereich:n,grenzen:[e.gelb,e.rot],zustand:lf(e.wert??null,e.gelb,e.rot),zeitraumText:`letzte Stunde`,i:s+t,hinweis:e.hinweis},e.label),t[14]=s,t[15]=n,t[16]=e):e=t[16],p=a.map(e),t[10]=s,t[11]=n,t[12]=a,t[13]=p}else p=t[13];let m;t[17]===p?m=t[18]:(m=(0,M.jsx)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-4`,children:p}),t[17]=p,t[18]=m);let h;return t[19]!==f||t[20]!==m?(h=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[f,m]}),t[19]=f,t[20]=m,t[21]=h):h=t[21],h}function dp(e){let t=(0,z.c)(40),{homelabAktiv:n}=e,r=cc(),i=Xc(`1h`),a=Hs(),o=Zc(`1h`,n),s=i.data?.reihen,c=r.data?.box,l=a?.ram??(c?.ram_used&&c.ram_total?c.ram_used/c.ram_total*100:null),u;if(t[0]!==c||t[1]!==n||t[2]!==o.data?.geraete||t[3]!==a?.cpu||t[4]!==a?.disk||t[5]!==a?.temp_cpu||t[6]!==i.data?.aktuell||t[7]!==i.data?.prognose?.platte||t[8]!==s?.cpu||t[9]!==s?.platte||t[10]!==s?.ram||t[11]!==s?.temp_cpu||t[12]!==l){let e=o.data?.geraete.find(fp),r;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(r=op(1),t[14]=r):r=t[14];let d;t[15]===c?d=t[16]:(d=c?.uptime_s?`läuft seit ${pf(c.uptime_s)}`:null,t[15]=c,t[16]=d);let f=a?.cpu??i.data?.aktuell.cpu,p=s?.cpu,m;t[17]!==f||t[18]!==p?(m={label:`CPU`,wert:f,einheit:`prozent`,punkte:p,gelb:85,rot:95},t[17]=f,t[18]=p,t[19]=m):m=t[19];let h=s?.ram,g;t[20]!==l||t[21]!==h?(g={label:`Speicher`,wert:l,einheit:`prozent`,punkte:h,gelb:85,rot:95},t[20]=l,t[21]=h,t[22]=g):g=t[22];let _=a?.temp_cpu??c?.temp_cpu,v=s?.temp_cpu,y;t[23]!==v||t[24]!==_?(y={label:`Temp.`,wert:_,einheit:`grad`,punkte:v,gelb:80,rot:90},t[23]=v,t[24]=_,t[25]=y):y=t[25];let b=a?.disk??c?.platte?.percent,x=s?.platte,S=i.data?.prognose?.platte??c?.platte?.vorhersage,C;t[26]===S?C=t[27]:(C=vf(S),t[26]=S,t[27]=C);let w;t[28]!==b||t[29]!==x||t[30]!==C?(w={label:`Platte`,wert:b,einheit:`prozent`,punkte:x,gelb:80,rot:90,hinweis:C},t[28]=b,t[29]=x,t[30]=C,t[31]=w):w=t[31];let T;t[32]!==y||t[33]!==w||t[34]!==m||t[35]!==g?(T=[m,g,y,w],t[32]=y,t[33]=w,t[34]=m,t[35]=g,t[36]=T):T=t[36];let E;t[37]!==T||t[38]!==d?(E=(0,M.jsx)(up,{bereich:`box`,titel:`KI-Box`,basis:0,unterzeile:d,werte:T}),t[37]=T,t[38]=d,t[39]=E):E=t[39],u=(0,M.jsxs)(`section`,{"aria-label":`Instrumente`,className:`auftauchen flaeche grid gap-6 rounded-3xl p-5 sm:p-6 xl:grid-cols-2 xl:gap-8`,style:r,children:[E,n?(0,M.jsx)(up,{bereich:`homelab`,titel:`Proxmox-Host`,basis:4,unterzeile:e?.aktuell.uptime_s?`läuft seit ${pf(e.aktuell.uptime_s)}`:null,werte:[{label:`CPU`,wert:e?.aktuell.cpu,einheit:`prozent`,punkte:e?.reihen.cpu,gelb:85,rot:95},{label:`Speicher`,wert:e?.aktuell.ram,einheit:`prozent`,punkte:e?.reihen.ram,gelb:90,rot:95},{label:`Temp.`,wert:e?.aktuell.temp_cpu,einheit:`grad`,punkte:e?.reihen.temp_cpu,gelb:80,rot:90},{label:`Platte`,wert:e?.aktuell.platte,einheit:`prozent`,punkte:e?.reihen.platte,gelb:80,rot:90,hinweis:vf(e?.prognose?.platte)}]}):(0,M.jsx)(`p`,{className:`self-center text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht; hier steht nichts Veraltetes.`})]}),t[0]=c,t[1]=n,t[2]=o.data?.geraete,t[3]=a?.cpu,t[4]=a?.disk,t[5]=a?.temp_cpu,t[6]=i.data?.aktuell,t[7]=i.data?.prognose?.platte,t[8]=s?.cpu,t[9]=s?.platte,t[10]=s?.ram,t[11]=s?.temp_cpu,t[12]=l,t[13]=u}else u=t[13];return u}function fp(e){return e.art===`proxmox-host`}function pp(e){let t=(0,z.c)(5),{titel:n,rechts:r}=e,i;t[0]===n?i=t[1]:(i=(0,M.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-3`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function mp(e){let t=(0,z.c)(42),{bereich:n,verbindung:r,unterzeile:i,i:a,children:s}=e,c=ip[n],l=rp[r],u=n===`box`?`ki-box`:`proxmox-host`,d;t[0]!==c.name||t[1]!==u?(d=Kd({art:u,name:c.name}),t[0]=c.name,t[1]=u,t[2]=d):d=t[2];let f;t[3]===d?f=t[4]:(f={...d,logo:void 0},t[3]=d,t[4]=f);let p=f,m=c.name,h;t[5]===c.rand?h=t[6]:(h=o(`auftauchen flaeche relative flex min-w-0 flex-col overflow-hidden rounded-3xl`,c.rand),t[5]=c.rand,t[6]=h);let g;t[7]===a?g=t[8]:(g=op(a),t[7]=a,t[8]=g);let _=`radial-gradient(closest-side, color-mix(in srgb, ${c.glut} 20%, transparent), transparent)`,v;t[9]===_?v=t[10]:(v=(0,M.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute -top-44 -left-36 size-[460px] rounded-full`,style:{background:_}}),t[9]=_,t[10]=v);let y=c.cockpit,b;t[11]===p?b=t[12]:(b=(0,M.jsx)(tf,{bild:p,groesse:`lg`,leuchtet:!0}),t[11]=p,t[12]=b);let x;t[13]===c.name?x=t[14]:(x=(0,M.jsx)(`span`,{className:`text-[21px] leading-none font-semibold`,children:c.name}),t[13]=c.name,t[14]=x);let S=Hd[l.punkt],C;t[15]===S?C=t[16]:(C=o(`size-2 shrink-0 rounded-full`,S),t[15]=S,t[16]=C);let w;t[17]===C?w=t[18]:(w=(0,M.jsx)(`span`,{"aria-hidden":!0,className:C}),t[17]=C,t[18]=w);let T;t[19]!==w||t[20]!==i||t[21]!==l.text?(T=(0,M.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-[13px] text-text-3`,children:[w,l.text,` · `,i]}),t[19]=w,t[20]=i,t[21]=l.text,t[22]=T):T=t[22];let E;t[23]!==x||t[24]!==T?(E=(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[x,T]}),t[23]=x,t[24]=T,t[25]=E):E=t[25];let D;t[26]!==b||t[27]!==E?(D=(0,M.jsxs)(`span`,{className:`flex min-w-0 items-center gap-3.5`,children:[b,E]}),t[26]=b,t[27]=E,t[28]=D):D=t[28];let O;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,M.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 rounded-full px-3 py-1.5 text-[13px] text-text-2 ring-1 ring-white/10 transition-colors ring-inset group-hover:bg-white/[0.06] group-hover:text-foreground`,children:[`Cockpit `,(0,M.jsx)(Pa,{className:`size-3.5 transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0})]}),t[29]=O):O=t[29];let k;t[30]!==c.cockpit||t[31]!==D?(k=(0,M.jsxs)(ta,{to:y,className:`group relative flex items-center justify-between gap-3 px-5 pt-5 pb-4 sm:px-6 sm:pt-6`,children:[D,O]}),t[30]=c.cockpit,t[31]=D,t[32]=k):k=t[32];let ee;t[33]===s?ee=t[34]:(ee=(0,M.jsx)(`div`,{className:`relative flex flex-1 flex-col gap-6 px-5 pb-6 sm:px-6`,children:s}),t[33]=s,t[34]=ee);let A;return t[35]!==c.name||t[36]!==k||t[37]!==ee||t[38]!==h||t[39]!==g||t[40]!==v?(A=(0,M.jsxs)(`section`,{"aria-label":m,className:h,style:g,children:[v,k,ee]}),t[35]=c.name,t[36]=k,t[37]=ee,t[38]=h,t[39]=g,t[40]=v,t[41]=A):A=t[41],A}function hp(e){let t=(0,z.c)(11),{hinweise:n,ziel:r}=e;if(n.length===0)return null;let i,a,s;if(t[0]!==n||t[1]!==r){let e=[...n].sort(gp);i=`Hinweise`,a=`m-0 flex list-none flex-col gap-1.5 p-0`;let c;t[5]===r?c=t[6]:(c=e=>{let t=e.stufe===`rot`,n=t?qo:Ja;return(0,M.jsx)(`li`,{children:(0,M.jsxs)(ta,{to:r,className:o(`flex items-start gap-2.5 rounded-xl px-3 py-2.5 text-[14px] ring-1 ring-inset transition-colors`,t?`bg-rot/10 text-rot-text ring-rot/35 hover:bg-rot/15`:`bg-bernstein/[0.08] text-bernstein ring-bernstein/30 hover:bg-bernstein/[0.13]`),children:[(0,M.jsx)(n,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),(0,M.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.titel}),(0,M.jsx)(`span`,{className:`etikett shrink-0 pt-0.5 text-[10px] opacity-80`,children:t?`Störung`:`Hinweis`})]})},e.id)},t[5]=r,t[6]=c),s=e.slice(0,3).map(c),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=s}else i=t[2],a=t[3],s=t[4];let c;return t[7]!==i||t[8]!==a||t[9]!==s?(c=(0,M.jsx)(`ul`,{"aria-label":i,className:a,children:s}),t[7]=i,t[8]=a,t[9]=s,t[10]=c):c=t[10],c}function gp(e,t){return Number(t.stufe===`rot`)-Number(e.stufe===`rot`)}var _p=e=>/\((ab |über die App)/.test(e);function vp(e){let t=(0,z.c)(27),{to:n,bild:r,name:i,unter:a,punkt:s,zustandText:c,rechts:l,updates:u,knopf:d}=e,f;t[0]===u?f=t[1]:(f=u===void 0?[]:u,t[0]=u,t[1]=f);let p=f,m=d!==void 0&&d,h;t[2]!==r||t[3]!==s?(h=(0,M.jsx)(tf,{bild:r,punkt:s}),t[2]=r,t[3]=s,t[4]=h):h=t[4];let g;t[5]!==l||t[6]!==c?(g=c&&!l&&(0,M.jsxs)(`span`,{className:`sr-only`,children:[`, `,c]}),t[5]=l,t[6]=c,t[7]=g):g=t[7];let _;t[8]!==i||t[9]!==g?(_=(0,M.jsxs)(`span`,{className:`truncate text-[14.5px] leading-snug font-medium`,children:[i,g]}),t[8]=i,t[9]=g,t[10]=_):_=t[10];let v;t[11]===l?v=t[12]:(v=l&&(0,M.jsx)(`span`,{className:`shrink-0 text-[12px]`,children:l}),t[11]=l,t[12]=v);let y;t[13]!==_||t[14]!==v?(y=(0,M.jsxs)(`span`,{className:`flex min-w-0 items-baseline justify-between gap-2`,children:[_,v]}),t[13]=_,t[14]=v,t[15]=y):y=t[15];let b;t[16]!==m||t[17]!==a||t[18]!==p?(b=p.length>0?(0,M.jsx)(`span`,{className:`flex min-w-0 flex-wrap gap-x-2 text-[12.5px] leading-snug`,children:p.map(e=>(0,M.jsxs)(`span`,{className:o(`truncate`,m&&!_p(e)?`text-cyan-text`:`text-text-3`),children:[m&&!_p(e)&&(0,M.jsx)(No,{className:`mr-1 inline size-3 -translate-y-px`,"aria-hidden":!0}),e]},e))}):(0,M.jsx)(`span`,{className:`truncate text-[12.5px] leading-snug text-text-3`,children:a}),t[16]=m,t[17]=a,t[18]=p,t[19]=b):b=t[19];let x;t[20]!==y||t[21]!==b?(x=(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[y,b]}),t[20]=y,t[21]=b,t[22]=x):x=t[22];let S;return t[23]!==x||t[24]!==h||t[25]!==n?(S=(0,M.jsxs)(ta,{to:n,className:`flaeche-innen group flex h-full min-w-0 items-center gap-3 rounded-xl px-3 py-2.5 transition-colors hover:border-white/20 hover:bg-white/[0.05]`,children:[h,x]}),t[23]=x,t[24]=h,t[25]=n,t[26]=S):S=t[26],S}var yp={ok:`ok`,aus:`aus`,warn:`warn`,info:`info`,fehler:`rot`};function bp(e){return e.zustand===`neu`?{updates:[e.kurz||(e.verfuegbar?`→ ${e.verfuegbar}`:`neu`)],unter:``}:e.zustand===`festgehalten`?{updates:[],unter:`${e.installiert??`–`} · festgehalten`}:{updates:[],unter:e.installiert??`–`}}function xp(e){let t=(0,z.c)(6),{eintraege:n}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(`p`,{className:`text-sm text-text-3`,children:`Nichts geplant.`}),t[0]=e):e=t[0],e}let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(`span`,{"aria-hidden":!0,className:`absolute top-3 bottom-3 left-[5px] w-px bg-gradient-to-b from-white/20 to-white/0`}),t[1]=r):r=t[1];let i;t[2]===n?i=t[3]:(i=n.map(Sp),t[2]=n,t[3]=i);let a;return t[4]===i?a=t[5]:(a=(0,M.jsxs)(`ol`,{className:`relative m-0 flex list-none flex-col p-0`,children:[r,i]}),t[4]=i,t[5]=a),a}function Sp(e){let[t,n]=Cp($s(e.zeit)),r=/update/i.test(e.titel);return(0,M.jsxs)(`li`,{className:`relative grid grid-cols-[11px_minmax(0,1fr)_auto] items-center gap-x-3 py-1.5`,children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-[11px] rounded-full ring-[3px] ring-[#0d1119]`,r?`bg-cyan`:`bg-white/25`)}),(0,M.jsx)(`span`,{className:`truncate text-[14.5px]`,children:e.titel}),(0,M.jsxs)(`span`,{className:`ziffern text-[12.5px] whitespace-nowrap text-text-3`,children:[t&&(0,M.jsx)(`span`,{className:`etikett mr-1.5 text-[10px] tracking-[0.1em]`,children:t}),n]})]},`${e.titel}-${e.zeit}`)}function Cp(e){let t=e.match(/^(.*) (\d{2}:\d{2})$/);return t?[t[1].toLowerCase(),t[2]]:[``,e]}function wp(e){let t=(0,z.c)(85),{verbindung:n}=e,r=cc(),i=Lc(),a=lc(),o,s,c,l,u,d,f,p,m,h,g,_;if(t[0]!==a.data?.models||t[1]!==a.data?.running||t[2]!==r.data||t[3]!==n||t[4]!==i.data?.ziele){let e=i.data?.ziele.find(Op)?.bausteine??[],v=e.filter(Dp),y,b,x,S;if(t[17]!==a.data?.models||t[18]!==a.data?.running||t[19]!==r.data||t[20]!==n){let e=a.data?.models??[],i;t[32]===a.data?.running?i=t[33]:(i=a.data?.running??[],t[32]=a.data?.running,t[33]=i);let c=i,l=[`hirn`,`coder`].map(t=>({rolle:t,m:e.find(e=>bs(e)===t)})),u;t[34]===r.data?.lampen?u=t[35]:(u=r.data?.lampen??[],t[34]=r.data?.lampen,t[35]=u);let d=u,f;t[36]===d?f=t[37]:(f=e=>d.find(t=>t.id===e),t[36]=d,t[37]=f),s=f,o=mp,p=`box`,m=n,h=2,t[38]===r.data?g=t[39]:(g=r.data?.box.ram_total?`${Math.round(r.data.box.ram_total/1073741824)} GB gemeinsamer Speicher`:`Strix Halo`,t[38]=r.data,t[39]=g);let v;t[40]===r.data?.hinweise?v=t[41]:(v=r.data?.hinweise??[],t[40]=r.data?.hinweise,t[41]=v),t[42]===v?_=t[43]:(_=(0,M.jsx)(hp,{hinweise:v,ziel:`/box`}),t[42]=v,t[43]=_),x=`flex flex-col gap-2.5`,t[44]===c.length?S=t[45]:(S=(0,M.jsx)(pp,{titel:`Modelle`,rechts:(0,M.jsxs)(`span`,{className:`text-[13px] text-text-3`,children:[c.length,` geladen`]})}),t[44]=c.length,t[45]=S),y=`m-0 grid list-none grid-cols-1 gap-2 p-0 sm:grid-cols-2`,b=l.map(e=>{let{rolle:t,m:n}=e,r=!!n&&c.includes(n.name);return(0,M.jsx)(`li`,{children:(0,M.jsx)(vp,{to:`/box/modelle`,bild:Xd(t),name:t===`hirn`?`Hirn`:`Coder`,unter:n?.name??`nicht belegt`,punkt:r?`ok`:`aus`,rechts:(0,M.jsx)(`span`,{className:r?`text-gruen-text`:`text-text-3`,children:r?`geladen`:`auf Abruf`})})},t)}),t[17]=a.data?.models,t[18]=a.data?.running,t[19]=r.data,t[20]=n,t[21]=o,t[22]=s,t[23]=y,t[24]=b,t[25]=x,t[26]=S,t[27]=p,t[28]=m,t[29]=h,t[30]=g,t[31]=_}else o=t[21],s=t[22],y=t[23],b=t[24],x=t[25],S=t[26],p=t[27],m=t[28],h=t[29],g=t[30],_=t[31];let C;t[46]!==y||t[47]!==b?(C=(0,M.jsx)(`ul`,{className:y,children:b}),t[46]=y,t[47]=b,t[48]=C):C=t[48],t[49]!==x||t[50]!==S||t[51]!==C?(l=(0,M.jsxs)(`div`,{className:x,children:[S,C]}),t[49]=x,t[50]=S,t[51]=C,t[52]=l):l=t[52],d=`flex flex-col gap-2.5`;let w=v.length?(0,M.jsxs)(zd,{art:`cyan`,children:[v.length,` bereit`]}):(0,M.jsx)(zd,{children:`aktuell`});t[53]===w?f=t[54]:(f=(0,M.jsx)(pp,{titel:`Bausteine`,rechts:w}),t[53]=w,t[54]=f),c=`m-0 grid list-none grid-cols-1 gap-2 p-0 sm:grid-cols-2`;let T;t[55]===s?T=t[56]:(T=e=>{let t=bp(e),n=s(e.id===`engine`?`motor`:e.id);return(0,M.jsx)(`li`,{children:(0,M.jsx)(vp,{to:`/box/updates`,bild:Xd(e.id),name:e.name.replace(/ \(llama\.cpp\)$/,``),unter:t.unter,updates:t.updates,knopf:!!e.aktion,punkt:n?yp[n.zustand]:null,zustandText:n?.wert})},e.id)},t[55]=s,t[56]=T),u=e.map(T),t[0]=a.data?.models,t[1]=a.data?.running,t[2]=r.data,t[3]=n,t[4]=i.data?.ziele,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=p,t[13]=m,t[14]=h,t[15]=g,t[16]=_}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],p=t[12],m=t[13],h=t[14],g=t[15],_=t[16];let v;t[57]!==c||t[58]!==u?(v=(0,M.jsx)(`ul`,{className:c,children:u}),t[57]=c,t[58]=u,t[59]=v):v=t[59];let y;t[60]!==v||t[61]!==d||t[62]!==f?(y=(0,M.jsxs)(`div`,{className:d,children:[f,v]}),t[60]=v,t[61]=d,t[62]=f,t[63]=y):y=t[63];let b;t[64]===s?b=t[65]:(b=(0,M.jsx)(pp,{titel:`Als Nächstes`,rechts:[`jobs`,`sicherung`].map(e=>s(e)).filter(Ep).map(Tp)}),t[64]=s,t[65]=b);let x;t[66]===r.data?.flugplan.geplant?x=t[67]:(x=r.data?.flugplan.geplant??[],t[66]=r.data?.flugplan.geplant,t[67]=x);let S;t[68]===x?S=t[69]:(S=x.slice(0,4),t[68]=x,t[69]=S);let C;t[70]===S?C=t[71]:(C=(0,M.jsx)(xp,{eintraege:S}),t[70]=S,t[71]=C);let w;t[72]!==b||t[73]!==C?(w=(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[b,C]}),t[72]=b,t[73]=C,t[74]=w):w=t[74];let T;return t[75]!==o||t[76]!==l||t[77]!==y||t[78]!==w||t[79]!==p||t[80]!==m||t[81]!==h||t[82]!==g||t[83]!==_?(T=(0,M.jsxs)(o,{bereich:p,verbindung:m,i:h,unterzeile:g,children:[_,l,y,w]}),t[75]=o,t[76]=l,t[77]=y,t[78]=w,t[79]=p,t[80]=m,t[81]=h,t[82]=g,t[83]=_,t[84]=T):T=t[84],T}function Tp(e){return(0,M.jsxs)(`span`,{className:`hidden items-center gap-1.5 text-[12.5px] text-text-3 sm:flex`,children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-1.5 rounded-full`,Hd[yp[e.zustand]])}),e.label,` `,e.wert]},e.id)}function Ep(e){return!!e}function Dp(e){return e.zustand===`neu`}function Op(e){return e.art===`ki-box`}var kp={ok:`bg-lab`,gelb:`bg-bernstein`,rot:`bg-rot`,keine:`bg-text-3`};function Ap(e){let t=(0,z.c)(31),{speicher:n}=e;if(!n)return null;let r;t[0]===n.pools?r=t[1]:(r=n.pools.find(Mp)??n.pools[0],t[0]=n.pools,t[1]=r);let i=r,a=n.nas[0],o=n.sicherungen,s;if(t[2]!==a||t[3]!==i||t[4]!==o.stufe||t[5]!==o.zuletzt){if(s=[],i){let e=i.anteil,n;t[7]===i.anteil?n=t[8]:(n=Math.round(i.anteil*100),t[7]=i.anteil,t[8]=n);let r;t[9]===i.frei?r=t[10]:(r=Xf(i.frei),t[9]=i.frei,t[10]=r);let a=`${n} % · ${r} frei`,o;t[11]!==i.anteil||t[12]!==i.stufe||t[13]!==a?(o={label:`Speicherpool`,anteil:e,text:a,stufe:i.stufe},t[11]=i.anteil,t[12]=i.stufe,t[13]=a,t[14]=o):o=t[14],s.push(o)}if(a){let e=a.gesamt!=null&&a.belegt!=null?a.gesamt-a.belegt:null,n;t[15]!==e||t[16]!==a.anteil||t[17]!==a.problem?(n=a.anteil==null?a.problem??`kein Stand`:`${Math.round(a.anteil*100)} % · ${Xf(e)} frei`,t[15]=e,t[16]=a.anteil,t[17]=a.problem,t[18]=n):n=t[18];let r;t[19]!==a.anteil||t[20]!==a.stufe||t[21]!==n?(r={label:`NAS`,anteil:a.anteil,stufe:a.stufe,text:n},t[19]=a.anteil,t[20]=a.stufe,t[21]=n,t[22]=r):r=t[22],s.push(r)}let e;t[23]===o.zuletzt?e=t[24]:(e=o.zuletzt?$s(new Date(o.zuletzt*1e3).toISOString()).toLowerCase():`noch keine`,t[23]=o.zuletzt,t[24]=e);let n;t[25]!==o.stufe||t[26]!==e?(n={label:`Sicherungen`,anteil:null,stufe:o.stufe,text:e},t[25]=o.stufe,t[26]=e,t[27]=n):n=t[27],s.push(n),t[2]=a,t[3]=i,t[4]=o.stufe,t[5]=o.zuletzt,t[6]=s}else s=t[6];let c;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,M.jsx)(pp,{titel:`Speicher und Sicherungen`}),t[28]=c):c=t[28];let l;return t[29]===s?l=t[30]:(l=(0,M.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[c,(0,M.jsx)(`ul`,{className:`m-0 grid list-none grid-cols-1 gap-2 p-0 sm:grid-cols-3`,children:s.map(jp)})]}),t[29]=s,t[30]=l),l}function jp(e){return(0,M.jsx)(`li`,{children:(0,M.jsxs)(ta,{to:`/homelab`,className:`flaeche-innen flex h-full flex-col gap-2 rounded-xl px-3 py-2.5 transition-colors hover:border-white/20 hover:bg-white/[0.05]`,children:[(0,M.jsxs)(`span`,{className:`flex items-center justify-between gap-2`,children:[(0,M.jsx)(`span`,{className:`text-[13.5px] font-medium`,children:e.label}),(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-1.5 rounded-full`,kp[e.stufe])})]}),(0,M.jsx)(`span`,{className:`truncate text-[12.5px] text-text-3`,children:e.text}),e.anteil!=null&&(0,M.jsx)(`span`,{"aria-hidden":!0,className:`h-1 overflow-hidden rounded-full bg-white/[0.08]`,children:(0,M.jsx)(`span`,{className:o(`block h-full rounded-full`,e.stufe===`ok`?`bg-lab/80`:kp[e.stufe]),style:{width:`${Math.max(2,Math.round(e.anteil*100))}%`}})})]})},e.label)}function Mp(e){return e.aktiv}function Np(e){let t=(0,z.c)(17),{verbindung:n}=e,r=n===`online`,i=Rc(r),a=Vc(r),o=rl(r),s;t[0]===i.data?.ziele?s=t[1]:(s=i.data?.ziele??[],t[0]=i.data?.ziele,t[1]=s);let c=s,l;t[2]===c?l=t[3]:(l=c.filter(Ip),t[2]=c,t[3]=l);let u=l.length,d;t[4]===c?d=t[5]:(d=c.filter(Fp),t[4]=c,t[5]=d);let f=d.length,p=c.length?`Proxmox VE · ${f} Gäste`:`Proxmox VE`,m;t[6]!==r||t[7]!==u||t[8]!==a||t[9]!==i.isPending||t[10]!==o||t[11]!==c?(m=r?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(hp,{hinweise:a.data?.hinweise??[],ziel:`/homelab`}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,M.jsx)(pp,{titel:`Geräte`,rechts:(0,M.jsxs)(`span`,{className:`text-[13px] text-text-3`,children:[u,` von `,c.length,` erreichbar`]})}),i.isPending&&c.length===0&&(0,M.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}),(0,M.jsx)(`ul`,{className:`m-0 grid list-none grid-cols-1 gap-2 p-0 sm:grid-cols-2`,children:c.map(Pp)})]}),(0,M.jsx)(Ap,{speicher:o.data})]}):(0,M.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht; die Karte zeigt nichts Veraltetes.`}),t[6]=r,t[7]=u,t[8]=a,t[9]=i.isPending,t[10]=o,t[11]=c,t[12]=m):m=t[12];let h;return t[13]!==p||t[14]!==m||t[15]!==n?(h=(0,M.jsx)(mp,{bereich:`homelab`,verbindung:n,i:3,unterzeile:p,children:m}),t[13]=p,t[14]=m,t[15]=n,t[16]=h):h=t[16],h}function Pp(e){let t=$(e),n=e.erreichbar===!1?`rot`:e.erreichbar?`ok`:`aus`;return(0,M.jsx)(`li`,{children:(0,M.jsx)(vp,{to:t?`/homelab/updates`:`/homelab`,bild:Kd(e),name:Ju(e),unter:Wu(e.kennzahl)??Ku(e),punkt:n,zustandText:e.erreichbar===!1?`antwortet nicht`:e.erreichbar?`erreichbar`:`kein Stand`,updates:t?.teile??[],knopf:t?.knopf??!1})},e.id)}function Fp(e){return e.art!==`proxmox-host`}function Ip(e){return e.erreichbar}var Lp={eingespielt:`gruen`,gruen:`gruen`,zurueckgerollt:`bernstein`,gelb:`bernstein`,fehler:`rot`,rot:`rot`,neustart:`cyan`,info:`cyan`,aufgeraeumt:`gruen`},Rp={zurueckgerollt:`zurückgerollt`,aufgeraeumt:`aufgeräumt`,neustart:`Neustart`,fehler:`Fehler`,zurueckgesetzt:`zurückgesetzt`,geloescht:`gelöscht`},zp={gruen:`bg-gruen`,bernstein:`bg-bernstein`,rot:`bg-rot`,cyan:`bg-cyan`,grau:`bg-white/30`};function Bp(e){let t=(0,z.c)(5),{homelabAktiv:n}=e,r=hc(),i=zc(n),a;if(t[0]!==r.data?.laeufe||t[1]!==i.data?.laeufe){let e=[...(r.data?.laeufe??[]).slice(0,8).map(Wp),...(i.data?.laeufe??[]).filter(Up).slice(0,8).map(Hp)].sort(Vp).slice(0,8),n;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(n=op(4),t[3]=n):n=t[3];let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,M.jsx)(`h2`,{className:`text-[17px] leading-tight font-semibold`,children:`Zuletzt eingespielt`}),(0,M.jsx)(`span`,{className:`hidden text-[13px] text-text-3 sm:inline`,children:`beide Bereiche, neueste zuerst`})]}),t[4]=s):s=t[4],a=(0,M.jsxs)(`section`,{"aria-label":`Zuletzt eingespielt`,className:`auftauchen flaeche flex flex-col gap-4 rounded-3xl p-5 sm:p-6`,style:n,children:[s,e.length===0?(0,M.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Updates aufgezeichnet.`}):(0,M.jsx)(`ol`,{className:`m-0 grid list-none gap-x-8 p-0 lg:grid-flow-col lg:grid-cols-2 lg:grid-rows-[repeat(var(--zeilen),auto)]`,style:{"--zeilen":Math.ceil(e.length/2)},children:e.map((t,n)=>(0,M.jsxs)(`li`,{className:o(`grid grid-cols-[10px_minmax(0,1fr)_auto] items-center gap-x-3 border-t border-white/[0.06] py-2.5`,n===0&&`border-t-0`,n===Math.ceil(e.length/2)&&`lg:border-t-0`),children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-2.5 rounded-full`,zp[t.art])}),(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,M.jsxs)(`span`,{className:`truncate text-[14.5px]`,children:[(0,M.jsx)(`span`,{className:o(`etikett mr-2 text-[10px] tracking-[0.12em]`,ip[t.bereich].text),children:ip[t.bereich].name}),t.titel]}),(0,M.jsx)(`span`,{className:`ziffern text-[12px] text-text-3`,children:$s(new Date(t.zeit).toISOString()).toLowerCase()})]}),(0,M.jsx)(zd,{art:t.art,children:t.chip})]},`${t.bereich}-${t.zeit}-${t.titel}`))})]}),t[0]=r.data?.laeufe,t[1]=i.data?.laeufe,t[2]=a}else a=t[2];return a}function Vp(e,t){return t.zeit-e.zeit}function Hp(e){return{zeit:e.start*1e3,bereich:`homelab`,titel:e.name,chip:e.ergebnis?Rp[e.ergebnis]??e.ergebnis:`unterbrochen`,art:(e.ergebnis?Lp[e.ergebnis]:`grau`)??`grau`}}function Up(e){return e.status!==`laeuft`&&!Hf(e)&&e.baustein!==`probe`}function Wp(e){return{zeit:new Date(e.start).getTime(),bereich:`box`,titel:e.anlass,chip:e.titel,art:Lp[e.stufe]??`grau`}}function Gp(){let e=(0,z.c)(120),t=ud(),n=cc(),r=Lc(),i=t.homelab.verbindung===`online`,a=Rc(i),s=Vc(i);if(n.isPending&&!n.data){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(Bd,{text:`Die Übersicht sammelt sich gleich …`}),e[0]=t):t=e[0],t}let c,l,u,d,f,p,m,h,g,_;if(e[1]!==r.data?.ziele||e[2]!==a.data?.ziele||e[3]!==i||e[4]!==s.data?.hinweise||e[5]!==t.box.updates||e[6]!==t.box.verbindung||e[7]!==t.homelab.updates||e[8]!==t.homelab.verbindung||e[9]!==n.data||e[10]!==n.isError){let o=[...t.box.verbindung===`getrennt`&&n.isError?[`Die KI-Box`]:[],...t.homelab.verbindung===`getrennt`?[`Der Homelab-Teil`]:[]],v=a.data?.ziele??[],y=v.filter(Xp).map(Yp),b;e[21]===n.data?.hinweise?b=e[22]:(b=n.data?.hinweise??[],e[21]=n.data?.hinweise,e[22]=b);let x;e[23]===s.data?.hinweise?x=e[24]:(x=s.data?.hinweise??[],e[23]=s.data?.hinweise,e[24]=x);let S;e[25]!==b||e[26]!==x?(S=[...b,...x],e[25]=b,e[26]=x,e[27]=S):S=e[27],c=S,h=c.some(Jp),_=t.box.updates+t.homelab.updates;let C;e[28]===c?C=e[29]:(C=c.filter(qp),e[28]=c,e[29]=C),d=tp({getrennt:o,stumm:y,hinweiseRot:C.length,hinweise:c.length,updates:_}),u=np[d.stufe],p=n.data?.flugplan.geplant[0];let w;e[30]===p?w=e[31]:(w=p?Cp($s(p.zeit)):[``,`–`],e[30]=p,e[31]=w),[m,f]=w,l=n.data?.zustand.stand;let T;e[32]===r.data?.ziele?T=e[33]:(T=r.data?.ziele.find(Kp),e[32]=r.data?.ziele,e[33]=T);let E=T?.name??`KI-Box`,D=n.isError?`rot`:n.data?`ok`:`aus`,O;e[34]!==E||e[35]!==D?(O={id:`ki-box`,name:E,zustand:D},e[34]=E,e[35]=D,e[36]=O):O=e[36];let k;e[37]===i?k=e[38]:(k=e=>({id:e.id,name:e.name,zustand:i?e.erreichbar===!1?`rot`:e.erreichbar?`ok`:`aus`:`aus`}),e[37]=i,e[38]=k),g=[O,...v.map(k)],e[1]=r.data?.ziele,e[2]=a.data?.ziele,e[3]=i,e[4]=s.data?.hinweise,e[5]=t.box.updates,e[6]=t.box.verbindung,e[7]=t.homelab.updates,e[8]=t.homelab.verbindung,e[9]=n.data,e[10]=n.isError,e[11]=c,e[12]=l,e[13]=u,e[14]=d,e[15]=f,e[16]=p,e[17]=m,e[18]=h,e[19]=g,e[20]=_}else c=e[11],l=e[12],u=e[13],d=e[14],f=e[15],p=e[16],m=e[17],h=e[18],g=e[19],_=e[20];let v=g,y;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(y=op(0),e[39]=y):y=e[39];let b=`radial-gradient(closest-side, color-mix(in srgb, ${u.glut} 20%, transparent), transparent)`,x;e[40]===b?x=e[41]:(x=(0,M.jsx)(`div`,{"aria-hidden":!0,className:`glut-atmet pointer-events-none absolute -top-48 -left-40 size-[560px] rounded-full`,style:{background:b}}),e[40]=b,e[41]=x);let S;e[42]!==u.glut||e[43]!==v?(S=(0,M.jsx)(Bf,{segmente:v,glut:u.glut}),e[42]=u.glut,e[43]=v,e[44]=S):S=e[44];let C=u.Symbol,w;e[45]===u.symbol?w=e[46]:(w=o(`size-4`,u.symbol),e[45]=u.symbol,e[46]=w);let T;e[47]!==u.Symbol||e[48]!==w?(T=(0,M.jsx)(C,{className:w,"aria-hidden":!0}),e[47]=u.Symbol,e[48]=w,e[49]=T):T=e[49];let E;e[50]===l?E=e[51]:(E=l?` · geprüft ${ap.format(new Date(l*1e3))}`:``,e[50]=l,e[51]=E);let D;e[52]!==T||e[53]!==E?(D=(0,M.jsxs)(`span`,{className:`etikett flex items-center gap-2 text-[11px] text-text-3`,children:[T,`Gesamtlage`,E]}),e[52]=T,e[53]=E,e[54]=D):D=e[54];let O;e[55]===u.titel?O=e[56]:(O=o(`text-[32px] leading-[1.05] font-semibold tracking-[-0.015em] sm:text-[44px]`,u.titel),e[55]=u.titel,e[56]=O);let k;e[57]!==d.titel||e[58]!==O?(k=(0,M.jsx)(`h2`,{className:O,children:d.titel}),e[57]=d.titel,e[58]=O,e[59]=k):k=e[59];let ee;e[60]===d.text?ee=e[61]:(ee=(0,M.jsx)(`p`,{className:`text-[15px] text-text-2 sm:text-base`,children:d.text}),e[60]=d.text,e[61]=ee);let A;e[62]===t.box.verbindung?A=e[63]:(A=(0,M.jsx)(lp,{bereich:`box`,verbindung:t.box.verbindung}),e[62]=t.box.verbindung,e[63]=A);let te;e[64]===t.homelab.verbindung?te=e[65]:(te=(0,M.jsx)(lp,{bereich:`homelab`,verbindung:t.homelab.verbindung}),e[64]=t.homelab.verbindung,e[65]=te);let ne;e[66]!==A||e[67]!==te?(ne=(0,M.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:[A,te]}),e[66]=A,e[67]=te,e[68]=ne):ne=e[68];let re;e[69]!==k||e[70]!==ee||e[71]!==ne||e[72]!==D?(re=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2.5`,children:[D,k,ee,ne]}),e[69]=k,e[70]=ee,e[71]=ne,e[72]=D,e[73]=re):re=e[73];let ie;e[74]!==re||e[75]!==S?(ie=(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-5 sm:gap-8`,children:[S,re]}),e[74]=re,e[75]=S,e[76]=ie):ie=e[76];let j=String(_),ae=_?`cyan`:`grau`,oe;e[77]===t.box.updates?oe=e[78]:(oe=(0,M.jsxs)(ta,{to:`/box/updates`,className:`hover:text-foreground`,children:[`KI-Box `,t.box.updates]}),e[77]=t.box.updates,e[78]=oe);let se;e[79]===t.homelab.updates?se=e[80]:(se=(0,M.jsxs)(ta,{to:`/homelab/updates`,className:`hover:text-foreground`,children:[`Homelab `,t.homelab.updates]}),e[79]=t.homelab.updates,e[80]=se);let ce;e[81]!==j||e[82]!==ae||e[83]!==oe||e[84]!==se?(ce=(0,M.jsxs)(cp,{Icon:No,label:`Updates bereit`,wert:j,art:ae,children:[oe,` · `,se]}),e[81]=j,e[82]=ae,e[83]=oe,e[84]=se,e[85]=ce):ce=e[85];let le=h?qo:Ja,ue=String(c.length),de=h?`rot`:c.length?`bernstein`:`grau`,fe=c.length?`stehen oben in den Karten`:`nichts offen`,pe;e[86]!==le||e[87]!==ue||e[88]!==de||e[89]!==fe?(pe=(0,M.jsx)(cp,{Icon:le,label:`Hinweise`,wert:ue,art:de,children:fe}),e[86]=le,e[87]=ue,e[88]=de,e[89]=fe,e[90]=pe):pe=e[90];let me=p?`${p.titel}${m&&m!==`heute`?` · ${m}`:``}`:`nichts geplant`,he;e[91]!==f||e[92]!==me?(he=(0,M.jsx)(cp,{Icon:Ka,label:`Als Nächstes`,wert:f,art:`grau`,children:me}),e[91]=f,e[92]=me,e[93]=he):he=e[93];let N;e[94]!==ce||e[95]!==pe||e[96]!==he?(N=(0,M.jsxs)(`div`,{className:`grid gap-2.5 sm:grid-cols-3 xl:grid-cols-1`,children:[ce,pe,he]}),e[94]=ce,e[95]=pe,e[96]=he,e[97]=N):N=e[97];let ge;e[98]!==ie||e[99]!==N?(ge=(0,M.jsxs)(`div`,{className:`relative grid gap-6 p-5 sm:p-7 xl:grid-cols-[minmax(0,1fr)_minmax(0,340px)] xl:items-center xl:gap-10`,children:[ie,N]}),e[98]=ie,e[99]=N,e[100]=ge):ge=e[100];let P;e[101]!==x||e[102]!==ge?(P=(0,M.jsxs)(`section`,{"aria-label":`Gesamtlage`,className:`auftauchen flaeche relative overflow-hidden rounded-3xl`,style:y,children:[x,ge]}),e[101]=x,e[102]=ge,e[103]=P):P=e[103];let F;e[104]===i?F=e[105]:(F=(0,M.jsx)(dp,{homelabAktiv:i}),e[104]=i,e[105]=F);let _e;e[106]===t.box.verbindung?_e=e[107]:(_e=(0,M.jsx)(wp,{verbindung:t.box.verbindung}),e[106]=t.box.verbindung,e[107]=_e);let ve;e[108]===t.homelab.verbindung?ve=e[109]:(ve=(0,M.jsx)(Np,{verbindung:t.homelab.verbindung}),e[108]=t.homelab.verbindung,e[109]=ve);let ye;e[110]!==_e||e[111]!==ve?(ye=(0,M.jsxs)(`div`,{className:`grid gap-5 md:gap-6 xl:grid-cols-2`,children:[_e,ve]}),e[110]=_e,e[111]=ve,e[112]=ye):ye=e[112];let be;e[113]===i?be=e[114]:(be=(0,M.jsx)(Bp,{homelabAktiv:i}),e[113]=i,e[114]=be);let xe;return e[115]!==P||e[116]!==F||e[117]!==ye||e[118]!==be?(xe=(0,M.jsxs)(M.Fragment,{children:[P,F,ye,be]}),e[115]=P,e[116]=F,e[117]=ye,e[118]=be,e[119]=xe):xe=e[119],xe}function Kp(e){return e.art===`ki-box`}function qp(e){return e.stufe===`rot`}function Jp(e){return e.stufe===`rot`}function Yp(e){return e.name}function Xp(e){return e.erreichbar===!1}var Zp=oa({component:Ld,notFoundComponent:()=>(0,M.jsx)(Ri,{to:`/`})}),Qp=ia({getParentRoute:()=>Zp,path:`/`,component:Gp}),$p=ia({getParentRoute:()=>Zp,path:`/box`,component:R(()=>Od(()=>import(`./Start-dQPgTPlg.js`),__vite__mapDeps([5,1,3,6,7])),`StartSeite`)}),em=ia({getParentRoute:()=>Zp,path:`/box/updates`,component:R(()=>Od(()=>import(`./Updates-eysoVXbY.js`),__vite__mapDeps([8,1,9,3,10,4,6,11])),`UpdatesSeite`)}),tm=ia({getParentRoute:()=>Zp,path:`/box/modelle`,component:R(()=>Od(()=>import(`./Modelle-Dhlq1FFz.js`),__vite__mapDeps([12,1,13,14,9,15,3,2,4,10,6,11,16])),`ModelleSeite`)}),nm=ia({getParentRoute:()=>Zp,path:`/box/monitoring`,component:R(()=>Od(()=>import(`./Monitoring-CSGIxU_X.js`),__vite__mapDeps([17,1,6,16])),`BoxMonitoringSeite`)}),rm=ia({getParentRoute:()=>Zp,path:`/box/dienste`,component:R(()=>Od(()=>import(`./Dienste-CuaesLC2.js`),__vite__mapDeps([18,1,3,10,4,6])),`DiensteSeite`)}),im=ia({getParentRoute:()=>Zp,path:`/homelab`,component:R(()=>Od(()=>import(`./Homelab-CiUiSfKF.js`),__vite__mapDeps([19,1,9,20,15,3,10,4,6,7])),`HomelabSeite`)}),am=ia({getParentRoute:()=>Zp,path:`/homelab/updates`,component:R(()=>Od(()=>import(`./Homelab-CiUiSfKF.js`),__vite__mapDeps([19,1,9,20,15,3,10,4,6,7])),`HomelabUpdatesSeite`)}),om=ia({getParentRoute:()=>Zp,path:`/homelab/snapshots`,component:R(()=>Od(()=>import(`./HomelabSnapshots-DdOs_WQU.js`),__vite__mapDeps([21,1,20,3,10,4,6])),`HomelabSnapshotsSeite`)}),sm=ia({getParentRoute:()=>Zp,path:`/homelab/monitoring`,component:R(()=>Od(()=>import(`./Monitoring-CSGIxU_X.js`),__vite__mapDeps([17,1,6,16])),`HomelabMonitoringSeite`)}),cm=ia({getParentRoute:()=>Zp,path:`/homelab/protokoll`,component:R(()=>Od(()=>import(`./HomelabProtokoll-B--cXVlt.js`),__vite__mapDeps([22,1,9,15,6])),`HomelabProtokollSeite`)}),lm=ia({getParentRoute:()=>Zp,path:`/einstellungen`,component:R(()=>Od(()=>import(`./Einstellungen-BE1LOt0Z.js`),__vite__mapDeps([23,1,3,10,4])),`EinstellungenSeite`)}),um=ia({getParentRoute:()=>Zp,path:`/updates`,beforeLoad:()=>{throw un({to:`/box/updates`})}}),dm=ia({getParentRoute:()=>Zp,path:`/modelle`,beforeLoad:({location:e})=>{throw un({to:`/box/modelle`,hash:e.hash||void 0})}}),fm=Ca({routeTree:Zp.addChildren([Qp,$p,em,tm,nm,rm,im,am,sm,cm,lm,um,dm,om]),defaultPreload:`intent`,defaultErrorComponent:ka}),pm=`mc_neuladen_wegen_version`;function mm(){window.addEventListener(`vite:preloadError`,e=>{sessionStorage.getItem(pm)||(e.preventDefault(),sessionStorage.setItem(pm,`1`),window.location.reload())}),window.addEventListener(`load`,()=>{window.setTimeout(()=>sessionStorage.removeItem(pm),5e3)})}mm();var hm=new pt({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});(0,Oa.createRoot)(document.getElementById(`root`)).render((0,M.jsx)(j.StrictMode,{children:(0,M.jsx)(se,{client:hm,children:(0,M.jsx)(Ea,{router:fm})})}));export{Jc as $,nc as $t,Yd as A,dc as At,Ju as B,sl as Bt,sf as C,Pa as Cn,wc as Ct,lf as D,I as Dn,uc as Dt,ff as E,Li as En,lc as Et,xd as F,Qc as Ft,ed as G,Uc as Gt,td as H,cc as Ht,Cd as I,$c as It,$u as J,Bc as Jt,K,Sc as Kt,Xu as L,tl as Lt,zd as M,Wc as Mt,Bd as N,Pc as Nt,tf as O,oe as On,Ic as Ot,Od as P,Nc as Pt,el as Q,ic as Qt,Ku as R,pc as Rt,pf as S,Xa as Sn,Cc as St,of as T,ta as Tn,jc as Tt,id as U,Gc as Ut,rd as V,Kc as Vt,Qu as W,mc as Wt,_c as X,$s as Xt,Y,Ac as Yt,ul as Z,rc as Zt,_f as _,Zo as _n,rl as _t,Gf as a,xs as an,Xc as at,hf as b,No as bn,Fc as bt,Jf as c,gs as cn,Oc as ct,Tf as d,Ss as dn,cl as dt,ec as en,qc as et,bf as f,bs as fn,Vc as ft,xf as g,U as gn,al as gt,wf as h,H as hn,nl as ht,Uf as i,Ds as in,Dc as it,Kd as j,Mc as jt,Xd as k,ne as kn,gc as kt,Wf as l,_s as ln,bc as lt,Cf as m,as as mn,Zc as mt,Qf as n,ac as nn,ll as nt,Kf as o,ms as on,vc as ot,yf as p,hs as pn,zc as pt,Zu as q,hc as qt,Xf as r,Hs as rn,Ec as rt,Hf as s,vs as sn,Hc as st,$f as t,tc as tn,dl as tt,qf as u,ys as un,Rc as ut,vf as v,qo as vn,il as vt,cf as w,Da as wn,fc as wt,mf as x,co as xn,kc as xt,gf as y,Fo as yn,Tc as yt,Wu as z,ol as zt}; \ No newline at end of file +\r`.includes(e)?``:encodeURIComponent(e))),Hn(e)}function Wn(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=qn(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Rn];i=Gn(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Rn];i=Gn(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t,n?.ignoreBlocker??!1),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Rn]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r,_getBlockers:()=>e.getBlockers?.()??[]}}function Gn(e,t){let n=Jn();return{...t,key:n,__TSR_key:n,[Rn]:e}}function Kn(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=t=>Un(e?.createHref?e.createHref(t):t),c=e?.parseLocation??(()=>qn(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=Jn();t.history.replaceState({[Rn]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_=()=>{g&&(S._ignoreSubscribers=!0,(g[2]?t.history.pushState:t.history.replaceState)(g[1],``,g[0]),S._ignoreSubscribers=!1,g=void 0,u=void 0)},v=(t,n,r)=>{let i=e?.createHref?s(n):void 0,a=!!g;a||(u=l),l=qn(n,r),g=[i??l.href,r,g?.[2]||t],a||queueMicrotask(()=>_())},y=e=>{l=c(),S.notify({type:e})},b=async()=>{if(m=!1,f){f=!1;return}let e=c(),n=e.state[Rn]-l.state[Rn],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let r=a();if(typeof document<`u`&&r.length){for(let i of r)if(await i.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(-n),S.notify(u);return}}}l=c(),S.notify(u)},x=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Wn({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>v(!0,e,t),replaceState:(e,t)=>v(!1,e,t),back:e=>(e&&(p=!0,m=!0),t.history.back()),forward:e=>{e&&(p=!0,m=!0),t.history.forward()},go:(e,n)=>{d=!0,n&&(p=!0,m=!0),t.history.go(e)},createHref:e=>s(e),flush:_,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Bn,x,{capture:!0}),t.removeEventListener(zn,b)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return S._ignoreNextBeforeUnload=e=>{m=!1;try{e=new URL(e,t.document.baseURI).href,m=/^https?:/.test(e)&&(!e.includes(`#`)||e.split(`#`)[0]!==t.location.href.split(`#`)[0])}catch{}},t.addEventListener(Bn,x,{capture:!0}),t.addEventListener(zn,b),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||y(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||y(`REPLACE`),n},S}function qn(e,t){let n=Un(e),r=n.indexOf(`#`),i=n.indexOf(`?`);if(!t){let e=Jn();t={[Rn]:0,key:e,__TSR_key:e}}return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t}}function Jn(){return(Math.random()+1).toString(36).substring(7)}function Yn(e,t){return e.protocol!==`http:`&&e.protocol!==`https:`||e.origin!==t||!!e.username||!!e.password}function Xn(e){return e.pathname+e.search+e.hash}function Zn(e){return e.options.loader||e.options.beforeLoad||e.lazyFn||e.options.component?.preload||e.options.pendingComponent?.preload}function Qn(e,t){return{fromLocation:t,toLocation:e,pathChanged:t?.pathname!==e.pathname,hrefChanged:t?.href!==e.href,hashChanged:t?.hash!==e.hash}}function $n({key:e,__TSR_key:t,__TSR_index:n,__hashScrollIntoViewOptions:r,...i}){return i}function er(e){return e.findIndex(e=>e.status===`error`||e.status===`notFound`||e._notFound)+1}function tr(e,t,n,r,i,a){r&&(t=t.slice(0,r)),i&&(n=n.slice(0,i));for(let r of t){if(a&&e._tx!==a)return;n.some(e=>e.routeId===r.routeId)||e.routesById[r.routeId].options.onLeave?.(r)}for(let r of n){if(a&&e._tx!==a)return;e.routesById[r.routeId].options[t.some(e=>e.routeId===r.routeId)?`onStay`:`onEnter`]?.(r)}}var nr=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.startTransition=async e=>(e(),!1),this.update=e=>{let t=this.options;this.options={...t,...e},this.isServer=this.options.isServer??!1??typeof document>`u`,this.staticLocations=new WeakMap,this.protocolAllowlist=new Set(this.options.protocolAllowlist),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.history=this.options.history?this.options.history:Kn()),this.origin=this.options.origin,this.origin||=window?.origin&&window.origin!==`null`?window.origin:`http://localhost`;let n=this.options.basepath??`/`,r=this.options.rewrite,i=this.basepath!==n||t?.rewrite!==r||t?.caseSensitive!==this.options.caseSensitive;if(i&&(this.basepath=n,this.rewrite=n!==`/`&&Nt(n)?Pn(n,this.options.caseSensitive,r):r),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;e=this.buildRouteTree(),this.setRoutes(e)}if(this.stores)i&&this.stores.location.set(this.latestLocation);else if(this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=Ln(this.latestLocation,e),$t(this)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=wn(this.routeTree,this.options.caseSensitive);return this.options.routeMasks&&bn(this.options.routeMasks,e.processedTree),{...e,resolvePathCache:fn(1e3)}},this.subscribe=(e,t)=>{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{for(let t of this.subscribers)if(t.eventType===e.type)try{t.fn(e)}catch(e){console.error(e)}},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i},a)=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:x(e),external:!1,searchStr:o,search:s(t?.search,i),hash:x(r.slice(1)),state:T(t?.state,a)}}let o=Fn(this.rewrite,new URL(i,this.origin)),c=this.options.parseSearch(o.search),l=this.options.stringifySearch(c);return o.search=l,{href:o.href.replace(o.origin,``),publicHref:i,pathname:x(Hn(o.pathname)),external:!!this.rewrite&&Yn(o,this.origin),searchStr:l,search:s(t?.search,c),hash:x(o.hash.slice(1)),state:T(t?.state,a)}},r=n(e,e.state),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i,{...i.state,__tempLocation:void 0,key:r.state.key,__TSR_key:r.state.__TSR_key});return e.maskedLocation=r,e}return r},this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>{let t=Object.create(null),n=Cn(Mt(e),this.processedTree,!0);return n&&Object.assign(t,n.rawParams),[n?.branch||[this.routesById.__root__],t,n?.route]},this.buildLocation=e=>{{let t=this.staticLocations.get(e);if(t)return t}let t=!1,n=(n={})=>{if(n.href){let e=qn(n.href,{});n={...n,to:Fn(this.rewrite,new URL(e.pathname,this.origin)).pathname,search:this.options.parseSearch(e.search),hash:e.hash.slice(1)}}let r=n._fromLocation||this._pendingLocation||this.latestLocation,i,a=()=>(t=!0,r),o=()=>(t=!0,i??=this.matchRoutesLightweight(r)),s=n.to?`${n.to}`:`.`,c=Ft(s[0]===`/`?``:n.unsafeRelative===`path`?a().pathname:n.from??o()[1],s,this.options.trailingSlash,this.resolvePathCache),l=this.routesByPath[Mt(c)],u=c.includes(`$`),f;if(l)f=l._branch??=Dn(l);else if(u)f=[];else{let[e,t,n]=this.getMatchedRoutes(c);f=e,this.options.notFoundRoute&&(!n||n.path!==`/`&&t[`**`])&&(f=[...f,this.options.notFoundRoute])}let p=u?l?._interpolation??_n(!1,{fullPath:c},0):void 0,m;for(let e of f){let t=e.options.params?.stringify??e.options.stringifyParams;if(t){let e=o()[3];if(m??=sr(n.params,e),!d(m))break;m===e&&(m=Object.assign(v(),m));try{Object.assign(m,t(m))}catch{}}}m??=sr(n.params,cr(n.params,p)?o()[3]:lr);let g=e.leaveParams?c:Hn(x(p?zt(c,p,m,this.pathParamsDecoder):c)),_=ur(f,e._includeValidateSearch),y=()=>{let t=o()[2];if(e._includeValidateSearch&&this.options.search?.strict){let e={};f.forEach(n=>{if(n.options.validateSearch)try{Object.assign(e,or(n.options.validateSearch,{...e,...t}))}catch{}}),t=e}return t},b=_.length?dr(_,y(),n):n.search===!0?y():typeof n.search==`function`?n.search(y()):n.search||lr,S=this.options.stringifySearch(b),C=n.hash===!0?a().hash:typeof n.hash==`function`?n.hash(a().hash):n.hash||void 0,w=C?`#${C}`:``,T=n.state?n.state===!0?a().state:typeof n.state==`function`?n.state(a().state):n.state:lr,E=`${g}${S}${w}`,D,O,k=!1;if(this.rewrite){let e=new URL(E,this.origin),t=e.origin,n=In(this.rewrite,e);D=Xn(e),Yn(n,t)?(O=n.href,k=!0):O=Hn(Xn(n))}else D=h(E),O=D;return{publicHref:O,href:D,pathname:g,search:b,searchStr:S,state:T,hash:C??``,external:k,unmaskOnReload:n.unmaskOnReload}},r=n(e);if(e.mask)r.maskedLocation=n({from:e.from,...e.mask});else if(this.options.routeMasks){let t=xn(r.pathname,this.processedTree);if(t){let i=Object.assign(v(),t.rawParams),{from:a,params:o,...s}=t.route,c=sr(o,i);r.maskedLocation=n({from:e.from,...s,params:c})}}return!t&&e._fromLocation&&!r.maskedLocation&&this.staticLocations.set(e,r),r},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r=n.maskedLocation??n;if(r.external)return rr(this,r.publicHref,{replace:n.replace,ignoreBlocker:t});let i,a=Mt(this.latestLocation.href)===Mt(n.href)&&l($n(n.state),$n(this.latestLocation.state)),o=this._commitPromise,s,c=new Promise(e=>{s=e});if(c.resolve=()=>{s(),o?.resolve()},this._commitPromise=c,a)this.load();else{let{maskedLocation:r,hashScrollIntoView:a,...o}=n;r&&(o={...r,state:{...r.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state={...o.state,__hashScrollIntoViewOptions:a??this.options.defaultHashScrollIntoView??!0},this.shouldViewTransition=e,i=n.replace?`REPLACE`:`PUSH`,this.history[i===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t}),this.history.subscribers.size||this.load({action:{type:i}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,...a}={})=>{let o=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=o;let s=this.commitLocation({...o,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return queueMicrotask(()=>{this._pendingLocation===o&&(this._pendingLocation=void 0)}),s},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=n?u(n):void 0;if(a||t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i}),a=t.maskedLocation??t;n??=a.publicHref,r??=a.publicHref}let t=!a&&r?r:n;return rr(this,t,i)}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.load=async e=>{this.updateLatestLocation(),e?.action&&(this._scroll.hash=e.action.type===`PUSH`||e.action.type===`REPLACE`),await ri(this,e)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&window.CSS?.supports?.(`selector(:active-view-transition-type(a))`)){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Qn(r,i)):t.types;if(a===!1)return e();n={update:e,types:a}}else n=e;return document.startViewTransition(n).updateCallbackDone}return e()},this.invalidate=e=>{let t=this._committed,n=e?.filter,r=this._preloads,i=new Set,a=e=>{(!n||n(e))&&i.add(e.id)};t.forEach(a),this._cache.forEach(a),r?.forEach(e=>e.forEach(a)),this._tx?.[3].forEach(a);let o=[];for(let[e,t]of r??[])t.some(e=>i.has(e.id))&&(r.delete(e),o.push(e));let s=t=>{if(i.has(t.id)){let n=this.routesById[t.routeId],r={...t,invalid:!0,...(e?.forcePending||t.status===`error`||t.status===`notFound`)&&Zn(n)?{status:`pending`,error:void 0}:void 0};return t._flight=void 0,r}return t};this._committed=t.map(s);for(let[t,n]of this._cache)i.has(t)&&(n.invalid=!0,e?.forcePending&&(n.status=`pending`));for(let e of i)this._flights?.delete(e);for(let e of o)e.abort();return this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.resolveRedirect=e=>{let t=e.options,n=e.headers.get(`Location`)||t.href;if(!n){let e=this.buildLocation(t);n=(e.maskedLocation??e).publicHref||`/`}let r;if(w.test(n)||(r=u(n))&&!this.protocolAllowlist.has(r))throw Error(`Redirect blocked: unsafe protocol`);if(r===`http:`||r===`https:`){let e=new URL(n);e.pathname.startsWith(`//`)?n=e.href:Yn(e,this.origin)||(n=Xn(e),r=void 0)}return r&&(t.reloadDocument=!0),t.href=n,e.headers.set(`Location`,n),e},this.clearCache=e=>{let t=this._cache,n=this._preloads,r=e?.filter,i=[],a=[];for(let[e,n]of t)(!r||r(n))&&(a.push(e),i.push(n));let o=[];for(let[e,t]of n??[])(!r||t.some(r))&&(o.push(e),i.push(...t));for(let e of a)t.delete(e);for(let e of o)n.delete(e);for(let e of i){let t=e._flight;e._flight=void 0,t&&!--t[2]&&(this._flights?.get(e.id)===t&&this._flights.delete(e.id),o.push(t[1]))}for(let e of o)e.abort()},this.loadRouteChunk=gr,this.preloadRoute=e=>ii(this,e),this.matchRoute=(e,t)=>{let n={...e,to:e.to?Ft(e.from||``,e.to,this.options.trailingSlash,this.resolvePathCache):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n),i=this.stores.status.get()===`pending`;if(t?.pending&&!i)return!1;let a=t?.pending??!i?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),o=Sn(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,a.pathname,this.processedTree);return!o||e.params&&!l(o.rawParams,e.params,!0)?!1:t?.includeSearch??!0?l(a.search,r.search,!0)?o.rawParams:!1:o.rawParams},this.getStoreConfig=t,e.pathParamsAllowedCharacters?.length&&(this.pathParamsDecoder=It(e.pathParamsAllowedCharacters)),this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??on,parseSearch:e.parseSearch??an,protocolAllowlist:e.protocolAllowlist??m}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes(e){Object.assign(this,e),this.lightweightCache=new WeakMap,this.staticLocations=new WeakMap;let t=this.options.notFoundRoute;t&&(t.init(99999999999),this.routesById[t.id]!==t&&(t._interpolation=_n(!1,t,0)),this.routesById[t.id]=t)}matchRoutesInternal(e,t){let[n,r,i]=this.getMatchedRoutes(e.pathname),a=n,o=!1;(i?i.path!==`/`&&r[`**`]:Mt(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let c=o?fr(this.options.notFoundMode,a):void 0,l=Array(a.length),u=this._committed,d=(e,t)=>{let n=u[t];return n?.routeId===e.id?n:e===this.options.notFoundRoute?u.find(t=>t.routeId===e.id):void 0},f;for(let n=0;ntypeof t!=`string`&&!y.call(e,t[1]))}var lr=Object.freeze({});function ur(e,t){let n=[];for(let r=0;r{let n=t(i.preSearchFilters?i.preSearchFilters.reduce((e,t)=>t(e),e):e);return i.postSearchFilters?i.postSearchFilters.reduce((e,t)=>t(e),n):n});let a=i.validateSearch;t&&a&&n.push(({search:e,next:t,meta:n})=>{let r=t(e);try{let e=or(a,r);if(n&&e)for(let t in e)t in r||(n.defaulted||=new Map).set(t,e[t]);return{...r,...e}}catch{}return r})}return n}function dr(e,t,n){let r=(t,i,a)=>{if(t>=e.length){if(!n.search)return{};if(n.search===!0)return i;let e=C(n.search,i);return a&&(a.explicit=e),e}return e[t]({search:i,next:(e,n)=>{if(n){let n=a||{};return{search:r(t+1,e,n),meta:n}}return r(t+1,e,a)},meta:a})};return r(0,t)}function fr(e,t){if(e!==`root`){let e;for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.options.notFoundComponent)return r.id;e||=r.children&&r.id}if(e)return e}return ln}function pr(e,t){let n=e.options.params?.parse??e.options.parseParams;n&&Object.assign(t,n(t))}function mr(e,t){return e.options[t]?.preload?.()}function hr(e,t){let n=mr(e,`component`),r=mr(e,`pendingComponent`);return t&&(r?r=r.then(t):t()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}function gr(e,t,n){let r=()=>t===!1?void 0:t?mr(e,t):hr(e,n),i=e._lazy;if(i)return i===!0?r():i.then(r);if(!e.lazyFn)return r();let a=e.lazyFn().then(t=>{{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazy=!0}},t=>{throw e._lazy=void 0,t});return e._lazy=a,a.then(r)}function _r(e){let t=e.findIndex(e=>e.status!==`success`||e._notFound)+1;return t&&t{let i=()=>r(t);t.addEventListener(`abort`,i,{once:!0}),Promise.resolve(e).then(n,r).then(()=>t.removeEventListener(`abort`,i))})}function Tr(e,t){return e.routesById[t.routeId]}function Er(e,t,n){return dn(e)?[xr,e]:Bt(e)?(e.routeId||=n,[br,e]):t?(typeof e?.then==`function`&&(e=Error(`A Promise was thrown`,{cause:e})),[yr,e]):[vr,e]}function Dr(e,t){let n=Er(t,!0,e.id);if(n[0]!==yr)return n;try{e.options.onError?.(n[1])}catch(t){n=Er(t,!0,e.id)}return n}function Or(e,t,n,r,i){return i[0].signal.aborted?Sr:Wr(e,t,n,Dr(n,r),i)}async function kr(e,t,n,r,i,a){let[o,s]=t,c=n[0].signal,l=!!n[3];for(let i=n[6]??0;ie.navigate({...t,_fromLocation:o}),buildLocation:e.buildLocation,cause:l?`preload`:r.cause,abortController:n[0],preload:l,matches:s,routeId:u.id};try{let e=r._ctx||=u.options.context?u.options.context({...f,deps:r.loaderDeps,context:d})||{}:void 0;r.context={...d,...e}}catch(a){return jr(e,r),[i,Or(e,t,u,a,n)]}if(c.aborted)return[i,Sr];let p=r.paramsError??r.searchError;if(p!==void 0)return jr(e,r),[i,Or(e,t,u,p,n)];let m=u.options.beforeLoad;if(!m)continue;let h=r.status;i>=a&&(r.status=`pending`,n[7]?.());try{Pr(e,r,`beforeLoad`,n[0]);let a=m({...f,search:r.search,context:r.context,...e.options.additionalContext}),o=await(typeof a?.then==`function`?wr(a,c):a);if(c.aborted)return[i,Sr];let s=Wr(e,t,u,Er(o,!1,u.id),n);if(s[0]!==vr)return jr(e,r),[i,s];r.context={...r.context,...o}}catch(a){return jr(e,r),[i,Or(e,t,u,a,n)]}finally{r.status=h,Pr(e,r,!1,n[0])}}i()}function Ar(e,t,n){if(!(!n||--n[2])){if(e._flights?.get(t.id)===n){let n=e._tx;if(n&&!n[0].signal.aborted&&!n[3].includes(t)&&n[3].some(e=>e.id===t.id)&&n[3].some(e=>e.isFetching===`beforeLoad`))return;e._flights.delete(t.id)}return n[1]}}function jr(e,t){let n=t._flight;t._flight=void 0,Ar(e,t,n)?.abort()}function Mr(e,t,n,r){let i=[];for(let a of t)if(!n?.includes(a)){let t=a._flight;if(a._flight=void 0,r&&t?.[2]===1&&e._flights?.get(a.id)===t&&n?.some(e=>e.id===a.id))t[2]=0;else{let n=Ar(e,a,t);n&&i.push(n)}}for(let e of i)e.abort()}function Nr(e){for(let t of e){let e=t._flight;e&&e[2]++}}function Pr(e,t,n,r){if(t.isFetching=n,r&&e._tx?.[0]!==r)return;let i=e.stores.byRoute.get(t.routeId),a=i?.get();a?.id===t.id&&i.set({...a,isFetching:n})}function Fr(e,t,n,r,i,a,o){let s=t[0];return{params:n.params,location:s,navigate:t=>e.navigate({...t,_fromLocation:s}),cause:o?`preload`:n.cause,abortController:i,preload:o,deps:n.loaderDeps,parentMatchPromise:a,context:n.context,route:r,...e.options.additionalContext}}async function Ir(e,t,n,r,i,a,o){let s=o[0],c=s.signal;if(c.aborted)return Sr;if(!i)return[vr,void 0];let l=n._flight;Pr(e,n,`loader`,s);try{if(!l){let s=new AbortController;l=[Promise.resolve().then(()=>i(Fr(e,t,n,r,s,a,!!o[3]))).then(e=>Er(e,!1,r.id),e=>Er(e,!0,r.id)).then(t=>(t[0]!==vr&&e._flights?.get(n.id)===l&&(e._flights.delete(n.id),l[2]||s.abort()),t[0]===yr&&l[2]?Dr(r,t[1]):t)),s,1],(e._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],Wr(e,t,r,await wr(l[0],c),o)}catch(t){if(t!==c||!c.aborted)throw t;return jr(e,n),Sr}finally{Pr(e,n,!1,s)}}function Lr(e,t,n){t[0]!==xr&&(e.status=`success`,e.error=void 0,t[0]===vr?(e.loaderData=t[1],e.invalid=!1,e.updatedAt=Date.now(),e.preload=n):e.invalid=!0)}function Rr(e,t,n){let r=e._cache.get(t.id);if(r!==n||e._committed.some(e=>e.id===t.id&&e._flight===t._flight))return;let i={...t,_notFound:void 0,context:{}};i._flight&&i._flight[2]++,e._cache.set(t.id,i),r&&jr(e,r)}function zr(e,t){return t[0]===yr||t[0]===br?{...e,status:t[0]===yr?`error`:`notFound`,error:t[1],_flight:void 0}:e}function Br(e,t,n,r,i,a,o){let s=t[1][n],c=Tr(e,s),l=!!a[3],u=e._cache.get(s.id),d,f=!1,p;try{if(s.status===`success`&&(d=c.options.shouldReload,typeof d==`function`&&(d=d(Fr(e,t,s,c,a[0],i,l))),a[0].signal.aborted&&(p=Sr)),!p){if(s.status!==`success`)f=!0;else{let t=l||s.preload?c.options.preloadStaleTime??e.options.defaultPreloadStaleTime??3e4:c.options.staleTime??e.options.defaultStaleTime??0;f=!!(s.invalid||d||d===void 0&&Date.now()-s.updatedAt>=t&&(a[5]||s.cause===`enter`||a[2].some(e=>e.routeId===s.routeId&&e.id!==s.id)))}}}catch(n){s.invalid=!0,jr(e,s),p=Or(e,t,c,n,a)}let m=c.options.loader,h=typeof m==`function`,g=h?m:m?.handler,_=!l||c.options.preload!==!1,v=_&&m?e._flights?.get(s.id):void 0;v===s._flight||p?v=void 0:v&&!f&&!l&&d===void 0?f=!0:f||(v=void 0);let y=!(!m||!f||s.status!==`success`||l||a[4]||((h?void 0:m.staleReloadMode)??e.options.defaultStaleReloadMode)===`blocking`),b=f&&_,x=b&&!y&&(s.status!==`success`||!!m),S=n>=o?a[7]:void 0,C=c.lazyFn&&c._lazy!==!0?S:void 0;if(b&&!m&&(s.invalid=!1,s.updatedAt=Date.now()),v&&v[2]++,x){let t=s._flight;s._flight=v,Ar(e,s,t)?.abort(),n>=o&&(s.status=`pending`),S?.()}b||(s.isFetching=!1);let w=!p&&x?Ir(e,t,s,c,g,i,a).then(t=>(Lr(s,t,l),t[0]===vr&&(m&&!a[0].signal.aborted&&Rr(e,s,u),n>=o&&(s.status=`pending`)),t)):Promise.resolve(p??[vr,s.loaderData]),T=(async()=>{try{let e=gr(c,void 0,C);e&&await wr(e,a[0].signal)}catch(r){if(!t[1].some((e,t)=>t<=n&&(e.status===`error`||e.status===`notFound`||e._notFound)))return[n,Or(e,t,c,r,a)]}let r=await w;x&&r[0]===vr&&s.status===`pending`&&!a[0].signal.aborted&&(s.status=`success`,S?.())})();if(r.push([n,w,T]),!y)return w.then(e=>zr(s,e));let E={...s,status:`pending`,preload:!1,_flight:v};s.invalid=!1,s.isFetching=`loader`;let D=Ir(e,t,E,c,g,i,a).then(e=>(s.isFetching=!1,Lr(E,e,!1),e));return(t[2]??=[]).push([n,D,T,E]),D.then(e=>zr(E,e))}async function Vr(e,t,n,r,i=0){let a=n?.[1][1],o=a?.routeId?t.findIndex(e=>e.routeId===a.routeId):n?.[0]??t.length-1;o<0&&(o=0);for(let n=o;n>=0;n--){let i=Tr(e,t[n]);try{let e=gr(i,!1);e&&await wr(e,r)}catch(e){if(e===r&&r.aborted)throw e}if(i.options.notFoundComponent)return n}return a?.routeId?o:i}function Hr(e,t){t[2]&&=(Mr(e,t[2].map(e=>e[3])),void 0)}async function Ur(e,t,n,r){let i;try{await Promise.all(e.map(e=>e[1].then(async t=>{let a=e[0];if(!(r&&a>=await r)){if(t[0]>=xr)throw[a,t];!i&&t[0]!==vr&&(i=[a,t],await Promise.all((n??[]).map(e=>{if(!(e[0]<=a))return e[1].then(t=>{if(t[0]===xr)throw[e[0],t]})})))}})))}catch(e){return e}return t??i}function Wr(e,t,n,r,i,a){for(;r[0]===xr;){let o=r[1],s=o.options;try{if((s.href||o.headers.has(`Location`))&&(e.resolveRedirect(o),s.reloadDocument)||(s.reloadDocument?i[3]:i[1]>=20))return r;let n=e.buildLocation({...s,_fromLocation:t[0],_includeValidateSearch:!0}),a=n.maskedLocation??n;if(a.external){let t=o.clone();return t.options={...s},t.headers.set(`Location`,a.publicHref),e.resolveRedirect(t),i[3]?[xr,t]:[xr,t,a]}return[xr,o,n]}catch(e){r=a?[yr,e]:Dr(n,e),a=!0}}return r}async function Gr(e,t,n,r,i,a){let o=t[1],s=await i,c=!1,l=o.findIndex(e=>e._notFound),u=t=>t[1][0]===br?Vr(e,o,t,r.signal):t[0],d=l<0?o.length:l;if((s?.[1][0]??0)>=xr)d=0;else if(s){d=s[2]??=await u(s);for(let e of n){if(e[0]>=d)break;let t=await e[1];if(t[0]!==vr&&t[0]=d)break;let t=await e[2];if(t){s=t;break}}if((s?.[1][0]??0)>=xr){let n=s[1];if(n[0]!==xr||n[1].options.reloadDocument||n[2])return Hr(e,t),n;c=!0,s=[0,[yr,Error(`Too many redirects`)]]}let f=s?s[2]??await u(s):l;if(f>=0){let i=s?.[1],l=i?.[0],u=o[f],d=i?.[1],p=()=>{i&&(u._notFound=void 0,l===yr?u.status=`error`:(d.routeId=u.routeId,u.routeId===e.routeTree.id?(u.status=`success`,u._notFound=!0):u.status=`notFound`),u.error=d,u.isFetching=!1)};p(),i||a?.();let m=Tr(e,u);try{await wr(i?Promise.resolve().then(()=>gr(m,l===yr?`errorComponent`:`notFoundComponent`)):Promise.all([gr(m),gr(m,`notFoundComponent`)]),r.signal)}catch(n){if(n===r.signal&&r.signal.aborted)return Hr(e,t),Sr}i?c&&(r.abort(),await Promise.all([...n.map(e=>e[1]),...n.map(e=>e[2]),...(t[2]??[]).map(e=>e[1])]),Hr(e,t),Mr(e,o),p()):u.status=`success`}return t}async function Kr(e,t,n,r=0,i=t[1].length){let a=t[1];for(let t=r;te._notFound);if(e.options.notFoundMode!==`root`&&s>=0){let t=await Vr(e,n,void 0,a,s);n[s]._notFound=void 0,n[t]._notFound=!0,s=t}let c=s<0?n.length:s+1,l=0;for(;l{for(let t=d;t=xr&&(c=0);p()}if(!a.aborted&&!r[3]){let t=[];for(let[n,r]of e._flights??[])r[2]||(e._flights.delete(n),t.push(r[1]));for(let e of t)e.abort()}let h=Gr(e,i,u,r[0],Ur(u,m,i[2]),r[7]);i[2]?.length&&(i[3]=Ur(i[2],void 0,void 0,h.then(e=>Cr(e)?0:_r(n).length,()=>0))),o=await h}catch(t){if(Hr(e,i),t===a&&a.aborted)return Sr;throw t}return Cr(o)?o:Kr(e,o,a,r[6]===n.length?r[6]:0)}function Jr(e,t){if(e._tx!==t)return;let n=t[3],r=e.stores.matches.get(),i=e._pending;for(let a=0;a0){i[3]=setTimeout(()=>Jr(e,t),n);return}i[2]=0}let m=n.map(e=>({...e,_flight:void 0}));m[a].status=`pending`;let h=i[4]=e.startTransition(()=>e.stores.setMatches(m),m).then(t=>(t&&e._pending===i&&i[4]===h&&!i[2]&&(i[2]=Date.now()+f),t));return}}function Yr(e,t){let n=e._pending;(e._tx===t||!e._tx?.[3].some(e=>e.id===n?.[1]))&&(clearTimeout(n?.[3]),e._pending=void 0)}async function Xr(e,t){let n=e._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!_r(t[3]).some(e=>e.id===n[1]))return;let i;try{await wr(new Promise(e=>{i=setTimeout(e,r)}),t[0].signal)}catch{}clearTimeout(i)}function Zr(e,t){e._committed=t,e.stores.setMatches(t)}function Qr(e,t,n,r){let i=e._committed,a=e._lifecycleEnd,o=e._cache;for(let e of n)e.preload=!1,r&&(e._assetEnd=void 0);let s=_r(n).length,c=new Map;{let t=Date.now(),r=new Set;for(let e=0;e=(n.preload?i.options.preloadGcTime??e.options.defaultPreloadGcTime??3e5:i.options.gcTime??e.options.defaultGcTime??3e5)||c.set(n.id,o.get(n.id)===n?n:{...n,_flight:void 0,isFetching:!1,context:{}})}}t[3]=[],e._cache=c;let l=e._lifecycleEnd=er(n);Zr(e,n),Mr(e,[...o.values(),...i].filter(e=>e._flight&&c.get(e.id)!==e),n),tr(e,i,n,a,l,t)}async function $r(e,t){let n=e._tx;for(;n&&n!==t;)t=n,await n[5],n=e._tx}function ei(e,t,n){let r=n[1].options,i=n[2];if(!i)return e.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return e.navigate({href:(i.maskedLocation??i).publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});i._redirects=t[1]+1,e._pendingLocation=i;let a=e.commitLocation({...i,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{e._pendingLocation===i&&(e._pendingLocation=void 0)}),a}async function ti(e,t,n,r,i){let a=n.map(e=>({...e}));Nr(a);for(let t of r)jr(e,a[t[0]]),a[t[0]]=t[3];let o=[t[2],a],s;try{s=await Gr(e,o,r,t[0],i)}catch(t){throw Mr(e,a),t}if(Cr(s)){Mr(e,a),s[0]===xr&&e._tx===t&&e._committed===n&&await ei(e,t,s);return}if(await Kr(e,s,t[0].signal),e._tx!==t||e._committed!==n){Mr(e,a);return}for(let t of a){let n=e._cache.get(t.id);n?._flight&&n._flight===t._flight&&(e._cache.delete(t.id),jr(e,n))}Zr(e,a),Mr(e,n,a)}async function ni(e,t,n,r,i,a){let o=await qr(e,t[2],t[3],[t[0],t[1],e._committed,void 0,i,n,a,r]);if(Cr(o)){let n=o[0]===xr&&e._tx===t;if((!n||o[1].options.reloadDocument)&&Yr(e,t),Mr(e,t[3]),t[3]=[],!n)return;if(e._tx!==t){Yr(e,t);return}await ei(e,t,o);return}let s=o[1];if(e._tx===t&&await Xr(e,t),e._tx!==t){Yr(e,t),Mr(e,s),Hr(e,o);return}let c=t[2],l=Qn(c,e.stores.resolvedLocation.get()),u=o[2];await e.startViewTransition(async()=>{if(e._tx===t&&await Xr(e,t),e._tx!==t){Yr(e,t),Mr(e,s),Hr(e,o);return}let n=await e.startTransition(()=>{Yr(e,t),Qr(e,t,s,a),e._tx===t&&(e.emit({type:`onLoad`,...l}),e._tx===t&&e.emit({type:`onBeforeRouteMount`,...l}))},s);if(e._tx!==t){Hr(e,o);return}u?.length&&ti(e,t,s,u,o[3]).catch(console.error),e.batch(()=>{e.stores.resolvedLocation.set(c),e.stores.status.set(`idle`),e._tx===t&&e.emit({type:`onResolved`,...l}),n&&e._tx===t&&e.emit({type:`onRendered`,...l})}),e._tx===t&&(e._commitPromise?.resolve(),e._commitPromise=void 0)})}async function ri(e,t){let n=e._tx,r=e.stores.resolvedLocation.get(),i=r??e.stores.location.get(),a=e.latestLocation,o=e._pendingLocation,s=o?.href===a.href?o._redirects??0:0,c=e._handoff,l=c?.[0](),u=new AbortController,d=e._preflight;if(e._preflight=u,l||c?.[1](),d?.abort(),!u.signal.aborted){let t=Qn(a,r);e.emit({type:`onBeforeNavigate`,...t}),u.signal.aborted||e.emit({type:`onBeforeLoad`,...t})}if(u.signal.aborted){await $r(e,n);return}let f=i.href===a.href,p=u,m=e.matchRoutes(a,{_controller:u});Nr(m);let h=l?c[1](m):void 0;if(h?p=l:l?.abort(),u.signal.aborted){Mr(e,m),await $r(e,n);return}e._preflight=void 0;let g,_=()=>ni(e,y,f,()=>Jr(e,y),t?.sync,h),v=t?.sync?new Promise(e=>g=e):Promise.resolve().then(_),y=[p,s,a,m,Date.now(),v.then(()=>$r(e,y))];if(e._tx=y,n){for(let t of e.stores.matches.get()){if(e._tx!==y)break;t.isFetching&&Pr(e,t,!1)}n[0].abort(),Mr(e,n[3],y[3],!0)}if(e._tx!==y){Mr(e,y[3]),y[3]=[],g?.(),await $r(e,y);return}e.batch(()=>{e.stores.status.set(`pending`),e.stores.location.set(a)}),(h||!e._committed.length&&m[0]?.status!==`success`&&!m.some(e=>e._notFound))&&Jr(e,y),g?.(_()),await y[5]}async function ii(e,t){let n=e.buildLocation(t);for(let t=0;;t++){let r=e._committed,i=new AbortController,a,o,s;try{try{a=e.matchRoutes(n,{_controller:i}),Nr(a),o=(e._preloads??=new Map).set(i,a),s=await qr(e,n,a,[i,t,r,!0])}finally{o&&(o=o.delete(i),Mr(e,a)),i.abort()}if(!Cr(s))return s[1];if(!o||s.length<3)return;n=s[2]}catch(e){Bt(e)||console.error(e);return}}}var ai=`Error preloading route! ☝️`,oi=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e,this._branch=void 0;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=ln:this.parentRoute||E();let r=n?ln:t?.path;r&&r!==`/`&&(r=jt(r));let i=t?.id||r,a=n?ln:At((this.parentRoute.id===`__root__`?``:this.parentRoute.id)+`/`+(i??``));r===`__root__`&&(r=`/`);let o=a===`__root__`?`/`:r===void 0?this.parentRoute.fullPath:At(this.parentRoute.fullPath+`/`+r);this._path=r,this._id=a,this._fullPath=o,this._to=Mt(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>un({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},si=class extends oi{constructor(e){super(e)}},ci=class extends j.Component{constructor(...e){super(...e),this.state={error:0},this.reset=()=>{this.setState({error:0})}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:0}:{resetKey:n}}static getDerivedStateFromError(e){return{error:[e]}}componentDidCatch(e,t){this.props.onCatch?.(e,t)}render(){let e=this.state.error;return e?j.createElement(this.props.errorComponent??li,{error:e[0],reset:this.reset}):this.props.children}};function li({error:e}){let[t,n]=j.useState(!1);return(0,M.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,M.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,M.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,M.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,M.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,M.jsx)(`div`,{children:(0,M.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e?.message?(0,M.jsx)(`code`,{children:e.message}):null})}):null]})}var ui=()=>!0,di=()=>!1;function fi({children:e,fallback:t=null}){return(0,M.jsx)(j.Fragment,{children:pi()?e:t})}function pi(e=!0){return j.useSyncExternalStore(mi,ui,e?di:ui)}function mi(){return()=>{}}function hi({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(1)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(1)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}function gi(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var _i=[],vi=0,{link:yi,unlink:bi,propagate:xi,checkDirty:Si,shallowPropagate:Ci}=hi({update(e){return e._update()},notify(e){_i[Ti++]=e,e.flags&=-3},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=17,ki(e))}}),wi=0,Ti=0,Ei,Di=0;function Oi(e){try{++Di,e()}finally{--Di||Ai()}}function ki(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=bi(n,e)}function Ai(){if(!(Di>0)){for(;wi{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=Ei,o=t?.compare??Object.is;if(n)Ei=i,++vi,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=5);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{Ei=a,n&&(i.flags&=-5),ki(i)}}};return n?(i.flags=17,i.get=function(){let e=i.flags;if(e&16||e&32&&Si(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&Ci(e)}}else e&32&&(i.flags=e&-33);return Ei!==void 0&&yi(i,Ei,vi),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(xi(e),Ci(e),Ai())}},i}function Mi(e){let t=()=>{let t=Ei;Ei=n,++vi,n.depsTail=void 0,n.flags=6;try{return e()}finally{Ei=t,n.flags&=-5,ki(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:6,notify(){let e=this.flags;e&16||e&32&&Si(this.deps,this)?t():this.flags=2},stop(){this.flags=0,this.depsTail=void 0,ki(this)}};return t(),n}function Ni(e){return k({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function Pi(e){let{select:t,...n}=e;return k({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function Fi(e){return k({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function Ii(e){return k({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function Li(e){let t=_();return j.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Ri(e){let t=_(),n=Li(),r=j.useRef(null);return kt(()=>{r.current!==e&&(n(e),r.current=e)},[t,e,n]),null}function zi(e){return k({...e,select:t=>e.select?e.select(t.context):t.context})}function Bi(...e){let t=j.useRef(e),n=t.current;return e.forEach((e,t)=>{l(n[t],e,!1,!0)||(n[t]=e)}),t.current}function Vi(e,t){e.preloadRoute(t).catch(e=>{console.warn(e),console.warn(ai)})}var Hi={compare:(e,t)=>e[0]===t[0]&&e[1]===t[1]};function Ui(e,t){let n=typeof e==`string`&&u(e);if(n)return t.has(n)?e:null}function Wi(e,t,n,r,i){let a=Pt(e.pathname,r),o=Pt(t.pathname,r);return(n?.exact?a!==o:!a.startsWith(o)||a.length!==o.length&&a[o.length]!==`/`)||(n?.includeSearch??!0)&&!l(e.search,t.search,!n?.exact,n?.explicitUndefined)?!1:!n?.includeHash||i&&e.hash===t.hash}function Gi(e,t,n){let r=_(),i=j.useRef(null),a=j.useCallback(e=>{if(i.current=e,typeof t==`function`)return t(e);t&&(t.current=e)},[t]),{activeOptions:o,to:s,preload:c,preloadDelay:l,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:h,ignoreBlocker:g,disabled:v,target:y,onClick:b,onBlur:x,onFocus:C,onMouseEnter:w,onMouseLeave:T,onTouchStart:E}=e,D=pi(!!o?.includeHash),[O,k,ee]=Bi(e.search,e.params,o),[A,te]=j.useMemo(()=>[e,{...e}],[r,e.from,e._fromLocation,e.hash,e.to,O,k,e.state,e.mask,e.unsafeRelative]),ne=j.useCallback(e=>{let t=Ui(s,r.protocolAllowlist);if(t!==void 0)return[t??void 0];A._fromLocation||(te._fromLocation=e);let n=r.buildLocation(te),i=ea(n,r,v);return[i,!v&&(!i||u(i))?void 0:Wi(e,n,ee,r.basepath,D)]},[ee,v,D,A,te,r,s]),[re,ie]=S(r.stores.location,ne,Hi),M=ie===void 0?re:void 0,ae=v||re===void 0,oe=j.useRef(!1),se=e.reloadDocument||M||ae?!1:c??r.options.defaultPreload,ce=l??r.options.defaultPreloadDelay??0,le=j.useCallback(e=>{let t=e?.isIntersecting;if(!(t??se===`intent`)){t===!1&&Qi(i);return}if(!ce){Vi(r,A);return}Zi.has(i)||Zi.set(i,setTimeout(()=>{Zi.delete(i),Vi(r,A)},ce))},[r,A,i,se,ce]);j.useEffect(()=>{se===`render`&&!oe.current&&(oe.current=!0,Vi(r,A));let e;return se===`viewport`&&i.current&&typeof IntersectionObserver==`function`&&(e=new IntersectionObserver(e=>le(e.pop()),{rootMargin:`100px`}),e.observe(i.current)),()=>{e?.disconnect(),Qi(i)}},[r,A,se,le,i]);let ue=Yi(e,n);if(ue.ref=t?a:i,M)return ue.href=M,ue;let de=e=>{let t=y??e.currentTarget.getAttribute(`target`);!ae&&!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(!t||t===`_self`)&&e.button===0&&(e.preventDefault(),r.navigate({...A,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:h,ignoreBlocker:g}))},fe=()=>{se===`intent`&&Vi(r,A)},pe=()=>{se===`intent`&&Qi(i)};return ue.onClick=$i(b,de),ue.onBlur=$i(x,pe),ue.onFocus=$i(C,le),ue.onMouseEnter=$i(w,le),ue.onMouseLeave=$i(T,pe),ue.onTouchStart=$i(E,fe),Xi(ue,e,ie,re,ae,n)}var Ki={},qi={className:`active`},Ji=new Set([`to`,`params`,`search`,`hash`,`state`,`mask`,`from`,`unsafeRelative`,`_fromLocation`,`reloadDocument`,`preload`,`preloadDelay`,`preloadIntentProximity`,`hashScrollIntoView`,`replace`,`startTransition`,`resetScroll`,`viewTransition`,`ignoreBlocker`,`activeProps`,`inactiveProps`,`activeOptions`,`_asChild`]);function Yi(e,t){let n={};for(let r in e)Ji.has(r)||r===`type`&&t!==void 0||r===`disabled`&&t===`a`||(n[r]=e[r]);return n}function Xi(e,t,n,r,i,a){let{activeProps:o,inactiveProps:s,className:c,style:l,target:u}=t,d=C(n?o:s,{})??(n?qi:Ki);Object.assign(e,d),e.href=r,a!==`a`&&(e.disabled=i),e.target=u;let f=d.style;(l||f)&&(e.style=l&&f?{...l,...f}:l||f);let p=d.className;return(c||p)&&(e.className=c?p?`${c} ${p}`:c:p),i&&(e.role=`link`,e[`aria-disabled`]=!0),n&&(e[`data-status`]=`active`,e[`aria-current`]=`page`),e}var Zi=new WeakMap,Qi=e=>{clearTimeout(Zi.get(e)),Zi.delete(e)},$i=(e,t)=>e?n=>n.defaultPrevented||(e(n),n.defaultPrevented||t(n)):t;function ea(e,t,n){if(n)return;let r=e.maskedLocation??e,i=r.external?r.publicHref:t.history.createHref(r.publicHref)||`/`;if(!r.external&&i===r.publicHref||!g(i,t.protocolAllowlist))return i}var ta=j.memo(j.forwardRef((e,t)=>{let n=e._asChild||`a`,r=Gi(e,t,n),i=typeof e.children==`function`?e.children({isActive:r[`data-status`]===`active`}):e.children;return j.createElement(n,r,i)}),na);function na(e,t){let n=0;for(let r in t)if(n++,e[r]!==t[r]&&(!Ji.has(r)||!l(e[r],t[r],!1,!0)))return!1;for(let t in e)n--;return n===0}var ra=class extends oi{constructor(e){super(e),this.useMatch=e=>k({...e,from:this.id}),this.useRouteContext=e=>zi({...e,from:this.id}),this.useSearch=e=>Ii({...e,from:this.id}),this.useParams=e=>Fi({...e,from:this.id}),this.useLoaderDeps=e=>Pi({...e,from:this.id}),this.useLoaderData=e=>Ni({...e,from:this.id}),this.useNavigate=()=>Li({from:this.fullPath}),this.Link=j.forwardRef((e,t)=>(0,M.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function ia(e){return new ra(e)}var aa=class extends si{constructor(e){super(e),this.useMatch=e=>k({...e,from:this.id}),this.useRouteContext=e=>zi({...e,from:this.id}),this.useSearch=e=>Ii({...e,from:this.id}),this.useParams=e=>Fi({...e,from:this.id}),this.useLoaderDeps=e=>Pi({...e,from:this.id}),this.useLoaderData=e=>Ni({...e,from:this.id}),this.useNavigate=()=>Li({from:this.fullPath}),this.Link=j.forwardRef((e,t)=>(0,M.jsx)(ta,{ref:t,from:this.fullPath,...e}))}};function oa(e){return new aa(e)}function R(e,t){let n,r,i,a=()=>(n||=(i=void 0,e().then(e=>{n=void 0,o.preload=void 0,r=e[t??`default`]}).catch(e=>{n=void 0,i=e})),n),o=function(e){if(i){if(p(i)&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;if(!sessionStorage.getItem(e))throw sessionStorage.setItem(e,`1`),window.location.reload(),new Promise(()=>{})}throw i}if(!r){if(Ot)Ot(a());else throw a()}return j.createElement(r,e)};return o.preload=a,o}function sa(e){let t=_(),n=`not-found-${S(t.stores.location,e=>e.pathname)}-${S(t.stores.status)}`;return(0,M.jsx)(ci,{getResetKey:()=>n,onCatch:(t,n)=>{if(Bt(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(Bt(t))return e.fallback?.(t);throw t},children:e.children})}function ca(){return(0,M.jsx)(`p`,{children:`Not Found`})}function la(e){return(0,M.jsx)(M.Fragment,{children:e.children})}function ua(e,t,n){return t.options.notFoundComponent?(0,M.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,M.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,M.jsx)(ca,{})}function da(e,t){let n=t?.options.pendingComponent??e.options.defaultPendingComponent;return n?(0,M.jsx)(n,{}):null}var fa=(e,t)=>e[0]===t[0]&&e[1]===t[1],pa=(e,t,n)=>!t.isRoot||t.options.shellComponent||t.options.wrapInSuspense||n===!1||n===`data-only`||!e.ssr,ma=j.memo(function({routeId:e}){let t=_();return(0,M.jsx)(ha,{router:t,match:S(t.stores.getMatchStore(e))})});function ha({router:e,match:t}){let n=e.routesById[t.routeId],r=da(e,n),i=n.options.errorComponent??e.options.defaultErrorComponent,a=n.options.onCatch??e.options.defaultOnCatch,o=n.isRoot?n.options.notFoundComponent??e.options.notFoundRoute?.options.component:n.options.notFoundComponent,s=t.ssr===!1||t.ssr===`data-only`,c=pa(e,n,t.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||s))?j.Suspense:la,l=i?ci:la,u=o?sa:la;return(0,M.jsxs)(n.isRoot?n.options.shellComponent??la:la,{children:[(0,M.jsx)(O.Provider,{value:t.routeId,children:(0,M.jsx)(c,{fallback:r,children:(0,M.jsx)(l,{getResetKey:()=>t,errorComponent:i,onCatch:(e,n)=>{if(Bt(e))throw e.routeId??=t.routeId,e;a?.(e,n)},children:(0,M.jsx)(u,{fallback:e=>{if(e.routeId??=t.routeId,e.routeId!==t.routeId)throw e;return j.createElement(o,e)},children:s?(0,M.jsx)(fi,{fallback:r,children:(0,M.jsx)(ga,{match:t})}):(0,M.jsx)(ga,{match:t})})})})}),null]})}var ga=j.memo(function({match:e}){let t=_(),n=e.routeId,r=t.routesById[n],i=j.useMemo(()=>{let i=(r.options.remountDeps??t.options.defaultRemountDeps)?.({routeId:n,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[n,e.loaderDeps,e._strictParams,e._strictSearch,r.options.remountDeps,t.options.defaultRemountDeps]),a=j.useMemo(()=>{let e=r.options.component??t.options.defaultComponent;return e?(0,M.jsx)(e,{},i):(0,M.jsx)(_a,{})},[i,r.options.component,t.options.defaultComponent]);if(e.status===`pending`){if(t.ssr&&!pa(t,r,e.ssr))return a;if(t._tx)throw t._tx[5];return da(t,r)}if(e.status===`notFound`)return ua(t,r,e.error);if(e.status===`error`)throw e.error;return a}),_a=j.memo(function(){let e=_(),t=j.useContext(O),n,r,i;{let a=e.stores.getMatchStore(t);[n,r]=S(a,e=>[!!e._notFound,e.error],{compare:fa}),i=S(e.stores.ids,e=>e[e.indexOf(t)+1])}if(n)return ua(e,e.routesById[t],r);if(!i)return null;let a=(0,M.jsx)(ma,{routeId:i});return t===`__root__`?(0,M.jsx)(j.Suspense,{fallback:da(e),children:a}):a});function va(e,t){let n=e[1];e.length=0,n?.(t)}function ya({t:e}){let t=_(),n=t._rendered??=[];return t.startTransition=(r,i)=>new Promise(a=>{va(n,!1),n.push(i,a),e(t),j.startTransition(r)}),kt(()=>{let e=t.history.subscribe(t.load);t.updateLatestLocation();let r=t.latestLocation,i=t.buildLocation({to:r.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(Mt(r.publicHref)!==Mt(i.publicHref))return t.commitLocation({...i,replace:!0,ignoreBlocker:!0}),e;let a=t.stores.resolvedLocation.get();return a?.href===r.href&&a.state.__TSR_key===r.state.__TSR_key?n.push(t.stores.matches.get(),e=>{e&&t.emit({type:`onRendered`,...Qn(a,a)})}):t._tx||t.load({sync:!0}).catch(console.error),e},[t,t.history]),null}function ba(){let e=_(),t=e.routesById[ln],n=da(e,t),r=e.ssr?la:j.Suspense,i=(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(ya,{t:j.useState()[1]}),(0,M.jsx)(r,{fallback:n,children:(0,M.jsx)(xa,{})})]});return e.options.InnerWrap?(0,M.jsx)(e.options.InnerWrap,{children:i}):i}function xa(){let e=_(),t=e._rendered,n=S(e.stores.matches,e=>t[0]??e),r=n[0],i=r?.routeId;kt(()=>{t[0]===n&&va(t,!0)},[t,n]);let a=i?(0,M.jsx)(ma,{routeId:i}):null;return(0,M.jsx)(O.Provider,{value:i,children:e.options.disableGlobalCatchBoundary?a:(0,M.jsx)(ci,{getResetKey:()=>r,onCatch:void 0,children:a})})}var Sa=e=>({createMutableStore:ji,createReadonlyStore:ji,batch:Oi}),Ca=e=>new wa(e),wa=class extends nr{constructor(e){super(e,Sa)}};function Ta({router:e,children:t,...n}){d(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,M.jsx)(b.Provider,{value:e,children:t});return e.options.Wrap?(0,M.jsx)(e.options.Wrap,{children:r}):r}function Ea({router:e,...t}){return(0,M.jsx)(Ta,{router:e,...t,children:(0,M.jsx)(ba,{})})}function Da(e){let t=_({warn:e?.router===void 0}),n=e?.router||t;return S(n.stores.__store,D(e,n))}var Oa=ie(),z=a();function ka(e){let t=(0,z.c)(6),{error:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(`p`,{className:`text-lg font-semibold text-rot-text`,children:`Diese Ansicht ist abgestürzt`}),t[0]=r):r=t[0];let i=n instanceof Error?n.message:String(n),a;t[1]===i?a=t[2]:(a=(0,M.jsx)(`p`,{className:`text-[15px]`,children:i}),t[1]=i,t[2]=a);let o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,M.jsx)(`button`,{type:`button`,onClick:Aa,className:`h-11 rounded-xl border border-rot/40 bg-rot/10 px-5 text-sm font-semibold text-rot-text hover:bg-rot/[0.18]`,children:`Neu laden`}),t[3]=o):o=t[3];let s;return t[4]===a?s=t[5]:(s=(0,M.jsxs)(`div`,{role:`alert`,className:`flex flex-col items-start gap-3 rounded-2xl border border-rot-rand bg-rot-grund p-6 text-rot-text`,children:[r,a,o]}),t[4]=a,t[5]=s),s}function Aa(){return window.location.reload()}var ja={name:`activity`,size:24,node:[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]};ja.node;var Ma=r(ja),Na={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};Na.node;var Pa=r(Na),Fa={name:`audio-lines`,size:24,node:[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]};Fa.node;var Ia=r(Fa),La={name:`bird`,size:24,node:[[`path`,{d:`M16 7h.01`,key:`1kdx03`}],[`path`,{d:`M3.4 18H12a8 8 0 0 0 8-8V7a4 4 0 0 0-7.28-2.3L2 20`,key:`oj1oa8`}],[`path`,{d:`m20 7 2 .5-2 .5`,key:`12nv4d`}],[`path`,{d:`M10 18v3`,key:`1yea0a`}],[`path`,{d:`M14 17.75V21`,key:`1pymcb`}],[`path`,{d:`M7 18a6 6 0 0 0 3.84-10.61`,key:`1npnn0`}]]};La.node;var Ra=r(La),za={name:`bot`,size:24,node:[[`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`}]]};za.node;var Ba=r(za),Va={name:`box`,size:24,node:[[`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`}]]};Va.node;var Ha=r(Va),Ua={name:`brain-circuit`,size:24,node:[[`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`}]]};Ua.node;var Wa=r(Ua),Ga={name:`calendar-clock`,size:24,node:[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v3`,key:`otl347`}],[`path`,{d:`M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338`,key:`7hb8p4`}],[`path`,{d:`M3 9h5.859`,key:`numkqi`}],[`path`,{d:`M8 2v3`,key:`1ioesn`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]};Ga.node;var Ka=r(Ga),qa={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};qa.node;var Ja=r(qa),Ya={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};Ya.node;var Xa=r(Ya),Za={name:`clapperboard`,size:24,node:[[`path`,{d:`m12.296 3.464 3.02 3.956`,key:`qash78`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`,key:`1h7j8b`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`4lm6w1`}],[`path`,{d:`m6.18 5.276 3.1 3.899`,key:`zjj9t3`}]]};Za.node;var Qa=r(Za),$a={name:`code`,size:24,node:[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]};$a.node;var eo=r($a),to={name:`container`,size:24,node:[[`path`,{d:`M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z`,key:`1t2lqe`}],[`path`,{d:`M10 21.9V14L2.1 9.1`,key:`o7czzq`}],[`path`,{d:`m10 14 11.9-6.9`,key:`zm5e20`}],[`path`,{d:`M14 19.8v-8.1`,key:`159ecu`}],[`path`,{d:`M18 17.5V9.4`,key:`11uown`}]]};to.node;var no=r(to),ro={name:`cpu`,size:24,node:[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]};ro.node;var io=r(ro),ao={name:`database-backup`,size:24,node:[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 12a9 3 0 0 0 5 2.69`,key:`1ui2ym`}],[`path`,{d:`M21 9.3V5`,key:`6k6cib`}],[`path`,{d:`M3 5v14a9 3 0 0 0 6.47 2.88`,key:`i62tjy`}],[`path`,{d:`M12 12v4h4`,key:`1bxaet`}],[`path`,{d:`M13 20a5 5 0 0 0 9-3 4.5 4.5 0 0 0-4.5-4.5c-1.33 0-2.54.54-3.41 1.41L12 16`,key:`1f4ei9`}]]};ao.node;var oo=r(ao),so={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};so.node;var co=r(so),lo={name:`file-code-corner`,size:24,node:[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]],aliases:[`file-code-2`]};lo.node;var uo=r(lo),fo={name:`gauge`,size:24,node:[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]};fo.node;var po=r(fo),mo={name:`git-branch`,size:24,node:[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]};mo.node;var ho=r(mo),go={name:`hard-drive`,size:24,node:[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]};go.node;var _o=r(go),vo={name:`house`,size:24,node:[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]],aliases:[`home`]};vo.node;var yo=r(vo),bo={name:`layers`,size:24,node:[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]],aliases:[`layers-3`]};bo.node;var xo=r(bo),So={name:`layout-dashboard`,size:24,node:[[`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`}]]};So.node;var Co=r(So),wo={name:`layout-grid`,size:24,node:[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]};wo.node;var To=r(wo),Eo={name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]};Eo.node;var Do=r(Eo),Oo={name:`mic`,size:24,node:[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]};Oo.node;var ko=r(Oo),Ao={name:`monitor`,size:24,node:[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]};Ao.node;var jo=r(Ao),Mo={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};Mo.node;var No=r(Mo),Po={name:`rotate-ccw-clock`,size:24,node:[[`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`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]],aliases:[`history`]};Po.node;var Fo=r(Po),Io={name:`route`,size:24,node:[[`circle`,{cx:`6`,cy:`19`,r:`3`,key:`1kj8tv`}],[`path`,{d:`M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15`,key:`1d8sl`}],[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}]]};Io.node;var Lo=r(Io),Ro={name:`scroll-text`,size:24,node:[[`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`}]]};Ro.node;var zo=r(Ro),Bo={name:`server`,size:24,node:[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]};Bo.node;var Vo=r(Bo),Ho={name:`settings`,size:24,node:[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};Ho.node;var Uo=r(Ho),B={name:`shield-check`,size:24,node:[[`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 12 2 2 4-4`,key:`dzmm74`}]]};B.node;var V=r(B),Wo={name:`shuffle`,size:24,node:[[`path`,{d:`m18 14 4 4-4 4`,key:`10pe0f`}],[`path`,{d:`m18 2 4 4-4 4`,key:`pucp1d`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`,key:`1ailkh`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`,key:`km57vx`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`,key:`os18l9`}]]};Wo.node;var Go=r(Wo),Ko={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};Ko.node;var qo=r(Ko),Jo={name:`workflow`,size:24,node:[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]};Jo.node;var Yo=r(Jo),Xo={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};Xo.node;var Zo=r(Xo),Qo={name:`zap`,size:24,node:[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`,key:`1v7up4`}]]};Qo.node;var $o=r(Qo),es=[`/api/instanz`,`/api/partner`,`/api/health`],ts=(e,t)=>e===t||e.startsWith(`${t}/`)||e.startsWith(`${t}?`);function ns(e,t){return!e.startsWith(`/api/`)||es.some(t=>ts(e,t))||(ts(e,`/api/homelab`)?`homelab`:`box`)===t?e:`/api/partner${e.slice(4)}`}var rs=null;function is(){return rs??=fetch(`/api/instanz`,{headers:{Accept:`application/json`}}).then(e=>e.ok?e.json():Promise.reject(Error(String(e.status)))).then(e=>e.rolle===`homelab`?`homelab`:`box`).catch(()=>(rs=null,`box`)),rs}var as=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.detail=t,this.name=`ApiFehler`}};function os(e,t){if(e&&typeof e==`object`&&`detail`in e){let t=e.detail;if(typeof t==`string`)return t;if(Array.isArray(t))return t.map(e=>e.msg??String(e)).join(`; `)}return`Die Box antwortet mit Fehler ${t}.`}async function H(e,t={}){let n=ns(e,await is()),r;try{r=await fetch(n,{...t,headers:{"Content-Type":`application/json`,Accept:`application/json`,...t.headers}})}catch{throw new as(0,`MC2 ist nicht erreichbar. Läuft die Box?`)}let i=await r.text(),a=i?ss(i):null;if(!r.ok)throw new as(r.status,os(a,r.status));if(typeof a==`string`)throw new as(r.status,`Die Box antwortet nicht mit Daten.`);return a}function ss(e){try{return JSON.parse(e)}catch{return e}}var U=(e,t)=>H(e,{method:`POST`,body:t===void 0?void 0:JSON.stringify(t)}),cs=100,ls=95,us=210,ds=240;function fs(e,t){let n=e*Math.PI/180;return[cs+t*Math.cos(n),ls-t*Math.sin(n)]}var ps=e=>Math.round(e*100)/100;function ms(e,t,n){let r=Math.max(0,Math.min(1,e)),i=Math.max(r,Math.min(1,t)),[a,o]=fs(us-ds*r,n),[s,c]=fs(us-ds*i,n),l=+((i-r)*ds>180);return`M ${ps(a)} ${ps(o)} A ${n} ${n} 0 ${l} 1 ${ps(s)} ${ps(c)}`}function hs(e){return e==null?`var(--text-3)`:e>=85?`var(--rot)`:e>=70?`var(--bernstein)`:`var(--box)`}function gs(e){if(!e.waechter_wach)return{art:`stumm`,oben:`Wächter`,mitte:`Schweigt`,unten:`Seit über 5 Minuten kein Prüflauf`};if(e.update_laeuft)return{art:`info`,oben:`Wartung`,mitte:`Update läuft`,unten:`Hinweise ruhen bis zum Ende`};if(e.anzahl===0)return{art:`ok`,oben:`Alles`,mitte:`In Ordnung`,unten:`Keine offenen Hinweise`};let t=`${e.anzahl} Hinweis${e.anzahl===1?``:`e`}`;return e.stufe===`rot`?{art:`rot`,oben:`Störung`,mitte:t,unten:`Drücken zum Ansehen`}:{art:`gelb`,oben:`Achtung`,mitte:t,unten:`Drücken zum Ansehen`}}function _s(e,t){let n=`„${e.titel}“:`;switch(t.id){case`protokoll`:return null;case`neustart`:return e.id.startsWith(`timer:`)?{titel:`${t.label}?`,text:`${n} Der Dienst läuft sofort noch einmal.`,knopf:t.label}:{titel:`${t.label}?`,text:`${n} Der Dienst wird ${/^starten/i.test(t.label)?`gestartet`:`neu gestartet`} und ist dabei kurz nicht erreichbar.`,knopf:t.label};case`job-wiederholen`:return{titel:`Job erneut ausführen?`,text:`${n} Hermes führt den Job sofort noch einmal aus, mit allem, was er sonst auch tut — etwa Nachrichten verschicken.`,knopf:t.label};case`freigeben`:return{titel:`Update freigeben?`,text:`${n} Nach dem Freigeben versucht der nächste Sonntags-Lauf das Update wieder.`,knopf:t.label};default:return{titel:`${t.label}?`,text:`${n} ${t.label}.`,knopf:t.label}}}function vs(e){return e?.status===`busy`?e.running?`Es läuft schon ein Update („${e.running}“). Warte, bis es fertig ist.`:`Es läuft schon ein Update. Warte, bis es fertig ist.`:e?.detail||e?.err||e?.error||e?.text||`Das hat nicht geklappt.`}var ys=e=>e.state===`running`||e.state===`queued`;function bs(e){let t=e.aliases.map(e=>e.toLowerCase());return t.includes(`hermes`)||t.includes(`fast`)?`hirn`:t.includes(`coder`)?`coder`:null}var xs={neu:`Neu`,wartet:`Wartet`,getestet:`Gemessen`,bestanden:`Bestanden`,durchgefallen:`Durchgefallen`,uebernommen:`Übernommen`,verworfen:`Verworfen`};function Ss(e,t=``){if(e==null||e===``)return`–`;let n=typeof e==`number`?e.toLocaleString(`de-DE`,{maximumFractionDigits:+(e<10)}):String(e);return t?`${n} ${t}`:n}var Cs=[],ws=1,Ts=new Set,Es=()=>Ts.forEach(e=>e());function Ds(e,t){let n=ws++;Cs=[...Cs,{id:n,art:e,text:t}].slice(-4),Es(),e!==`fehler`&&window.setTimeout(()=>Os(n),6e3)}function Os(e){Cs=Cs.filter(t=>t.id!==e),Es()}var ks=()=>(0,j.useSyncExternalStore)(As,js);function As(e){return Ts.add(e),()=>{Ts.delete(e)}}function js(){return Cs}var Ms=2e3,Ns=3e4,Ps=2e4,Fs=`verbinde`,Is=null,Ls=new Set,Rs=()=>Ls.forEach(e=>e());function zs(e){return Ls.add(e),()=>{Ls.delete(e)}}var Bs=()=>Fs===`live`,Vs=()=>(0,j.useSyncExternalStore)(zs,Gs),Hs=()=>(0,j.useSyncExternalStore)(zs,Ks);function Us(e){e!==Fs&&(Fs=e,Rs())}function Ws(){let e=oe();(0,j.useEffect)(()=>{let t=null,n,r,i=Date.now(),a=Ms,o=!1;function s(){o||(window.clearTimeout(n),n=window.setTimeout(l,a),a=Math.min(a*2,Ns))}function c(){i=Date.now(),window.clearTimeout(r),r=window.setTimeout(()=>{t?.close(),Us(`getrennt`),s()},Ps)}function l(){window.clearTimeout(n),window.clearTimeout(r),t?.close();let i=new EventSource(`/api/stream`);t=i,i.onopen=()=>{a=Ms,Us(`live`),c(),e.invalidateQueries()},i.onerror=()=>{Us(`getrennt`),i.readyState===EventSource.CLOSED&&(window.clearTimeout(r),s())},i.addEventListener(`invalidate`,t=>{c();try{let n=JSON.parse(t.data)?.keys??[];for(let t of n)e.invalidateQueries({queryKey:[t]})}catch{}}),i.addEventListener(`metrik`,e=>{c();try{Is=JSON.parse(e.data),Rs()}catch{}})}let u=()=>{o||document.visibilityState!==`visible`||(t?.readyState===EventSource.CLOSED||Date.now()-i>5e3)&&(a=Ms,l())};return l(),window.addEventListener(`online`,u),document.addEventListener(`visibilitychange`,u),()=>{o=!0,window.clearTimeout(n),window.clearTimeout(r),window.removeEventListener(`online`,u),document.removeEventListener(`visibilitychange`,u),t?.close(),Us(`getrennt`)}},[e])}function Gs(){return Fs}function Ks(){return Is}var qs=`Europe/Berlin`,Js=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:qs}),Ys=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:qs}),Xs=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:qs}),Zs=new Intl.DateTimeFormat(`en-CA`,{timeZone:qs});function Qs(e){return Zs.format(e)}function $s(e,t=new Date){let n=new Date(e);if(Number.isNaN(n.getTime()))return`–`;let r=Qs(t),i=Qs(new Date(t.getTime()-864e5)),a=Qs(new Date(t.getTime()+864e5)),o=Qs(n),s=Js.format(n);return o===r?`HEUTE ${s}`:o===i?`GESTERN ${s}`:o===a?`MORGEN ${s}`:Math.abs(n.getTime()-t.getTime())<5616e5?`${Ys.format(n).replace(`.`,``).toUpperCase()} ${s}`:`${Xs.format(n)} ${s}`}function ec(e,t=new Date){let n=new Date(e*1e3);return Qs(n)===Qs(t)?`seit heute ${Js.format(n)}`:`seit ${Xs.format(n)}, ${Js.format(n)}`}function tc(e,t=Date.now()){let n=Math.max(0,Math.round(t/1e3-e));if(n<60)return`vor ${n} s`;if(n<3600)return`vor ${Math.round(n/60)} min`;if(n<86400)return`vor ${Math.round(n/3600)} h`;let r=Math.round(n/86400);return`vor ${r} ${r===1?`Tag`:`Tagen`}`}function nc(e){return e==null||e<0?null:[Math.floor(e/86400),Math.floor(e%86400/3600)]}var rc=e=>e==null?null:e/1024**3;function ic(e,t=0){let n=rc(e);return n==null?`–`:n>=1e3?`${(n/1024).toFixed(1).replace(`.`,`,`)} TB`:`${n.toFixed(t).replace(`.`,`,`)} GB`}var ac=e=>e.toLocaleString(`de-DE`),oc=e=>()=>Bs()?e*5:e;function sc(e,t){let n=e.getQueryData([`jobs`])?.jobs??[],r=t.filter(e=>!ys(e)&&n.some(t=>t.id===e.id&&ys(t)));if(r.length===0)return;let i=new Set([`start`]);for(let e of r){let t=e.group===`download`||/^download\s/i.test(e.label);for(let e of t?[`models`,`aufraeumen`]:[`update-details`,`updates-verlauf`,`sicherungen`])i.add(e)}for(let t of i)e.invalidateQueries({queryKey:[t]})}var cc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`start`],queryFn:hl,refetchInterval:gl},e[0]=t):t=e[0],I(t)},lc=()=>{let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`models`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:_l,refetchInterval:oc(3e4)},e[1]=n):n=e[1],I(n)},uc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`nutzung`],queryFn:vl,refetchInterval:6e5},e[0]=t):t=e[0],I(t)},dc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`radar`],queryFn:yl,retry:!1,refetchInterval:3e5},e[0]=t):t=e[0],I(t)},fc=()=>{let e=(0,z.c)(3),t=oe(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`jobs`],e[0]=n):n=e[0];let r;return e[1]===t?r=e[2]:(r={queryKey:n,queryFn:async()=>{let e=await H(`/api/jobs`);return sc(t,e.jobs),e},refetchInterval:bl},e[1]=t,e[2]=r),I(r)},pc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`sicherungen`],queryFn:xl},e[0]=t):t=e[0],I(t)},mc=e=>{let t=(0,z.c)(4),n;t[0]===e?n=t[1]:(n=e.map(Sl),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r={queries:n},t[2]=n,t[3]=r),Tt(r)},hc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`updates-verlauf`],queryFn:Cl},e[0]=t):t=e[0],I(t)},gc=e=>{let t=(0,z.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`protokoll`,e],r=()=>H(`/api/maintenance/logs?service=${encodeURIComponent(e??``)}&lines=200`),t[0]=e,t[1]=n,t[2]=r);let i=!!e,a;return t[3]!==n||t[4]!==r||t[5]!==i?(a={queryKey:n,queryFn:r,enabled:i},t[3]=n,t[4]=r,t[5]=i,t[6]=a):a=t[6],I(a)},_c=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`ablaeufe`],queryFn:wl,refetchInterval:6e4},e[0]=t):t=e[0],I(t)},vc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`dienste`],queryFn:Tl,refetchInterval:1e4},e[0]=t):t=e[0],I(t)};function W(e,t){let n=(0,z.c)(6),r=oe(),i;n[0]!==t||n[1]!==r?(i=(e,n)=>{let i=e;i&&i.ok===!1?Ds(`fehler`,t.fehler?.(n,i)??vs(i)):t.erfolg(n,e)&&Ds(`erfolg`,t.erfolg(n,e));for(let e of t.neuLaden)r.invalidateQueries({queryKey:[e]})},n[0]=t,n[1]=r,n[2]=i):i=n[2];let a;return n[3]!==e||n[4]!==i?(a={mutationFn:e,onSuccess:i,onError:yc},n[3]=e,n[4]=i,n[5]=a):a=n[5],Dt(a)}function yc(e){return Ds(`fehler`,e.message)}var bc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Dl,neuLaden:[`start`]},e[0]=t):t=e[0],W(El,t)},xc={alle:`/api/maintenance/update-all`,pruefen:`/api/maintenance/check-updates`,os:`/api/maintenance/os-update`,engine:`/api/maintenance/engine-update`,swap:`/api/maintenance/swap-update`,hermes:`/api/maintenance/hermes-update`},Sc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:kl,neuLaden:[`jobs`,`start`]},e[0]=t):t=e[0],W(Ol,t)},Cc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:jl,fehler:Ml,neuLaden:[`jobs`]},e[0]=t):t=e[0],W(Al,t)},wc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Pl,neuLaden:[`jobs`]},e[0]=t):t=e[0],W(Nl,t)},Tc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Il,neuLaden:[`jobs`,`models`]},e[0]=t):t=e[0],W(Fl,t)},Ec=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`aufraeumen`],queryFn:Ll,staleTime:6e4},e[0]=t):t=e[0],I(t)},Dc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:zl,neuLaden:[`aufraeumen`,`models`,`start`]},e[0]=t):t=e[0],W(Rl,t)},Oc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Vl,neuLaden:[`start`]},e[0]=t):t=e[0],W(Bl,t)},kc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ul,fehler:Wl,neuLaden:[`sicherungen`,`start`]},e[0]=t):t=e[0],W(Hl,t)},Ac=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Kl,neuLaden:[`sicherungen`]},e[0]=t):t=e[0],W(Gl,t)},jc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Jl,neuLaden:[`models`,`start`]},e[0]=t):t=e[0],W(ql,t)},Mc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Xl,neuLaden:[`radar`,`models`,`start`]},e[0]=t):t=e[0],W(Yl,t)},Nc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ql,neuLaden:[`radar`,`jobs`]},e[0]=t):t=e[0],W(Zl,t)},Pc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:eu,neuLaden:[`jobs`]},e[0]=t):t=e[0],W($l,t)},Fc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`instanz`],queryFn:tu,staleTime:1/0},e[0]=t):t=e[0],I(t)},Ic=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`partner`],queryFn:nu,refetchInterval:3e4},e[0]=t):t=e[0],I(t)},Lc=()=>{let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[`ziele-box`],e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:t,queryFn:ru,refetchInterval:oc(3e4)},e[1]=n):n=e[1],I(n)},Rc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:iu,enabled:e,refetchInterval:3e4},t[1]=e,t[2]=r),I(r)},zc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-laeufe`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:G,enabled:e,refetchInterval:ou},t[1]=e,t[2]=r),I(r)},Bc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:cu,neuLaden:[`homelab`,`homelab-laeufe`,`ziele-box`,`jobs`,`start`]},e[0]=t):t=e[0],W(su,t)},Vc=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-hinweise`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=oc(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:lu,enabled:e,refetchInterval:r},t[2]=e,t[3]=i),I(i)},Hc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:uu,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},Uc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:fu,neuLaden:[`einstellungen`,`start`]},e[0]=t):t=e[0],W(du,t)},Wc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:mu,neuLaden:[`einstellungen`,`start`,`radar`]},e[0]=t):t=e[0],W(pu,t)},Gc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:gu,neuLaden:[]},e[0]=t):t=e[0],W(hu,t)},Kc=(e,t)=>{let n=(0,z.c)(9),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`stand`,`hier`],n[0]=r):r=n[0];let i;n[1]===e?i=n[2]:(i={queryKey:r,queryFn:_u,enabled:e},n[1]=e,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=[`stand`,`partner`],n[3]=a):a=n[3];let o=e&&t,s;n[4]===o?s=n[5]:(s={queryKey:a,queryFn:vu,enabled:o,retry:!1},n[4]=o,n[5]=s);let c;return n[6]!==i||n[7]!==s?(c={queries:[i,s]},n[6]=i,n[7]=s,n[8]=c):c=n[8],Tt(c)},qc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`altreste`],queryFn:yu,staleTime:6e4},e[0]=t):t=e[0],I(t)},Jc=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:xu,neuLaden:[`altreste`,`start`]},e[0]=t):t=e[0],W(bu,t)},Yc={"1h":6e4,"24h":3e5,"7d":9e5},Xc=(e,t)=>{let n=(0,z.c)(8),r=t===void 0||t,i,a;n[0]===e?(i=n[1],a=n[2]):(i=[`messwerte`,`box`,e],a=()=>H(`/api/messwerte?zeitraum=${e}`),n[0]=e,n[1]=i,n[2]=a);let o=Yc[e],s;return n[3]!==r||n[4]!==i||n[5]!==a||n[6]!==o?(s={queryKey:i,queryFn:a,enabled:r,refetchInterval:o,placeholderData:Su,retry:!1},n[3]=r,n[4]=i,n[5]=a,n[6]=o,n[7]=s):s=n[7],I(s)},Zc=(e,t)=>{let n=(0,z.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):(r=[`messwerte`,`homelab`,e],i=()=>H(`/api/homelab/messwerte?zeitraum=${e}`),n[0]=e,n[1]=r,n[2]=i);let a=Yc[e],o;return n[3]!==t||n[4]!==r||n[5]!==i||n[6]!==a?(o={queryKey:r,queryFn:i,enabled:t,refetchInterval:a,placeholderData:Cu,retry:!1},n[3]=t,n[4]=r,n[5]=i,n[6]=a,n[7]=o):o=n[7],I(o)},Qc=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammelplan`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:wu,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},$c=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-sammellauf`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Tu,enabled:e,refetchInterval:Eu,retry:!1},t[1]=e,t[2]=r),I(r)},el=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ou,neuLaden:[`homelab-sammellauf`,`homelab-laeufe`,`homelab`]},e[0]=t):t=e[0],W(Du,t)},tl=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Au,neuLaden:[`homelab-sammellauf`]},e[0]=t):t=e[0],W(ku,t)},nl=(e,t)=>{let n=(0,z.c)(8),r,i;n[0]===t?(r=n[1],i=n[2]):(r=[`homelab-protokoll`,t],i=()=>H(`/api/homelab/protokoll?grenze=300&berichte=${+!!t}`),n[0]=t,n[1]=r,n[2]=i);let a;n[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=oc(3e4),n[3]=a):a=n[3];let o;return n[4]!==e||n[5]!==r||n[6]!==i?(o={queryKey:r,queryFn:i,enabled:e,refetchInterval:a,retry:!1},n[4]=e,n[5]=r,n[6]=i,n[7]=o):o=n[7],I(o)},rl=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-speicher`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=oc(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:ju,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),I(i)},il=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-neu`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=oc(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Mu,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),I(i)},al=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-docker`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=oc(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Nu,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),I(i)},ol=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Fu,neuLaden:[`homelab-neu`,`homelab`]},e[0]=t):t=e[0],W(Pu,t)},sl=e=>{let t=(0,z.c)(4),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-zertifikate`],t[0]=n):n=t[0];let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=oc(3e5),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Iu,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),I(i)},cl=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab`,`snapshots`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Lu,enabled:e,refetchInterval:zu,retry:!1},t[1]=e,t[2]=r),I(r)},ll=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Vu,neuLaden:[`homelab-speicher`]},e[0]=t):t=e[0],W(Bu,t)},ul=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Uu,neuLaden:[`homelab`,`homelab-laeufe`]},e[0]=t):t=e[0],W(Hu,t)},dl=e=>{let t=(0,z.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-einstellungen`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Wu,enabled:e,retry:!1},t[1]=e,t[2]=r),I(r)},fl=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ku,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],W(Gu,t)},pl=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ju,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],W(qu,t)},ml=()=>{let e=(0,z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Xu,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],W(Yu,t)};function hl(){return H(`/api/start`)}function gl(e){return e.state.data&&!e.state.data.updates.gelesen?4e3:oc(2e4)()}function _l(){return H(`/api/models`)}function vl(){return H(`/api/modelle/nutzung`)}function yl(){return H(`/api/radar`)}function bl(e){return e.state.data?.jobs.some(ys)?2e3:oc(3e4)()}function xl(){return H(`/api/zeitmaschine`)}function Sl(e){return{queryKey:[`update-details`,e],queryFn:()=>H(`/api/maintenance/update-details?kind=${encodeURIComponent(e)}`),staleTime:6e5}}function Cl(){return H(`/api/updates/verlauf`)}function wl(){return H(`/api/system/ablaeufe`)}function Tl(){return H(`/api/system/services`)}function El(e){let{hinweis:t,aktion:n}=e;return U(`/api/hinweise/${encodeURIComponent(t)}/aktion/${n}`)}function Dl(e,t){return e.aktion===`freigeben`&&t.text?t.text:`${e.label}: erledigt. Der Wächter prüft in einer Minute nach.`}function Ol(e){return U(xc[e])}function kl(e){return e===`pruefen`?`Die Suche nach Neuem läuft. Den Fortschritt siehst du unten bei den Aufträgen.`:`Das Update läuft. Den Fortschritt siehst du unten bei den Aufträgen.`}function Al(e){let{id:t}=e;return U(`/api/jobs/${encodeURIComponent(t)}/cancel`)}function jl(e){return`${e.titel}: wird abgebrochen.`}function Ml(e){return`${e.titel} lief schon nicht mehr.`}function Nl(e){return U(`/api/jobs/${encodeURIComponent(e)}/quittieren`)}function Pl(){return``}function Fl(e){let{repo:t,quant:n,rolle:r}=e;return U(`/api/models/install`,{repo:t,quant:n,role:r})}function Il(e,t){return`${e.repo} (${e.quant}) wird heruntergeladen${t.total_bytes?`, ${ic(t.total_bytes,1)}`:``}. Den Fortschritt siehst du unter Aufträge.`}function Ll(){return H(`/api/modelle/aufraeumen`)}function Rl(e){return U(`/api/modelle/aufraeumen/loeschen`,{art:e.art,name:e.name})}function zl(e,t){return t.text??`Gelöscht.`}function Bl(e){return U(`/api/updates/festgehalten/${encodeURIComponent(e)}/freigeben`)}function Vl(e,t){return t.text??`Freigegeben.`}function Hl(){return U(`/api/system/backup`)}function Ul(e,t){return t.size_mb==null?`Sicherung erstellt.`:`Sicherung erstellt (${t.size_mb.toLocaleString(`de-DE`)} MB).`}function Wl(e,t){return`Die Sicherung ging nicht: ${vs(t)}`}function Gl(e){return U(`/api/zeitmaschine/restore`,{file:e})}function Kl(){return`Zurückspielen läuft. Die Dienste starten gleich neu.`}function ql(e){return U(`/api/models/${encodeURIComponent(e)}/load`)}function Jl(e){return`${e} wird geladen.`}function Yl(e){let{id:t,aktion:n}=e;return U(`/api/radar/${encodeURIComponent(t)}/${n}`)}function Xl(e){return e.aktion===`uebernehmen`?`${e.name} übernommen.`:`${e.name} verworfen.`}function Zl(e){let{id:t}=e;return U(`/api/radar/${encodeURIComponent(t)}/testen`)}function Ql(e,t){return t.text??`Der Test von ${e.name} läuft.`}function $l(){return U(`/api/radar/suche`)}function eu(e,t){return t.text??`Das Radar sucht jetzt nach neuen Modellen.`}function tu(){return H(`/api/instanz`)}function nu(){return H(`/api/partner`)}function ru(){return H(`/api/ziele`)}function iu(){return H(`/api/homelab/ziele`)}function G(){return H(`/api/homelab/laeufe`)}function au(e){return e.status===`laeuft`}function ou(e){return e.state.data?.laeufe.some(au)?3e3:3e4}function su(e){return H(e.pfad,{method:e.methode})}function cu(e){return`${e.label}: gestartet. Das Ergebnis kommt als Meldung.`}function lu(){return H(`/api/homelab/hinweise`)}function uu(){return H(`/api/einstellungen`)}function du(e){return U(`/api/einstellungen/update-fenster`,e)}function fu(e,t){return t.text??`Gespeichert.`}function pu(e){return U(`/api/einstellungen/radar`,{an:e})}function mu(e,t){return t.text??`Geschaltet.`}function hu(e){return U(e===`homelab`?`/api/homelab/einstellungen/telegram-test`:`/api/einstellungen/telegram-test`)}function gu(e,t){return t.text??`Die Testmeldung ist raus.`}function _u(){return H(`/api/instanz`)}function vu(){return H(`/api/partner/instanz`)}function yu(){return H(`/api/aufraeumen/altreste`)}function bu(e){return U(`/api/aufraeumen/altreste/loeschen`,{id:e.id})}function xu(e,t){return t.text??`Gelöscht.`}function Su(e){return e}function Cu(e){return e}function wu(){return H(`/api/homelab/alle/plan`)}function Tu(){return H(`/api/homelab/sammellauf`)}function Eu(e){return e.state.data?.sammellauf?.status===`laeuft`?5e3:6e4}function Du(){return U(`/api/homelab/alle`)}function Ou(){return`Alle aktualisieren: gestartet. Die Schritte laufen nacheinander; das Ergebnis kommt als Meldung.`}function ku(e){return U(`/api/homelab/sammellauf/${encodeURIComponent(e)}/quittieren`)}function Au(){return``}function ju(){return H(`/api/homelab/speicher`)}function Mu(){return H(`/api/homelab/neu`)}function Nu(){return H(`/api/homelab/docker`)}function Pu(e){let{id:t,wahl:n}=e;return U(`/api/homelab/neu/${t}`,{wahl:n})}function Fu(e,t){return t.text??`Übernommen.`}function Iu(){return H(`/api/homelab/zertifikate`)}function Lu(){return H(`/api/homelab/snapshots`)}function Ru(e){return e.laeuft}function zu(e){return e.state.data?.geraete.some(Ru)?3e3:3e4}function Bu(){return U(`/api/homelab/sicherungen/probe`)}function Vu(){return`Probe gestartet. Das Ergebnis steht in etwa einer Minute bei den Geräten.`}function Hu(e){return H(e.pfad,{method:e.methode})}function Uu(e){return`${e.label}: gestartet. Das Ergebnis steht gleich beim Gerät.`}function Wu(){return H(`/api/homelab/einstellungen`)}function Gu(e){return e===null?H(`/api/homelab/einstellungen/arcane-schluessel`,{method:`DELETE`}):U(`/api/homelab/einstellungen/arcane-schluessel`,{schluessel:e})}function Ku(e,t){return t.text??(e===null?`Arcane-Schlüssel entfernt.`:`Arcane-Schlüssel gespeichert.`)}function qu(e){return e===null?H(`/api/homelab/einstellungen/adguard-zugang`,{method:`DELETE`}):U(`/api/homelab/einstellungen/adguard-zugang`,e)}function Ju(e,t){return t.text??(e===null?`AdGuard-Zugang entfernt.`:`AdGuard-Zugang gespeichert.`)}function Yu(e){return U(`/api/homelab/einstellungen/arcane-echt`,{an:e})}function Xu(e){return e?`Docker-Updates über Arcane laufen jetzt echt.`:`Docker-Updates über Arcane sind wieder nur ein Probelauf.`}function Zu(e){return e?.text?e.zeit?`${e.text} ${tc(e.zeit)}`:e.text:null}var Qu={"ki-box":`KI-Box`,"proxmox-host":`Proxmox-Host`,container:`Container`,vm:`VM`};function $u(e){let t=e.id.match(/-(\d+)$/)?.[1],n=Qu[e.art]??e.art;return t?`${n} ${t}`:n}var K={"Proxmox-Host":`Proxmox`,"AdGuard Home":`AdGuard`,"PVE Scripts Local":`PVE Scripts`,"Proxmox Backup Server":`PBS`,"Arcane (Docker)":`Arcane`},q=e=>K[e.name]??e.name,J=new Set([`app`,`arcane`]),Y=e=>e.bausteine.find(e=>J.has(e.id))??null,X=e=>e.bausteine.find(e=>!J.has(e.id))??null;function ed(e){let t=e.flatMap(e=>e.bausteine.filter(e=>e.zustand===`neu`).map(t=>({ziel:e,baustein:t})));return[...t.filter(e=>e.baustein.aktion),...t.filter(e=>!e.baustein.aktion)]}function td(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);return t.some(e=>e.aktion)?0:t.length>0?1:e.bausteine.some(e=>e.zustand===`unbekannt`)?2:3}function nd(e){let t=e.rueckweg_art??rd(e.rueckweg);return t===`snapshot`?`Snapshot vorher, bei Rot zurück`:t===`sicherung`?`Sicherung vorher, bei Rot zurück`:e.art===`proxmox-host`?`Kein Rückweg, Neustart getrennt`:`Kein automatischer Rückweg`}function rd(e){let t=(e??``).toLowerCase();return t.startsWith(`snapshot vor`)?`snapshot`:t.startsWith(`sicherung`)?`sicherung`:`keiner`}var id=e=>J.has(e.id),ad=e=>e.replace(/^Image vom /,``);function od(e){return id(e)&&e.verfuegbar?e.verfuegbar:e.kurz||e.verfuegbar||`neu`}function sd(e){let t=e.platte;return t&&t.gesamt>0?t.belegt/t.gesamt:null}function cd(e,t){let n=q(e),r=sd(e);if(e.erreichbar===!1)return{id:e.id,label:n,zustand:`fehler`,wert:`antwortet nicht`};if(r!==null&&r>=.9)return{id:e.id,label:n,zustand:`fehler`,wert:`Platte voll`};if(t)return{id:e.id,label:n,zustand:`info`,wert:`Update läuft`};if(r!==null&&r>=.8)return{id:e.id,label:n,zustand:`warn`,wert:`Platte ${Math.round(r*100)} %`};let i=e.bausteine.filter(e=>e.zustand===`neu`);if(i.length>0){let t=i.find(e=>J.has(e.id))??i[0];return{id:e.id,label:n,zustand:`info`,wert:J.has(t.id)&&t.verfuegbar?`→ ${t.verfuegbar}`:od(t)}}let a=Y(e);return{id:e.id,label:n,zustand:`ok`,wert:a?.installiert?ad(a.installiert):`aktuell`}}var ld=e=>`${e} Hinweis${e===1?``:`e`}`;function ud(e,t,n,r){let i=e.ziele.filter(e=>e.erreichbar===!1);if(i.length>0)return{art:`rot`,oben:`Störung`,mitte:i.length===1?`1 Gerät stumm`:`${i.length} Geräte stumm`,unten:i.map(q).join(`, `),ziel:`geraete`};if(t.some(e=>e.stufe===`rot`))return{art:`rot`,oben:`Störung`,mitte:ld(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(!e.ausfuehrer.verbunden)return{art:`gelb`,oben:`Achtung`,mitte:`Ausführer stumm`,unten:`Die Geräte zeigen den letzten Stand`,ziel:null};if(t.length>0)return{art:`gelb`,oben:`Achtung`,mitte:ld(t.length),unten:`Drücken zum Ansehen`,ziel:`hinweise`};if(n>0)return{art:`info`,oben:`Wartung`,mitte:`Update läuft`,unten:`Das Ergebnis kommt als Meldung`,ziel:`updates`};let a=ed(e.ziele).filter(e=>e.baustein.aktion).length;return a>0?{art:`info`,oben:`Homelab`,mitte:`${a} Update${a===1?``:`s`}`,unten:`Drücken zum Ansehen`,ziel:`updates`}:{art:`ok`,oben:`Homelab`,mitte:`Alles aktuell`,unten:r?`Stand ${r}`:`Keine offenen Updates`,ziel:null}}function dd(e){return e?.match(/vom (\d{2}\.\d{2}\.\d{4})/)?.[1]??null}var fd=[{id:`box`,name:`KI-Box`},{id:`homelab`,name:`Homelab`}],pd=[{to:`/`,label:`Übersicht`,Icon:To,ort:`uebersicht`},{to:`/box`,label:`Cockpit`,Icon:po,ort:`box`},{to:`/box/updates`,label:`Updates`,Icon:No,ort:`box`,zaehlt:!0},{to:`/box/modelle`,label:`Modelle`,Icon:io,ort:`box`},{to:`/box/monitoring`,label:`Monitoring`,Icon:Ma,ort:`box`},{to:`/box/dienste`,label:`Dienste und Protokolle`,Icon:zo,ort:`box`},{to:`/homelab`,label:`Cockpit`,Icon:po,ort:`homelab`},{to:`/homelab/updates`,label:`Updates`,Icon:No,ort:`homelab`,zaehlt:!0},{to:`/homelab/snapshots`,label:`Snapshots`,Icon:Fo,ort:`homelab`},{to:`/homelab/monitoring`,label:`Monitoring`,Icon:Ma,ort:`homelab`},{to:`/homelab/protokoll`,label:`Protokoll`,Icon:zo,ort:`homelab`},{to:`/einstellungen`,label:`Einstellungen`,Icon:Uo,ort:`system`}],md={uebersicht:`Auf einen Blick`,box:`KI-Box`,homelab:`Homelab`,system:`Beide Instanzen`};function hd(){let e=(0,z.c)(2),t=Da({select:gd}).replace(/\/+$/,``)||`/`,n;return e[0]===t?n=e[1]:(n=pd.find(e=>e.to===t)??pd[0],e[0]=t,e[1]=n),n}function gd(e){return e.location.pathname}function _d(){let e=(0,z.c)(19),t=Fc(),n=Ic(),r=Vs(),i=t.data?.rolle===`homelab`?`homelab`:`box`,a=r===`live`?`online`:r,o=n.data,s=o?o.eingerichtet?o.erreichbar?`online`:`getrennt`:`fehlt`:`verbinde`,c;e[0]!==a||e[1]!==s||e[2]!==i?(c=i===`box`?{box:a,homelab:s}:{box:s,homelab:a},e[0]=a,e[1]=s,e[2]=i,e[3]=c):c=e[3];let l=c,u=Lc(),d=Rc(l.homelab===`online`),f;e[4]===u.data?.ziele?f=e[5]:(f=u.data?.ziele??[],e[4]=u.data?.ziele,e[5]=f);let p;e[6]===f?p=e[7]:(p=f.reduce(yd,0),e[6]=f,e[7]=p);let m=p,h;e[8]===d.data?.ziele?h=e[9]:(h=ed(d.data?.ziele??[]).filter(vd),e[8]=d.data?.ziele,e[9]=h);let g=h.length,_;e[10]!==m||e[11]!==l.box?(_={verbindung:l.box,updates:m},e[10]=m,e[11]=l.box,e[12]=_):_=e[12];let v;e[13]!==g||e[14]!==l.homelab?(v={verbindung:l.homelab,updates:g},e[13]=g,e[14]=l.homelab,e[15]=v):v=e[15];let y;return e[16]!==_||e[17]!==v?(y={box:_,homelab:v},e[16]=_,e[17]=v,e[18]=y):y=e[18],y}function vd(e){return e.baustein.aktion}function yd(e,t){return e+t.bausteine.filter(bd).length}function bd(e){return e.zustand===`neu`&&e.aktion}var xd={erfolg:`border-gruen-rand bg-gruen-grund text-gruen-text`,fehler:`border-rot-rand bg-rot-grund text-rot-text`,info:`border-cyan-rand bg-cyan-grund text-cyan-text`};function Sd(){let e=(0,z.c)(4),t=ks(),n;e[0]===t?n=e[1]:(n=t.map(Cd),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,M.jsx)(`div`,{"aria-live":`polite`,className:`pointer-events-none fixed right-4 bottom-24 left-4 z-50 flex flex-col items-end gap-2 md:left-auto md:w-[420px] lg:bottom-6`,children:n}),e[2]=n,e[3]=r),r}function Cd(e){return(0,M.jsxs)(`div`,{role:e.art===`fehler`?`alert`:`status`,className:o(`pointer-events-auto flex w-full items-start gap-3 rounded-xl border px-4 py-3 text-[15px] shadow-lg`,xd[e.art]),children:[(0,M.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.text}),(0,M.jsx)(`button`,{type:`button`,onClick:()=>Os(e.id),"aria-label":`Meldung schließen`,className:`-m-2 p-2 opacity-70 hover:opacity-100`,children:(0,M.jsx)(Zo,{className:`size-4`})})]},e.id)}var wd={online:{punkt:`bg-gruen shadow-[0_0_8px_var(--gruen)]`,text:`online`},verbinde:{punkt:`bg-bernstein`,text:`verbinde`},getrennt:{punkt:`bg-rot shadow-[0_0_8px_var(--rot)]`,text:`getrennt`},fehlt:{punkt:`bg-text-3`,text:`nicht eingerichtet`}},Td={uebersicht:`data-[status=active]:from-bernstein/[0.16] before:bg-bernstein before:shadow-[0_0_12px_var(--bernstein)] data-[status=active]:[&>svg]:text-bernstein`,box:`data-[status=active]:from-box/[0.2] before:bg-box before:shadow-[0_0_12px_var(--box)] data-[status=active]:[&>svg]:text-box`,homelab:`data-[status=active]:from-lab/[0.2] before:bg-lab before:shadow-[0_0_12px_var(--lab)] data-[status=active]:[&>svg]:text-lab`,system:`data-[status=active]:from-white/[0.08] before:bg-text-2 data-[status=active]:[&>svg]:text-foreground`},Ed={box:{text:`text-box-text`,kachel:`from-box/30 to-box/[0.05] ring-box/35 text-box`,Icon:Wa},homelab:{text:`text-lab-text`,kachel:`from-lab/30 to-lab/[0.05] ring-lab/35 text-lab`,Icon:Vo}},Dd=`group relative flex h-10 items-center gap-3 rounded-xl pr-3 pl-3.5 text-[14.5px] text-text-2 transition-colors hover:bg-white/[0.045] hover:text-foreground bg-gradient-to-r to-transparent data-[status=active]:text-foreground before:absolute before:top-2.5 before:bottom-2.5 before:left-0 before:w-[3px] before:rounded-full before:opacity-0 before:transition-opacity data-[status=active]:before:opacity-100`;function Od(){let e=(0,z.c)(2),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsxs)(`span`,{className:`relative shrink-0`,children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:`absolute inset-1 rounded-xl bg-bernstein/35 blur-xl`}),(0,M.jsx)(`img`,{src:`/favicon.svg`,alt:``,width:40,height:40,className:`relative size-10`})]}),e[0]=t):t=e[0];let n;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsxs)(`div`,{className:`flex items-center gap-3 px-1.5`,children:[t,(0,M.jsxs)(`span`,{className:`flex flex-col leading-none`,children:[(0,M.jsx)(`span`,{className:`text-[19px] font-semibold tracking-[0.01em]`,children:`Homelab`}),(0,M.jsx)(`span`,{className:`etikett mt-1.5 text-[10.5px] tracking-[0.32em] text-text-3`,children:`Orchestrator`})]})]}),e[1]=n):n=e[1],n}function kd(e){let t=(0,z.c)(16),{s:n,zahl:r,onGewaehlt:i}=e,a=n.to,s=Td[n.ort],c;t[0]===s?c=t[1]:(c=o(Dd,s),t[0]=s,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l={exact:!0},t[2]=l):l=t[2];let u;t[3]===n.Icon?u=t[4]:(u=(0,M.jsx)(n.Icon,{className:`size-[18px] shrink-0 text-text-3 transition-colors group-hover:text-text-2`,"aria-hidden":!0}),t[3]=n.Icon,t[4]=u);let d;t[5]===n.label?d=t[6]:(d=(0,M.jsx)(`span`,{className:`flex-1`,children:n.label}),t[5]=n.label,t[6]=d);let f;t[7]===r?f=t[8]:(f=!!r&&(0,M.jsxs)(`span`,{className:`ziffern rounded-full bg-cyan/12 px-2 text-[11.5px] leading-5 font-medium text-cyan-text ring-1 ring-cyan/30 ring-inset`,children:[r,(0,M.jsxs)(`span`,{className:`sr-only`,children:[` `,r===1?`Update`:`Updates`,` bereit`]})]}),t[7]=r,t[8]=f);let p;return t[9]!==i||t[10]!==n.to||t[11]!==c||t[12]!==u||t[13]!==d||t[14]!==f?(p=(0,M.jsxs)(ta,{to:a,onClick:i,className:c,activeOptions:l,children:[u,d,f]}),t[9]=i,t[10]=n.to,t[11]=c,t[12]=u,t[13]=d,t[14]=f,t[15]=p):p=t[15],p}function Ad(e){let t=(0,z.c)(14),{onGewaehlt:n}=e,r=_d(),i=Fc().data?.rolle!==`homelab`,a=jd,s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=a(`/`),t[0]=s):s=t[0];let c;t[1]===n?c=t[2]:(c=(0,M.jsx)(kd,{s,onGewaehlt:n}),t[1]=n,t[2]=c);let l;t[3]!==i||t[4]!==n||t[5]!==r?(l=fd.map(e=>{let t=wd[r[e.id].verbindung],a=Ed[e.id];return(0,M.jsxs)(`section`,{"aria-label":e.name,className:`flex flex-col gap-0.5`,children:[(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pr-2 pb-2 pl-1`,children:[(0,M.jsxs)(`h2`,{className:o(`etikett flex items-center gap-2.5 text-[12px] tracking-[0.16em]`,a.text),children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`flex size-6 items-center justify-center rounded-lg bg-gradient-to-br ring-1 ring-inset`,a.kachel),children:(0,M.jsx)(a.Icon,{className:`size-3.5`,strokeWidth:2})}),e.name]}),(0,M.jsxs)(`span`,{className:`flex items-center gap-1.5 text-[12px] text-text-3`,children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-1.5 rounded-full`,t.punkt)}),t.text]})]}),pd.filter(t=>t.ort===e.id).map(t=>(0,M.jsx)(kd,{s:t,zahl:t.zaehlt?r[e.id].updates:0,onGewaehlt:n},t.to)),e.id===`box`&&i&&(0,M.jsxs)(`a`,{href:`/hermes-ui/`,target:`_blank`,rel:`noopener`,className:Dd,children:[(0,M.jsx)(co,{className:`size-[18px] shrink-0 text-text-3`,"aria-hidden":!0}),`Hermes-Dashboard`]})]},e.id)}),t[3]=i,t[4]=n,t[5]=r,t[6]=l):l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=a(`/einstellungen`),t[7]=u):u=t[7];let d;t[8]===n?d=t[9]:(d=(0,M.jsx)(`div`,{className:`mt-auto border-t border-white/[0.06] pt-4`,children:(0,M.jsx)(kd,{s:u,onGewaehlt:n})}),t[8]=n,t[9]=d);let f;return t[10]!==c||t[11]!==l||t[12]!==d?(f=(0,M.jsxs)(`nav`,{"aria-label":`Hauptnavigation`,className:`flex flex-1 flex-col gap-7`,children:[c,l,d]}),t[10]=c,t[11]=l,t[12]=d,t[13]=f):f=t[13],f}function jd(e){return pd.find(t=>t.to===e)}var Md=`modulepreload`,Nd=function(e){return`/`+e},Pd={},Fd=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Nd(t,n),t=s(t),t in Pd)return;Pd[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Md,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Id=(0,j.lazy)(()=>Fd(()=>import(`./MenueSchublade-CGkq_EXH.js`).then(e=>({default:e.MenueSchublade})),__vite__mapDeps([0,1,2,3,4]))),Ld=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),Rd=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:`Europe/Berlin`}),zd=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:`Europe/Berlin`});function Bd(){let e=(0,z.c)(21),[t,n]=(0,j.useState)(Vd),r,i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=()=>{let e=window.setInterval(()=>n(new Date),2e4);return()=>window.clearInterval(e)},i=[],e[0]=r,e[1]=i):(r=e[0],i=e[1]),(0,j.useEffect)(r,i);let a;e[2]===t?a=e[3]:(a=Ld.format(t),e[2]=t,e[3]=a);let o;e[4]===a?o=e[5]:(o=(0,M.jsx)(`span`,{className:`ziffern text-[20px] leading-none font-medium sm:text-[22px]`,children:a}),e[4]=a,e[5]=o);let s;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`span`,{"aria-hidden":!0,className:`hidden h-7 w-px bg-white/10 sm:block`}),e[6]=s):s=e[6];let c;e[7]===t?c=e[8]:(c=Rd.format(t).replace(`.`,``),e[7]=t,e[8]=c);let l;e[9]===c?l=e[10]:(l=(0,M.jsx)(`span`,{children:c}),e[9]=c,e[10]=l);let u;e[11]===t?u=e[12]:(u=zd.format(t),e[11]=t,e[12]=u);let d;e[13]===u?d=e[14]:(d=(0,M.jsx)(`span`,{className:`ziffern tracking-normal`,children:u}),e[13]=u,e[14]=d);let f;e[15]!==l||e[16]!==d?(f=(0,M.jsxs)(`span`,{className:`etikett hidden flex-col text-[10.5px] leading-[1.35] text-text-3 sm:flex`,children:[l,d]}),e[15]=l,e[16]=d,e[17]=f):f=e[17];let p;return e[18]!==o||e[19]!==f?(p=(0,M.jsxs)(`div`,{className:`flaeche flex items-center gap-3 rounded-2xl px-3 py-2 sm:px-4`,children:[o,s,f]}),e[18]=o,e[19]=f,e[20]=p):p=e[20],p}function Vd(){return new Date}function Hd(){let e=(0,z.c)(14),t=Vs(),n=t===`live`,r=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,i=n?`text-text-3`:`text-bernstein`,a;e[0]===i?a=e[1]:(a=o(`etikett flex items-center gap-1.5 text-[11px] tracking-[0.12em]`,i),e[0]=i,e[1]=a);let s=n?`bg-gruen shadow-[0_0_8px_var(--gruen)]`:`bg-bernstein`,c;e[2]===s?c=e[3]:(c=o(`size-2 rounded-full`,s),e[2]=s,e[3]=c);let l;e[4]===c?l=e[5]:(l=(0,M.jsx)(`span`,{"aria-hidden":!0,className:c}),e[4]=c,e[5]=l);let u=n?`sr-only`:void 0,d=n?`Verbunden`:t===`verbinde`?`Verbinde`:`Getrennt`,f;e[6]!==u||e[7]!==d?(f=(0,M.jsx)(`span`,{className:u,children:d}),e[6]=u,e[7]=d,e[8]=f):f=e[8];let p;return e[9]!==r||e[10]!==a||e[11]!==l||e[12]!==f?(p=(0,M.jsxs)(`span`,{role:`status`,title:r,className:a,children:[l,f]}),e[9]=r,e[10]=a,e[11]=l,e[12]=f,e[13]=p):p=e[13],p}var Ud={uebersicht:`text-bernstein`,box:`text-box-text`,homelab:`text-lab-text`,system:`text-text-3`};function Wd(){let e=(0,z.c)(27);Ws();let[t,n]=(0,j.useState)(!1),r=hd(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,M.jsxs)(`aside`,{className:`sticky top-0 hidden h-dvh flex-col gap-9 overflow-y-auto border-r border-white/[0.06] bg-[rgb(8_11_17/0.72)] px-4 py-7 backdrop-blur-xl lg:flex`,children:[(0,M.jsx)(Od,{}),(0,M.jsx)(Ad,{})]}),e[0]=i):i=e[0];let a;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>n(!0),e[1]=a):a=e[1];let s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`button`,{type:`button`,onClick:a,className:`-ml-2 flex size-11 shrink-0 items-center justify-center rounded-lg text-text-2 hover:bg-white/[0.06] hover:text-foreground lg:hidden`,"aria-label":`Menü öffnen`,children:(0,M.jsx)(Do,{className:`size-6`})}),e[2]=s):s=e[2];let c=Ud[r.ort],l;e[3]===c?l=e[4]:(l=o(`etikett truncate text-[11.5px] tracking-[0.22em] whitespace-nowrap`,c),e[3]=c,e[4]=l);let u=md[r.ort],d;e[5]!==l||e[6]!==u?(d=(0,M.jsx)(`span`,{className:l,children:u}),e[5]=l,e[6]=u,e[7]=d):d=e[7];let f;e[8]===r.label?f=e[9]:(f=(0,M.jsx)(`h1`,{className:`truncate text-[26px] leading-none font-semibold tracking-[-0.01em] md:text-[32px]`,children:r.label}),e[8]=r.label,e[9]=f);let p;e[10]!==d||e[11]!==f?(p=(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[s,(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-1.5`,children:[d,f]})]}),e[10]=d,e[11]=f,e[12]=p):p=e[12];let m;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,M.jsxs)(`div`,{className:`flex items-center gap-3 sm:gap-4`,children:[(0,M.jsx)(`span`,{className:`lg:hidden`,children:(0,M.jsx)(Hd,{})}),(0,M.jsx)(Bd,{})]}),e[13]=m):m=e[13];let h;e[14]===p?h=e[15]:(h=(0,M.jsxs)(`header`,{className:`flex items-center justify-between gap-4 md:pb-1`,children:[p,m]}),e[14]=p,e[15]=h);let g;e[16]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,M.jsx)(`main`,{className:`flex min-w-0 flex-col gap-5 md:gap-6`,children:(0,M.jsx)(_a,{})}),e[16]=g):g=e[16];let _;e[17]===h?_=e[18]:(_=(0,M.jsxs)(`div`,{className:`mx-auto flex w-full max-w-[1360px] min-w-0 flex-col gap-5 px-4 pt-4 pb-12 sm:px-6 md:gap-6 md:px-10 md:pt-8`,children:[h,g]}),e[17]=h,e[18]=_);let v;e[19]===t?v=e[20]:(v=t&&(0,M.jsx)(Id,{onSchliessen:()=>n(!1)}),e[19]=t,e[20]=v);let y;e[21]===v?y=e[22]:(y=(0,M.jsx)(j.Suspense,{fallback:null,children:v}),e[21]=v,e[22]=y);let b;e[23]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,M.jsx)(Sd,{}),e[23]=b):b=e[23];let x;return e[24]!==_||e[25]!==y?(x=(0,M.jsxs)(`div`,{className:`min-h-dvh lg:grid lg:grid-cols-[272px_minmax(0,1fr)]`,children:[i,_,y,b]}),e[24]=_,e[25]=y,e[26]=x):x=e[26],x}var Gd={gruen:`bg-gruen/10 text-gruen ring-gruen/30`,bernstein:`bg-bernstein/10 text-bernstein ring-bernstein/35`,cyan:`bg-cyan/10 text-cyan-text ring-cyan/30`,rot:`bg-rot/12 text-rot-text ring-rot/40`,grau:`bg-white/[0.04] text-text-2 ring-white/12`};function Kd(e){let t=(0,z.c)(6),{art:n,children:r}=e,i=Gd[n===void 0?`grau`:n],a;t[0]===i?a=t[1]:(a=o(`etikett inline-flex h-6 items-center gap-1.5 rounded-full px-2.5 text-[11px] tracking-[0.08em] whitespace-nowrap ring-1 ring-inset`,i),t[0]=i,t[1]=a);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`span`,{"aria-hidden":!0,className:`size-1.5 shrink-0 rounded-full bg-current opacity-90`}),t[2]=s):s=t[2];let c;return t[3]!==r||t[4]!==a?(c=(0,M.jsxs)(`span`,{className:a,children:[s,r]}),t[3]=r,t[4]=a,t[5]=c):c=t[5],c}function qd(e){let t=(0,z.c)(6),{fehler:n,text:r}=e,i=n?`alert`:`status`,a=n?`border border-rot-rand bg-rot-grund text-rot-text`:`flaeche text-text-2`,s;t[0]===a?s=t[1]:(s=o(`rounded-2xl px-5 py-8 text-center text-[15px]`,a),t[0]=a,t[1]=s);let c;return t[2]!==i||t[3]!==s||t[4]!==r?(c=(0,M.jsx)(`div`,{role:i,className:s,children:r}),t[2]=i,t[3]=s,t[4]=r,t[5]=c):c=t[5],c}var Jd=new Set(`actual-budget.adguard-home.affine.alpine-linux.ansible.appflowy.apprise.arcane.audiobookshelf.authelia.authentik.baserow.bazarr.beszel.bitwarden.bookstack.borgmatic.caddy.calibre-web.changedetection.checkmk.claude.cloudflare.cockpit.comfyui.crafty-controller.crowdsec.debian.deluge.docker.dockge.docmost.dozzle.draw-io.duplicati.elasticsearch.element.emby.esphome.excalidraw.firefly-iii.flatnotes.forgejo.freshrss.frigate.gatus.gitea.github.gitlab.glance.glances.go2rtc.gotify.grafana.grocy.harbor.headscale.healthchecks.hedgedoc.heimdall.hermes-agent.homarr.home-assistant.homebridge.homepage.immich.immich-kiosk.influxdb.it-tools.jellyfin.jellyseerr.jenkins.jitsi-meet.joplin.kavita.keycloak.komga.komodo.kopia.kubernetes.librenms.librespeed.lidarr.linkding.linux.linux-containers-lxc.linuxserver-io.llama-cpp.logseq.loki.mariadb.matomo.matrix.mattermost.mealie.minecraft.miniflux.minio.mongodb.mosquitto.n8n.navidrome.netbird.netdata.nextcloud.nginx.nginx-proxy-manager.nocodb.node-red.ntfy.nzbget.obsidian.ollama.onlyoffice.open-webui.openai.openmediavault.openwrt.opnsense.outline.overseerr.paperless-ngx.penpot.pfsense.photoprism.pi-hole.pingvin-share.piwigo.planka.plausible.plex.portainer.postgresql.privatebin.prometheus.prowlarr.proxmox.proxmox-helper-scripts.pterodactyl.qbittorrent.qnap.rabbitmq.radarr.rancher.rclone.readarr.redis.rocket-chat.rustdesk.sabnzbd.scrutiny.scrypted.seafile.searxng.semaphore.sonarr.speedtest-tracker.stirling-pdf.syncthing.synology.tailscale.tautulli.telegram.traefik.transmission.ubuntu.umami.unraid.uptime-kuma.vaultwarden.vikunja.wallabag.watchtower.webmin.wekan.wiki-js.wireguard.woodpecker-ci.wordpress.zabbix.zigbee2mqtt`.split(`.`)),Yd={ok:`bg-gruen shadow-[0_0_8px_var(--gruen)]`,warn:`bg-bernstein shadow-[0_0_8px_var(--bernstein)]`,rot:`bg-rot shadow-[0_0_8px_var(--rot)]`,info:`bg-cyan shadow-[0_0_8px_var(--cyan)]`,aus:`bg-text-3`},Xd=[[/adguard|pi-?hole/i,V],[/npm|nginx proxy/i,Lo,`nginx-proxy-manager`],[/traefik|caddy/i,Lo],[/netbird|wireguard|tailscale/i,Ra],[/gitea|forgejo|gitlab/i,ho],[/backup server|\bpbs\b/i,oo,`proxmox`],[/arcane|docker|portainer|dockge|komodo/i,no],[/pve scripts|helper.?scripts|community.?scripts/i,uo,`proxmox-helper-scripts`],[/scripts/i,uo],[/home ?assistant/i,yo],[/jellyfin|plex|emby/i,Qa],[/\bnas\b|qnap|truenas|synology/i,_o]];function Zd(e){return e.toLowerCase().replace(/\(.*?\)/g,``).trim().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``)}function Qd(e,t){if(t&&Jd.has(t))return t;let n=Zd(e);if(Jd.has(n))return n;let r=n.split(`-`)[0];return r.length>2&&Jd.has(r)?r:void 0}function $d(e){if(e.art===`ki-box`)return{Icon:Wa,bereich:`box`};if(e.art===`proxmox-host`)return{Icon:Vo,bereich:`homelab`,logo:Qd(`proxmox`)};let t=Xd.find(([t])=>t.test(e.name));return{Icon:t?.[1]??(e.art===`vm`?jo:Ha),bereich:`homelab`,logo:Qd(e.name,t?.[2])}}var ef={os:[xo,`ubuntu`],engine:[$o,`llama-cpp`],motor:[$o,`llama-cpp`],swap:[Go],hermes:[Ba,`hermes-agent`],hirn:[Wa],coder:[eo],jobs:[Yo],sicherung:[oo],platte:[_o],updates:[No]},tf=[[/^hermes/,Ba,`hermes-agent`],[/^llama-swap/,Go],[/^mc2-gateway/,Lo],[/^mc2-steward/,V],[/^mission-control/,Co],[/^voice/,ko],[/^lucy-stimme/,Ia]];function nf(e){let t=tf.find(([t])=>t.test(e)),n=t?.[2];return{Icon:t?.[1]??Ha,bereich:`box`,logo:n&&Jd.has(n)?n:void 0}}function rf(e){let[t,n]=ef[e]??[Ha];return{Icon:t,bereich:`box`,logo:n&&Jd.has(n)?n:void 0}}var af={box:`from-box/30 to-box/[0.05] ring-box/35 text-box-text`,homelab:`from-lab/30 to-lab/[0.05] ring-lab/35 text-lab-text`},of={box:`from-white/[0.1] to-white/[0.03] ring-box/30`,homelab:`from-white/[0.1] to-white/[0.03] ring-lab/30`},sf={box:`shadow-[0_0_28px_-6px_var(--box)]`,homelab:`shadow-[0_0_28px_-6px_var(--lab)]`},cf={sm:{kachel:`size-8 rounded-[10px]`,icon:`size-4`,logo:`size-5`,punkt:`size-2.5`},md:{kachel:`size-10 rounded-xl`,icon:`size-5`,logo:`size-6`,punkt:`size-2.5`},lg:{kachel:`size-12 rounded-2xl`,icon:`size-6`,logo:`size-7`,punkt:`size-3`}};function lf(e){let t=(0,z.c)(17),{bild:n,groesse:r,punkt:i,leuchtet:a,className:s}=e,c=r===void 0?`md`:r,l=a!==void 0&&a,u=cf[c],d=n.logo?of[n.bereich]:af[n.bereich],f=l&&sf[n.bereich],p;t[0]!==s||t[1]!==u.kachel||t[2]!==d||t[3]!==f?(p=o(`relative inline-flex shrink-0 items-center justify-center bg-gradient-to-br ring-1 ring-inset`,d,u.kachel,f,s),t[0]=s,t[1]=u.kachel,t[2]=d,t[3]=f,t[4]=p):p=t[4];let m;t[5]!==n.Icon||t[6]!==n.logo||t[7]!==u.icon||t[8]!==u.logo?(m=n.logo?(0,M.jsx)(`img`,{src:`/logos/${n.logo}.svg`,alt:``,className:o(`object-contain`,u.logo),loading:`lazy`,draggable:!1}):(0,M.jsx)(n.Icon,{className:u.icon,strokeWidth:1.75}),t[5]=n.Icon,t[6]=n.logo,t[7]=u.icon,t[8]=u.logo,t[9]=m):m=t[9];let h;t[10]!==u.punkt||t[11]!==i?(h=i&&(0,M.jsx)(`span`,{className:o(`absolute -right-0.5 -bottom-0.5 rounded-full ring-2 ring-[#0b0f16]`,u.punkt,Yd[i])}),t[10]=u.punkt,t[11]=i,t[12]=h):h=t[12];let g;return t[13]!==p||t[14]!==m||t[15]!==h?(g=(0,M.jsxs)(`span`,{"aria-hidden":!0,className:p,children:[m,h]}),t[13]=p,t[14]=m,t[15]=h,t[16]=g):g=t[16],g}var uf=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:1}),df=new Intl.NumberFormat(`de-DE`,{maximumFractionDigits:0});function ff(e){return e<1e3?`${df.format(e)} B/s`:e<1e6?`${uf.format(e/1e3)} KB/s`:e<1e9?`${uf.format(e/1e6)} MB/s`:`${uf.format(e/1e9)} GB/s`}function pf(e,t){return e==null||Number.isNaN(e)?`–`:t===`prozent`?`${df.format(e)} %`:t===`grad`?`${df.format(e)} °C`:t===`bytes_s`?ff(e):df.format(e)}function Z(e){if(!e)return null;for(let t=e.length-1;t>=0;t--){let n=e[t][1];if(n!==null)return n}return null}function mf(e,t){if(t===`prozent`)return 100;let n=0;for(let t of e)for(let[,e]of t??[])e!==null&&e>n&&(n=e);if(t===`grad`)return Math.max(60,Math.ceil((n+5)/10)*10);if(n<=0)return 1;let r=10**Math.floor(Math.log10(n));for(let e of[1,2,2.5,5,10])if(e*r>=n)return e*r;return 10*r}function hf(e,t,n){return e===null?`ruhig`:e>=n?`rot`:e>=t?`gelb`:`ruhig`}var gf=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),_f=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`});function vf(e,t){let n=new Date(e*1e3);return(t?_f:gf).format(n).replace(`,`,``)}function yf(e){if(!e||e<0)return`–`;let t=Math.floor(e/86400),n=Math.floor(e%86400/3600),r=Math.floor(e%3600/60);return t>0?`${t} T ${n} h`:n>0?`${n} h ${r} min`:`${r} min`}function bf(e){return e<1?`in weniger als einem Tag`:e<1.5?`in etwa einem Tag`:e<21?`in etwa ${Math.round(e)} Tagen`:e<90?`in etwa ${Math.round(e/7)} Wochen`:e<365?`in etwa ${Math.round(e/30)} Monaten`:`frühestens in einem Jahr`}function xf(e){return e?.tage==null?`ok`:e.tage<3?`rot`:e.tage<14?`gelb`:`ok`}function Sf(e,t=1/0){return e?.tage==null||e.tage>=t?null:`voll ${bf(e.tage)}`}function Cf(e){return e?.rate==null?null:`+${e.rate.toFixed(1).replace(`.`,`,`)} % am Tag`}var wf={ok:`text-text-3`,gelb:`text-bernstein`,rot:`text-rot-text`};function Tf(e){let t=Sf(e,60);return t?{text:t,stufe:xf(e)}:null}function Ef(e,t,n){let r=``,i=!1;for(let[a,o]of e){if(o===null){i=!1;continue}r+=`${i?`L`:`M`}${t(a).toFixed(1)},${n(o).toFixed(1)}`,i=!0}return r}function Df(e,t,n,r){let i=``,a=[],o=()=>{a.length>1&&(i+=`M${a[0][0].toFixed(1)},${r}`+a.map(([e,t])=>`L${e.toFixed(1)},${t.toFixed(1)}`).join(``)+`L${a[a.length-1][0].toFixed(1)},${r}Z`),a=[]};for(let[r,i]of e)i===null?o():a.push([t(r),n(i)]);return o(),i}function Of(e){if(!Number.isFinite(e)||e<=0)return[0,1];for(let t=0;;t++)for(let n of[1,2,2.5,5]){let r=n*10**t;if(!Number.isInteger(r))continue;let i=Math.ceil(e/r);if(i<=4)return Array.from({length:i+1},(e,t)=>t*r)}}var kf=e=>Number(e.toFixed(1));function Af(e,t,n,r,i=4){let a=Math.max(0,Math.min(i,n/2,r));return`M${kf(e)},${kf(t+r)}V${kf(t+a)}Q${kf(e)},${kf(t)} ${kf(e+a)},${kf(t)}H${kf(e+n-a)}Q${kf(e+n)},${kf(t)} ${kf(e+n)},${kf(t+a)}V${kf(t+r)}Z`}function jf(e,t,n=2){let r=[],i=0;e.forEach((e,a)=>{if(!(e>0))return;let o=t(i);i+=e;let s=t(i);r.push({index:a,y:s,hoehe:Math.max(0,o-s-(r.length?n:0)),oben:!1})});let a=r.filter(e=>e.hoehe>=1).at(-1);return a&&(a.oben=!0),r}function Mf(e){let t=(0,z.c)(26),{punkte:n,max:r,farbe:i,hoehe:a,beschriftung:o}=e,s=i===void 0?`var(--reihe-1)`:i,c=a===void 0?36:a,l=n[0]?.[0]??0,u=n[n.length-1]?.[0]??1,d;t[0]!==l||t[1]!==u?(d=e=>u>l?(e-l)/(u-l)*100:0,t[0]=l,t[1]=u,t[2]=d):d=t[2];let f=d,p;t[3]!==c||t[4]!==r?(p=e=>c-2-Math.min(e,r)/(r||1)*(c-4),t[3]=c,t[4]=r,t[5]=p):p=t[5];let m=p,h;t[6]===n?h=t[7]:(h=n.some(Nf),t[6]=n,t[7]=h);let g=h,_=(0,j.useId)(),v;if(t[8]!==_){let e;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(e=/[^a-zA-Z0-9_-]/g,t[10]=e):e=t[10],v=_.replace(e,``),t[8]=_,t[9]=v}else v=t[9];let y=`sl${v}`,b=`0 0 100 ${c}`,x;t[11]===c?x=t[12]:(x={height:c},t[11]=c,t[12]=x);let S;t[13]!==s||t[14]!==g||t[15]!==c||t[16]!==n||t[17]!==y||t[18]!==f||t[19]!==m?(S=g&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`defs`,{children:(0,M.jsxs)(`linearGradient`,{id:y,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,M.jsx)(`stop`,{offset:`0`,stopColor:s,stopOpacity:.3}),(0,M.jsx)(`stop`,{offset:`1`,stopColor:s,stopOpacity:0})]})}),(0,M.jsx)(`path`,{d:Df(n,f,m,c),fill:`url(#${y})`}),(0,M.jsx)(`path`,{d:Ef(n,f,m),fill:`none`,stroke:s,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,vectorEffect:`non-scaling-stroke`})]}),t[13]=s,t[14]=g,t[15]=c,t[16]=n,t[17]=y,t[18]=f,t[19]=m,t[20]=S):S=t[20];let C;return t[21]!==o||t[22]!==S||t[23]!==b||t[24]!==x?(C=(0,M.jsx)(`svg`,{role:`img`,"aria-label":o,viewBox:b,preserveAspectRatio:`none`,className:`block w-full`,style:x,children:S}),t[21]=o,t[22]=S,t[23]=b,t[24]=x,t[25]=C):C=t[25],C}function Nf(e){let[,t]=e;return t!==null}var Pf={ruhig:{wert:`text-foreground`,marke:null},gelb:{wert:`text-bernstein`,marke:`hoch`},rot:{wert:`text-rot-text`,marke:`kritisch`}},Ff=48,If=37,Lf=2*Math.PI*If,Rf=Lf*.75;function zf(e,t){let n=(135+270*e)*Math.PI/180;return{x:Ff+t*Math.cos(n),y:Ff+t*Math.sin(n)}}function Bf(e){let t=(0,z.c)(49),{label:n,wert:r,einheit:i,punkte:a,zustand:s,bereich:c,grenzen:l,max:u,zeitraumText:d,i:f,hinweis:p}=e,m=s===void 0?`ruhig`:s,h=u===void 0?100:u,g=f===void 0?0:f,_=Pf[m],v=m===`rot`?`var(--rot)`:m===`gelb`?`var(--bernstein)`:c===`box`?`var(--box)`:`var(--lab)`,y=r==null?0:Math.min(Math.max(r/h,0),1),b;t[0]!==i||t[1]!==r?(b=pf(r,i).split(` `),t[0]=i,t[1]=r,t[2]=b):b=t[2];let[x,S]=b,C;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,M.jsx)(`circle`,{cx:Ff,cy:Ff,r:If,fill:`none`,stroke:`rgb(255 255 255 / 0.07)`,strokeWidth:7,strokeLinecap:`round`,strokeDasharray:`${Rf} ${Lf}`,transform:`rotate(135 ${Ff} ${Ff})`}),t[3]=C):C=t[3];let w;if(t[4]!==l||t[5]!==h){let e;t[7]===h?e=t[8]:(e=(e,t)=>{let n=zf(Math.min(e/h,1),43),r=zf(Math.min(e/h,1),46.5);return(0,M.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,strokeWidth:1.5,strokeLinecap:`round`,stroke:t===0?`var(--bernstein)`:`var(--rot)`,opacity:.55},e)},t[7]=h,t[8]=e),w=l.map(e),t[4]=l,t[5]=h,t[6]=w}else w=t[6];let T;t[9]!==y||t[10]!==v||t[11]!==g||t[12]!==r?(T=r!=null&&y>0&&(0,M.jsx)(`circle`,{cx:Ff,cy:Ff,r:If,fill:`none`,stroke:v,strokeWidth:7,strokeLinecap:`round`,strokeDasharray:`${Math.max(Rf*y,.5)} ${Lf}`,transform:`rotate(135 ${Ff} ${Ff})`,className:`ring-fuellt transition-[stroke-dasharray] duration-700`,style:{"--i":g,filter:`drop-shadow(0 0 5px color-mix(in srgb, ${v} 65%, transparent))`}}),t[9]=y,t[10]=v,t[11]=g,t[12]=r,t[13]=T):T=t[13];let E;t[14]!==w||t[15]!==T?(E=(0,M.jsxs)(`svg`,{viewBox:`0 0 96 96`,className:`size-full`,"aria-hidden":!0,children:[C,w,T]}),t[14]=w,t[15]=T,t[16]=E):E=t[16];let D;t[17]===_.wert?D=t[18]:(D=o(`font-anzeige text-[26px] leading-none font-semibold tabular-nums`,_.wert),t[17]=_.wert,t[18]=D);let O;t[19]!==D||t[20]!==x?(O=(0,M.jsx)(`span`,{className:D,children:x}),t[19]=D,t[20]=x,t[21]=O):O=t[21];let k;t[22]===S?k=t[23]:(k=S&&(0,M.jsx)(`span`,{className:`ml-0.5 self-center pt-1.5 text-[12px] font-medium text-text-3`,children:S}),t[22]=S,t[23]=k);let ee;t[24]!==O||t[25]!==k?(ee=(0,M.jsxs)(`span`,{className:`absolute inset-0 flex items-center justify-center pt-1`,children:[O,k]}),t[24]=O,t[25]=k,t[26]=ee):ee=t[26];let A;t[27]!==ee||t[28]!==E?(A=(0,M.jsxs)(`div`,{className:`relative size-[88px]`,children:[E,ee]}),t[27]=ee,t[28]=E,t[29]=A):A=t[29];let te;t[30]!==_.marke||t[31]!==_.wert?(te=_.marke&&(0,M.jsxs)(`span`,{className:_.wert,children:[`· `,_.marke]}),t[30]=_.marke,t[31]=_.wert,t[32]=te):te=t[32];let ne;t[33]!==n||t[34]!==te?(ne=(0,M.jsxs)(`span`,{className:`etikett -mt-1 flex items-center gap-1.5 text-[10.5px] text-text-3`,children:[n,te]}),t[33]=n,t[34]=te,t[35]=ne):ne=t[35];let re;t[36]!==v||t[37]!==n||t[38]!==h||t[39]!==a||t[40]!==d?(re=(0,M.jsx)(`div`,{className:`w-full px-1`,children:a&&a.length>1?(0,M.jsx)(Mf,{punkte:a,max:h,farbe:v,hoehe:20,beschriftung:`${n}, ${d}`}):(0,M.jsx)(`span`,{className:`block h-5`,"aria-hidden":!0})}),t[36]=v,t[37]=n,t[38]=h,t[39]=a,t[40]=d,t[41]=re):re=t[41];let ie;t[42]===p?ie=t[43]:(ie=p&&(0,M.jsx)(`span`,{className:o(`text-center text-[11px] leading-tight`,wf[p.stufe]),children:p.text}),t[42]=p,t[43]=ie);let j;return t[44]!==A||t[45]!==ne||t[46]!==re||t[47]!==ie?(j=(0,M.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 flex-col items-center gap-1 rounded-2xl px-2 pt-2.5 pb-2`,children:[A,ne,re,ie]}),t[44]=A,t[45]=ne,t[46]=re,t[47]=ie,t[48]=j):j=t[48],j}var Vf={ok:`var(--gruen)`,rot:`var(--rot)`,aus:`rgb(135 146 164 / 0.45)`},Q={ok:`erreichbar`,rot:`antwortet nicht`,aus:`kein Stand`},Hf=90,Uf=72,Wf=9,Gf=2*Math.PI*Uf;function Kf(e){let t=(0,z.c)(32),{segmente:n,glut:r}=e,i=Math.max(n.length,1),a=Gf/i,o=i>1?14:0,s=Math.max(a-o,.5),c;t[0]===n?c=t[1]:(c=n.filter(qf),t[0]=n,t[1]=c);let l=c.length,u=`drop-shadow(0 0 14px color-mix(in srgb, ${r} 40%, transparent))`,d;t[2]===u?d=t[3]:(d={filter:u},t[2]=u,t[3]=d);let f,p,m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,M.jsx)(`g`,{className:`kreist`,children:(0,M.jsx)(`circle`,{cx:Hf,cy:Hf,r:86,fill:`none`,stroke:`rgb(255 255 255 / 0.13)`,strokeWidth:1,strokeDasharray:`1.2 5.6`})}),p=(0,M.jsx)(`circle`,{cx:Hf,cy:Hf,r:Uf,fill:`none`,stroke:`rgb(255 255 255 / 0.05)`,strokeWidth:Wf}),m=(0,M.jsx)(`circle`,{cx:Hf,cy:Hf,r:58,fill:`none`,stroke:`rgb(255 255 255 / 0.06)`,strokeWidth:1}),t[4]=f,t[5]=p,t[6]=m):(f=t[4],p=t[5],m=t[6]);let h;if(t[7]!==s||t[8]!==o||t[9]!==n||t[10]!==a){let e;t[12]!==s||t[13]!==o||t[14]!==a?(e=(e,t)=>(0,M.jsx)(`circle`,{cx:Hf,cy:Hf,r:Uf,fill:`none`,stroke:Vf[e.zustand],strokeWidth:Wf,strokeLinecap:`round`,strokeDasharray:`${s} ${Gf-s}`,strokeDashoffset:-(t*a+o/2),className:`ring-fuellt`,style:{"--i":t},children:(0,M.jsx)(`title`,{children:`${e.name}: ${Q[e.zustand]}`})},e.id),t[12]=s,t[13]=o,t[14]=a,t[15]=e):e=t[15],h=n.map(e),t[7]=s,t[8]=o,t[9]=n,t[10]=a,t[11]=h}else h=t[11];let g;t[16]===h?g=t[17]:(g=(0,M.jsx)(`g`,{transform:`rotate(-90 ${Hf} ${Hf})`,children:h}),t[16]=h,t[17]=g);let _;t[18]!==d||t[19]!==g?(_=(0,M.jsxs)(`svg`,{viewBox:`0 0 180 180`,className:`size-full`,"aria-hidden":!0,style:d,children:[f,p,m,g]}),t[18]=d,t[19]=g,t[20]=_):_=t[20];let v;t[21]===n.length?v=t[22]:(v=(0,M.jsxs)(`span`,{className:`text-text-3`,children:[`/`,n.length]}),t[21]=n.length,t[22]=v);let y;t[23]!==l||t[24]!==v?(y=(0,M.jsxs)(`span`,{className:`font-anzeige text-[38px] leading-none font-semibold tabular-nums sm:text-[46px]`,children:[l,v]}),t[23]=l,t[24]=v,t[25]=y):y=t[25];let b;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,M.jsxs)(`span`,{className:`etikett mt-1.5 flex flex-col items-center text-[9.5px] leading-[1.35] text-text-3 sm:text-[10px]`,children:[(0,M.jsx)(`span`,{children:`Geräte`}),(0,M.jsx)(`span`,{children:`erreichbar`})]}),t[26]=b):b=t[26];let x;t[27]===y?x=t[28]:(x=(0,M.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:[y,b]}),t[27]=y,t[28]=x);let S;return t[29]!==x||t[30]!==_?(S=(0,M.jsxs)(`div`,{className:`relative size-[132px] shrink-0 sm:size-[168px]`,children:[_,x]}),t[29]=x,t[30]=_,t[31]=S):S=t[31],S}function qf(e){return e.zustand===`ok`}var Jf=new Set([`snapshot-anlegen`,`snapshot-loeschen`,`snapshot-zurueck`,`sicherung-loeschen`]),Yf=e=>Jf.has(e.baustein),Xf={update:{chip:`vor Update`,text:`Rückweg vor einem Update`},knopf:{chip:`per Knopf`,text:`Hier per Knopf angelegt`},proxmox:{chip:`von Hand`,text:`Von Hand in Proxmox angelegt`}};function Zf(e,t){return e===null?`Zeitpunkt unbekannt`:$s(new Date(e*1e3).toISOString(),new Date(t*1e3))}function Qf(e,t){return e===null?``:tc(e,t*1e3)}function $f(e){return e===null||e<=0?null:e<1e9?`${Math.round(e/1e6)} MB`:`${(e/1e9).toFixed(1).replace(`.`,`,`)} GB`}function ep(e,t){let n=e.startsWith(`${t}: `)?e.slice(t.length+2):e;return n.charAt(0).toUpperCase()+n.slice(1)}function $(e){let t=[`${e.snapshots} ${e.snapshots===1?`Snapshot`:`Snapshots`}`];return e.sicherungen>0&&t.push(`${e.sicherungen} ${e.sicherungen===1?`Sicherung`:`Sicherungen`}`),t.join(` · `)}var tp=(e,t=1)=>e.toFixed(t).replace(`.`,`,`);function np(e){return e==null?`–`:e>=0xe8d4a51000?`${tp(e/0xe8d4a51000)} TB`:e>=1e10?`${Math.round(e/1e9)} GB`:`${tp(e/1e9)} GB`}function rp(e){return e?/^\s*\d{1,2}:\d{2}\s*$/.test(e)?`täglich ${e.trim()}`:`Zeitplan „${e}“`:`ohne Zeitplan`}function ip(e){return e.jobs.length===0?`Kein Sicherungsauftrag in Proxmox`:e.jobs.map(e=>`${rp(e.zeitplan)} auf ${e.speicher??`?`}`).join(`, `)}var ap={ok:`in Ordnung`,gelb:`wird knapp`,rot:`fast voll`};function op(e){if(e.aktion)return null;let t=e.grund??``,n=t.match(/erst ab (\d{2}\.\d{2}\.(?:\d{4})? ?\d{2}:\d{2})/)?.[1];return n?`ab ${n}`:/eigene Oberfläche|eigenen Oberfläche|eigenes Update/i.test(t)?`über die App`:null}function sp(e){let t=e.bausteine.filter(e=>e.zustand===`neu`);if(t.length===0)return null;let n=[],r=Y(e);if(r?.zustand===`neu`){let e=op(r);n.push(`App → ${r.verfuegbar??`neu`}${e?` (${e})`:``}`)}let i=X(e);i?.zustand===`neu`&&n.push(i.kurz||(i.id===`docker`?`Images`:`Pakete`));for(let e of t)e!==r&&e!==i&&n.push(`${e.name}${e.kurz?` · ${e.kurz}`:``}`);return{id:e.id,name:e.name,teile:n,knopf:t.some(e=>!!e.aktion)}}function cp(e){return e.getrennt.length>0?{stufe:`rot`,titel:`Verbindung weg`,text:`${e.getrennt.join(` und `)} antwortet nicht.`}:e.stumm.length>0||e.hinweiseRot>0?{stufe:`rot`,titel:`Störung`,text:`${e.stumm.length>0?`${e.stumm.join(`, `)} antwortet nicht`:`Ein roter Hinweis wartet`}.`}:e.hinweise>0?{stufe:`gelb`,titel:e.hinweise===1?`1 Hinweis`:`${e.hinweise} Hinweise`,text:`Bei Gelegenheit ansehen.`}:e.updates>0?{stufe:`info`,titel:`Alles läuft`,text:`${e.updates} ${e.updates===1?`Update steht`:`Updates stehen`} bereit.`}:{stufe:`ok`,titel:`Alles läuft`,text:`Keine Hinweise, keine offenen Updates.`}}var lp={ok:{glut:`var(--gruen)`,titel:`text-foreground`,symbol:`text-gruen`,Symbol:Xa},info:{glut:`var(--gruen)`,titel:`text-foreground`,symbol:`text-gruen`,Symbol:Xa},gelb:{glut:`var(--bernstein)`,titel:`text-bernstein`,symbol:`text-bernstein`,Symbol:Ja},rot:{glut:`var(--rot)`,titel:`text-rot-text`,symbol:`text-rot`,Symbol:qo}},up={online:{punkt:`ok`,text:`online`},verbinde:{punkt:`warn`,text:`verbinde`},getrennt:{punkt:`rot`,text:`getrennt`},fehlt:{punkt:`aus`,text:`nicht eingerichtet`}},dp={box:{name:`KI-Box`,rand:`[--rand:color-mix(in_srgb,var(--box)_32%,transparent)]`,text:`text-box-text`,pille:`bg-box/10 text-box-text ring-box/30 hover:bg-box/20`,glut:`var(--box)`,cockpit:`/box`},homelab:{name:`Homelab`,rand:`[--rand:color-mix(in_srgb,var(--lab)_32%,transparent)]`,text:`text-lab-text`,pille:`bg-lab/10 text-lab-text ring-lab/30 hover:bg-lab/20`,glut:`var(--lab)`,cockpit:`/homelab`}},fp=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:`Europe/Berlin`}),pp=e=>({"--i":e}),mp={cyan:{kachel:`bg-cyan/10 text-cyan ring-cyan/25`,wert:`text-cyan`},gruen:{kachel:`bg-gruen/10 text-gruen ring-gruen/25`,wert:`text-gruen`},bernstein:{kachel:`bg-bernstein/10 text-bernstein ring-bernstein/30`,wert:`text-bernstein`},rot:{kachel:`bg-rot/12 text-rot ring-rot/35`,wert:`text-rot-text`},grau:{kachel:`bg-white/[0.05] text-text-2 ring-white/12`,wert:`text-foreground`}};function hp(e){let t=(0,z.c)(23),{Icon:n,label:r,wert:i,art:a,children:s}=e,c=mp[a],l;t[0]===c.kachel?l=t[1]:(l=o(`flex size-10 shrink-0 items-center justify-center rounded-xl ring-1 ring-inset`,c.kachel),t[0]=c.kachel,t[1]=l);let u;t[2]===n?u=t[3]:(u=(0,M.jsx)(n,{className:`size-[18px]`}),t[2]=n,t[3]=u);let d;t[4]!==l||t[5]!==u?(d=(0,M.jsx)(`span`,{"aria-hidden":!0,className:l,children:u}),t[4]=l,t[5]=u,t[6]=d):d=t[6];let f;t[7]===r?f=t[8]:(f=(0,M.jsx)(`span`,{className:`etikett text-[10.5px] text-text-3`,children:r}),t[7]=r,t[8]=f);let p;t[9]===s?p=t[10]:(p=(0,M.jsx)(`span`,{className:`truncate text-[13px] text-text-2`,children:s}),t[9]=s,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[f,p]}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;t[14]===c.wert?h=t[15]:(h=o(`font-anzeige text-[30px] leading-none font-semibold tabular-nums`,c.wert),t[14]=c.wert,t[15]=h);let g;t[16]!==h||t[17]!==i?(g=(0,M.jsx)(`span`,{className:h,children:i}),t[16]=h,t[17]=i,t[18]=g):g=t[18];let _;return t[19]!==d||t[20]!==m||t[21]!==g?(_=(0,M.jsxs)(`div`,{className:`flaeche-innen flex min-w-0 items-center gap-3.5 rounded-2xl px-4 py-3`,children:[d,m,g]}),t[19]=d,t[20]=m,t[21]=g,t[22]=_):_=t[22],_}function gp(e){let t=(0,z.c)(12),{bereich:n,verbindung:r}=e,i=dp[n],a=up[r],s=i.cockpit,c;t[0]===i.pille?c=t[1]:(c=o(`inline-flex h-8 items-center gap-2 rounded-full px-3 text-[13px] ring-1 ring-inset transition-colors`,i.pille),t[0]=i.pille,t[1]=c);let l=Yd[a.punkt],u;t[2]===l?u=t[3]:(u=o(`size-2 rounded-full`,l),t[2]=l,t[3]=u);let d;t[4]===u?d=t[5]:(d=(0,M.jsx)(`span`,{"aria-hidden":!0,className:u}),t[4]=u,t[5]=d);let f;return t[6]!==i.cockpit||t[7]!==i.name||t[8]!==c||t[9]!==d||t[10]!==a.text?(f=(0,M.jsxs)(ta,{to:s,className:c,children:[d,i.name,` `,a.text]}),t[6]=i.cockpit,t[7]=i.name,t[8]=c,t[9]=d,t[10]=a.text,t[11]=f):f=t[11],f}function _p(e){let t=(0,z.c)(22),{bereich:n,titel:r,unterzeile:i,werte:a,basis:s}=e,c=dp[n],l;t[0]===c.text?l=t[1]:(l=o(`etikett text-[11.5px] tracking-[0.16em]`,c.text),t[0]=c.text,t[1]=l);let u;t[2]!==l||t[3]!==r?(u=(0,M.jsx)(`h3`,{className:l,children:r}),t[2]=l,t[3]=r,t[4]=u):u=t[4];let d;t[5]===i?d=t[6]:(d=i&&(0,M.jsx)(`span`,{className:`truncate text-[12.5px] text-text-3`,children:i}),t[5]=i,t[6]=d);let f;t[7]!==u||t[8]!==d?(f=(0,M.jsxs)(`div`,{className:`flex items-baseline justify-between gap-3 px-0.5`,children:[u,d]}),t[7]=u,t[8]=d,t[9]=f):f=t[9];let p;if(t[10]!==s||t[11]!==n||t[12]!==a){let e;t[14]!==s||t[15]!==n?(e=(e,t)=>(0,M.jsx)(Bf,{label:e.label,wert:e.wert,einheit:e.einheit,punkte:e.punkte,bereich:n,grenzen:[e.gelb,e.rot],zustand:hf(e.wert??null,e.gelb,e.rot),zeitraumText:`letzte Stunde`,i:s+t,hinweis:e.hinweis},e.label),t[14]=s,t[15]=n,t[16]=e):e=t[16],p=a.map(e),t[10]=s,t[11]=n,t[12]=a,t[13]=p}else p=t[13];let m;t[17]===p?m=t[18]:(m=(0,M.jsx)(`div`,{className:`grid grid-cols-2 gap-2 sm:grid-cols-4`,children:p}),t[17]=p,t[18]=m);let h;return t[19]!==f||t[20]!==m?(h=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-3`,children:[f,m]}),t[19]=f,t[20]=m,t[21]=h):h=t[21],h}function vp(e){let t=(0,z.c)(40),{homelabAktiv:n}=e,r=cc(),i=Xc(`1h`),a=Hs(),o=Zc(`1h`,n),s=i.data?.reihen,c=r.data?.box,l=a?.ram??(c?.ram_used&&c.ram_total?c.ram_used/c.ram_total*100:null),u;if(t[0]!==c||t[1]!==n||t[2]!==o.data?.geraete||t[3]!==a?.cpu||t[4]!==a?.disk||t[5]!==a?.temp_cpu||t[6]!==i.data?.aktuell||t[7]!==i.data?.prognose?.platte||t[8]!==s?.cpu||t[9]!==s?.platte||t[10]!==s?.ram||t[11]!==s?.temp_cpu||t[12]!==l){let e=o.data?.geraete.find(yp),r;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(r=pp(1),t[14]=r):r=t[14];let d;t[15]===c?d=t[16]:(d=c?.uptime_s?`läuft seit ${yf(c.uptime_s)}`:null,t[15]=c,t[16]=d);let f=a?.cpu??i.data?.aktuell.cpu,p=s?.cpu,m;t[17]!==f||t[18]!==p?(m={label:`CPU`,wert:f,einheit:`prozent`,punkte:p,gelb:85,rot:95},t[17]=f,t[18]=p,t[19]=m):m=t[19];let h=s?.ram,g;t[20]!==l||t[21]!==h?(g={label:`Speicher`,wert:l,einheit:`prozent`,punkte:h,gelb:85,rot:95},t[20]=l,t[21]=h,t[22]=g):g=t[22];let _=a?.temp_cpu??c?.temp_cpu,v=s?.temp_cpu,y;t[23]!==v||t[24]!==_?(y={label:`Temp.`,wert:_,einheit:`grad`,punkte:v,gelb:80,rot:90},t[23]=v,t[24]=_,t[25]=y):y=t[25];let b=a?.disk??c?.platte?.percent,x=s?.platte,S=i.data?.prognose?.platte??c?.platte?.vorhersage,C;t[26]===S?C=t[27]:(C=Tf(S),t[26]=S,t[27]=C);let w;t[28]!==b||t[29]!==x||t[30]!==C?(w={label:`Platte`,wert:b,einheit:`prozent`,punkte:x,gelb:80,rot:90,hinweis:C},t[28]=b,t[29]=x,t[30]=C,t[31]=w):w=t[31];let T;t[32]!==y||t[33]!==w||t[34]!==m||t[35]!==g?(T=[m,g,y,w],t[32]=y,t[33]=w,t[34]=m,t[35]=g,t[36]=T):T=t[36];let E;t[37]!==T||t[38]!==d?(E=(0,M.jsx)(_p,{bereich:`box`,titel:`KI-Box`,basis:0,unterzeile:d,werte:T}),t[37]=T,t[38]=d,t[39]=E):E=t[39],u=(0,M.jsxs)(`section`,{"aria-label":`Instrumente`,className:`auftauchen flaeche grid gap-6 rounded-3xl p-5 sm:p-6 xl:grid-cols-2 xl:gap-8`,style:r,children:[E,n?(0,M.jsx)(_p,{bereich:`homelab`,titel:`Proxmox-Host`,basis:4,unterzeile:e?.aktuell.uptime_s?`läuft seit ${yf(e.aktuell.uptime_s)}`:null,werte:[{label:`CPU`,wert:e?.aktuell.cpu,einheit:`prozent`,punkte:e?.reihen.cpu,gelb:85,rot:95},{label:`Speicher`,wert:e?.aktuell.ram,einheit:`prozent`,punkte:e?.reihen.ram,gelb:90,rot:95},{label:`Temp.`,wert:e?.aktuell.temp_cpu,einheit:`grad`,punkte:e?.reihen.temp_cpu,gelb:80,rot:90},{label:`Platte`,wert:e?.aktuell.platte,einheit:`prozent`,punkte:e?.reihen.platte,gelb:80,rot:90,hinweis:Tf(e?.prognose?.platte)}]}):(0,M.jsx)(`p`,{className:`self-center text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht; hier steht nichts Veraltetes.`})]}),t[0]=c,t[1]=n,t[2]=o.data?.geraete,t[3]=a?.cpu,t[4]=a?.disk,t[5]=a?.temp_cpu,t[6]=i.data?.aktuell,t[7]=i.data?.prognose?.platte,t[8]=s?.cpu,t[9]=s?.platte,t[10]=s?.ram,t[11]=s?.temp_cpu,t[12]=l,t[13]=u}else u=t[13];return u}function yp(e){return e.art===`proxmox-host`}function bp(e){let t=(0,z.c)(5),{titel:n,rechts:r}=e,i;t[0]===n?i=t[1]:(i=(0,M.jsx)(`h3`,{className:`etikett text-[11.5px] tracking-[0.16em] text-text-3`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a}function xp(e){let t=(0,z.c)(42),{bereich:n,verbindung:r,unterzeile:i,i:a,children:s}=e,c=dp[n],l=up[r],u=n===`box`?`ki-box`:`proxmox-host`,d;t[0]!==c.name||t[1]!==u?(d=$d({art:u,name:c.name}),t[0]=c.name,t[1]=u,t[2]=d):d=t[2];let f;t[3]===d?f=t[4]:(f={...d,logo:void 0},t[3]=d,t[4]=f);let p=f,m=c.name,h;t[5]===c.rand?h=t[6]:(h=o(`auftauchen flaeche relative flex min-w-0 flex-col overflow-hidden rounded-3xl`,c.rand),t[5]=c.rand,t[6]=h);let g;t[7]===a?g=t[8]:(g=pp(a),t[7]=a,t[8]=g);let _=`radial-gradient(closest-side, color-mix(in srgb, ${c.glut} 20%, transparent), transparent)`,v;t[9]===_?v=t[10]:(v=(0,M.jsx)(`div`,{"aria-hidden":!0,className:`pointer-events-none absolute -top-44 -left-36 size-[460px] rounded-full`,style:{background:_}}),t[9]=_,t[10]=v);let y=c.cockpit,b;t[11]===p?b=t[12]:(b=(0,M.jsx)(lf,{bild:p,groesse:`lg`,leuchtet:!0}),t[11]=p,t[12]=b);let x;t[13]===c.name?x=t[14]:(x=(0,M.jsx)(`span`,{className:`text-[21px] leading-none font-semibold`,children:c.name}),t[13]=c.name,t[14]=x);let S=Yd[l.punkt],C;t[15]===S?C=t[16]:(C=o(`size-2 shrink-0 rounded-full`,S),t[15]=S,t[16]=C);let w;t[17]===C?w=t[18]:(w=(0,M.jsx)(`span`,{"aria-hidden":!0,className:C}),t[17]=C,t[18]=w);let T;t[19]!==w||t[20]!==i||t[21]!==l.text?(T=(0,M.jsxs)(`span`,{className:`flex items-center gap-2 truncate text-[13px] text-text-3`,children:[w,l.text,` · `,i]}),t[19]=w,t[20]=i,t[21]=l.text,t[22]=T):T=t[22];let E;t[23]!==x||t[24]!==T?(E=(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-1`,children:[x,T]}),t[23]=x,t[24]=T,t[25]=E):E=t[25];let D;t[26]!==b||t[27]!==E?(D=(0,M.jsxs)(`span`,{className:`flex min-w-0 items-center gap-3.5`,children:[b,E]}),t[26]=b,t[27]=E,t[28]=D):D=t[28];let O;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,M.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 rounded-full px-3 py-1.5 text-[13px] text-text-2 ring-1 ring-white/10 transition-colors ring-inset group-hover:bg-white/[0.06] group-hover:text-foreground`,children:[`Cockpit `,(0,M.jsx)(Pa,{className:`size-3.5 transition-transform group-hover:translate-x-0.5`,"aria-hidden":!0})]}),t[29]=O):O=t[29];let k;t[30]!==c.cockpit||t[31]!==D?(k=(0,M.jsxs)(ta,{to:y,className:`group relative flex items-center justify-between gap-3 px-5 pt-5 pb-4 sm:px-6 sm:pt-6`,children:[D,O]}),t[30]=c.cockpit,t[31]=D,t[32]=k):k=t[32];let ee;t[33]===s?ee=t[34]:(ee=(0,M.jsx)(`div`,{className:`relative flex flex-1 flex-col gap-6 px-5 pb-6 sm:px-6`,children:s}),t[33]=s,t[34]=ee);let A;return t[35]!==c.name||t[36]!==k||t[37]!==ee||t[38]!==h||t[39]!==g||t[40]!==v?(A=(0,M.jsxs)(`section`,{"aria-label":m,className:h,style:g,children:[v,k,ee]}),t[35]=c.name,t[36]=k,t[37]=ee,t[38]=h,t[39]=g,t[40]=v,t[41]=A):A=t[41],A}function Sp(e){let t=(0,z.c)(11),{hinweise:n,ziel:r}=e;if(n.length===0)return null;let i,a,s;if(t[0]!==n||t[1]!==r){let e=[...n].sort(Cp);i=`Hinweise`,a=`m-0 flex list-none flex-col gap-1.5 p-0`;let c;t[5]===r?c=t[6]:(c=e=>{let t=e.stufe===`rot`,n=t?qo:Ja;return(0,M.jsx)(`li`,{children:(0,M.jsxs)(ta,{to:r,className:o(`flex items-start gap-2.5 rounded-xl px-3 py-2.5 text-[14px] ring-1 ring-inset transition-colors`,t?`bg-rot/10 text-rot-text ring-rot/35 hover:bg-rot/15`:`bg-bernstein/[0.08] text-bernstein ring-bernstein/30 hover:bg-bernstein/[0.13]`),children:[(0,M.jsx)(n,{className:`mt-0.5 size-4 shrink-0`,"aria-hidden":!0}),(0,M.jsx)(`span`,{className:`min-w-0 flex-1`,children:e.titel}),(0,M.jsx)(`span`,{className:`etikett shrink-0 pt-0.5 text-[10px] opacity-80`,children:t?`Störung`:`Hinweis`})]})},e.id)},t[5]=r,t[6]=c),s=e.slice(0,3).map(c),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=s}else i=t[2],a=t[3],s=t[4];let c;return t[7]!==i||t[8]!==a||t[9]!==s?(c=(0,M.jsx)(`ul`,{"aria-label":i,className:a,children:s}),t[7]=i,t[8]=a,t[9]=s,t[10]=c):c=t[10],c}function Cp(e,t){return Number(t.stufe===`rot`)-Number(e.stufe===`rot`)}var wp=e=>/\((ab |über die App)/.test(e);function Tp(e){let t=(0,z.c)(27),{to:n,bild:r,name:i,unter:a,punkt:s,zustandText:c,rechts:l,updates:u,knopf:d}=e,f;t[0]===u?f=t[1]:(f=u===void 0?[]:u,t[0]=u,t[1]=f);let p=f,m=d!==void 0&&d,h;t[2]!==r||t[3]!==s?(h=(0,M.jsx)(lf,{bild:r,punkt:s}),t[2]=r,t[3]=s,t[4]=h):h=t[4];let g;t[5]!==l||t[6]!==c?(g=c&&!l&&(0,M.jsxs)(`span`,{className:`sr-only`,children:[`, `,c]}),t[5]=l,t[6]=c,t[7]=g):g=t[7];let _;t[8]!==i||t[9]!==g?(_=(0,M.jsxs)(`span`,{className:`truncate text-[14.5px] leading-snug font-medium`,children:[i,g]}),t[8]=i,t[9]=g,t[10]=_):_=t[10];let v;t[11]===l?v=t[12]:(v=l&&(0,M.jsx)(`span`,{className:`shrink-0 text-[12px]`,children:l}),t[11]=l,t[12]=v);let y;t[13]!==_||t[14]!==v?(y=(0,M.jsxs)(`span`,{className:`flex min-w-0 items-baseline justify-between gap-2`,children:[_,v]}),t[13]=_,t[14]=v,t[15]=y):y=t[15];let b;t[16]!==m||t[17]!==a||t[18]!==p?(b=p.length>0?(0,M.jsx)(`span`,{className:`flex min-w-0 flex-wrap gap-x-2 text-[12.5px] leading-snug`,children:p.map(e=>(0,M.jsxs)(`span`,{className:o(`truncate`,m&&!wp(e)?`text-cyan-text`:`text-text-3`),children:[m&&!wp(e)&&(0,M.jsx)(No,{className:`mr-1 inline size-3 -translate-y-px`,"aria-hidden":!0}),e]},e))}):(0,M.jsx)(`span`,{className:`truncate text-[12.5px] leading-snug text-text-3`,children:a}),t[16]=m,t[17]=a,t[18]=p,t[19]=b):b=t[19];let x;t[20]!==y||t[21]!==b?(x=(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[y,b]}),t[20]=y,t[21]=b,t[22]=x):x=t[22];let S;return t[23]!==x||t[24]!==h||t[25]!==n?(S=(0,M.jsxs)(ta,{to:n,className:`flaeche-innen group flex h-full min-w-0 items-center gap-3 rounded-xl px-3 py-2.5 transition-colors hover:border-white/20 hover:bg-white/[0.05]`,children:[h,x]}),t[23]=x,t[24]=h,t[25]=n,t[26]=S):S=t[26],S}var Ep={ok:`ok`,aus:`aus`,warn:`warn`,info:`info`,fehler:`rot`};function Dp(e){return e.zustand===`neu`?{updates:[e.kurz||(e.verfuegbar?`→ ${e.verfuegbar}`:`neu`)],unter:``}:e.zustand===`festgehalten`?{updates:[],unter:`${e.installiert??`–`} · festgehalten`}:{updates:[],unter:e.installiert??`–`}}function Op(e){let t=(0,z.c)(6),{eintraege:n}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,M.jsx)(`p`,{className:`text-sm text-text-3`,children:`Nichts geplant.`}),t[0]=e):e=t[0],e}let r;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,M.jsx)(`span`,{"aria-hidden":!0,className:`absolute top-3 bottom-3 left-[5px] w-px bg-gradient-to-b from-white/20 to-white/0`}),t[1]=r):r=t[1];let i;t[2]===n?i=t[3]:(i=n.map(kp),t[2]=n,t[3]=i);let a;return t[4]===i?a=t[5]:(a=(0,M.jsxs)(`ol`,{className:`relative m-0 flex list-none flex-col p-0`,children:[r,i]}),t[4]=i,t[5]=a),a}function kp(e){let[t,n]=Ap($s(e.zeit)),r=/update/i.test(e.titel);return(0,M.jsxs)(`li`,{className:`relative grid grid-cols-[11px_minmax(0,1fr)_auto] items-center gap-x-3 py-1.5`,children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-[11px] rounded-full ring-[3px] ring-[#0d1119]`,r?`bg-cyan`:`bg-white/25`)}),(0,M.jsx)(`span`,{className:`truncate text-[14.5px]`,children:e.titel}),(0,M.jsxs)(`span`,{className:`ziffern text-[12.5px] whitespace-nowrap text-text-3`,children:[t&&(0,M.jsx)(`span`,{className:`etikett mr-1.5 text-[10px] tracking-[0.1em]`,children:t}),n]})]},`${e.titel}-${e.zeit}`)}function Ap(e){let t=e.match(/^(.*) (\d{2}:\d{2})$/);return t?[t[1].toLowerCase(),t[2]]:[``,e]}function jp(e){let t=(0,z.c)(85),{verbindung:n}=e,r=cc(),i=Lc(),a=lc(),o,s,c,l,u,d,f,p,m,h,g,_;if(t[0]!==a.data?.models||t[1]!==a.data?.running||t[2]!==r.data||t[3]!==n||t[4]!==i.data?.ziele){let e=i.data?.ziele.find(Fp)?.bausteine??[],v=e.filter(Pp),y,b,x,S;if(t[17]!==a.data?.models||t[18]!==a.data?.running||t[19]!==r.data||t[20]!==n){let e=a.data?.models??[],i;t[32]===a.data?.running?i=t[33]:(i=a.data?.running??[],t[32]=a.data?.running,t[33]=i);let c=i,l=[`hirn`,`coder`].map(t=>({rolle:t,m:e.find(e=>bs(e)===t)})),u;t[34]===r.data?.lampen?u=t[35]:(u=r.data?.lampen??[],t[34]=r.data?.lampen,t[35]=u);let d=u,f;t[36]===d?f=t[37]:(f=e=>d.find(t=>t.id===e),t[36]=d,t[37]=f),s=f,o=xp,p=`box`,m=n,h=2,t[38]===r.data?g=t[39]:(g=r.data?.box.ram_total?`${Math.round(r.data.box.ram_total/1073741824)} GB gemeinsamer Speicher`:`Strix Halo`,t[38]=r.data,t[39]=g);let v;t[40]===r.data?.hinweise?v=t[41]:(v=r.data?.hinweise??[],t[40]=r.data?.hinweise,t[41]=v),t[42]===v?_=t[43]:(_=(0,M.jsx)(Sp,{hinweise:v,ziel:`/box`}),t[42]=v,t[43]=_),x=`flex flex-col gap-2.5`,t[44]===c.length?S=t[45]:(S=(0,M.jsx)(bp,{titel:`Modelle`,rechts:(0,M.jsxs)(`span`,{className:`text-[13px] text-text-3`,children:[c.length,` geladen`]})}),t[44]=c.length,t[45]=S),y=`m-0 grid list-none grid-cols-1 gap-2 p-0 sm:grid-cols-2`,b=l.map(e=>{let{rolle:t,m:n}=e,r=!!n&&c.includes(n.name);return(0,M.jsx)(`li`,{children:(0,M.jsx)(Tp,{to:`/box/modelle`,bild:rf(t),name:t===`hirn`?`Hirn`:`Coder`,unter:n?.name??`nicht belegt`,punkt:r?`ok`:`aus`,rechts:(0,M.jsx)(`span`,{className:r?`text-gruen-text`:`text-text-3`,children:r?`geladen`:`auf Abruf`})})},t)}),t[17]=a.data?.models,t[18]=a.data?.running,t[19]=r.data,t[20]=n,t[21]=o,t[22]=s,t[23]=y,t[24]=b,t[25]=x,t[26]=S,t[27]=p,t[28]=m,t[29]=h,t[30]=g,t[31]=_}else o=t[21],s=t[22],y=t[23],b=t[24],x=t[25],S=t[26],p=t[27],m=t[28],h=t[29],g=t[30],_=t[31];let C;t[46]!==y||t[47]!==b?(C=(0,M.jsx)(`ul`,{className:y,children:b}),t[46]=y,t[47]=b,t[48]=C):C=t[48],t[49]!==x||t[50]!==S||t[51]!==C?(l=(0,M.jsxs)(`div`,{className:x,children:[S,C]}),t[49]=x,t[50]=S,t[51]=C,t[52]=l):l=t[52],d=`flex flex-col gap-2.5`;let w=v.length?(0,M.jsxs)(Kd,{art:`cyan`,children:[v.length,` bereit`]}):(0,M.jsx)(Kd,{children:`aktuell`});t[53]===w?f=t[54]:(f=(0,M.jsx)(bp,{titel:`Bausteine`,rechts:w}),t[53]=w,t[54]=f),c=`m-0 grid list-none grid-cols-1 gap-2 p-0 sm:grid-cols-2`;let T;t[55]===s?T=t[56]:(T=e=>{let t=Dp(e),n=s(e.id===`engine`?`motor`:e.id);return(0,M.jsx)(`li`,{children:(0,M.jsx)(Tp,{to:`/box/updates`,bild:rf(e.id),name:e.name.replace(/ \(llama\.cpp\)$/,``),unter:t.unter,updates:t.updates,knopf:!!e.aktion,punkt:n?Ep[n.zustand]:null,zustandText:n?.wert})},e.id)},t[55]=s,t[56]=T),u=e.map(T),t[0]=a.data?.models,t[1]=a.data?.running,t[2]=r.data,t[3]=n,t[4]=i.data?.ziele,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=p,t[13]=m,t[14]=h,t[15]=g,t[16]=_}else o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],p=t[12],m=t[13],h=t[14],g=t[15],_=t[16];let v;t[57]!==c||t[58]!==u?(v=(0,M.jsx)(`ul`,{className:c,children:u}),t[57]=c,t[58]=u,t[59]=v):v=t[59];let y;t[60]!==v||t[61]!==d||t[62]!==f?(y=(0,M.jsxs)(`div`,{className:d,children:[f,v]}),t[60]=v,t[61]=d,t[62]=f,t[63]=y):y=t[63];let b;t[64]===s?b=t[65]:(b=(0,M.jsx)(bp,{titel:`Als Nächstes`,rechts:[`jobs`,`sicherung`].map(e=>s(e)).filter(Np).map(Mp)}),t[64]=s,t[65]=b);let x;t[66]===r.data?.flugplan.geplant?x=t[67]:(x=r.data?.flugplan.geplant??[],t[66]=r.data?.flugplan.geplant,t[67]=x);let S;t[68]===x?S=t[69]:(S=x.slice(0,4),t[68]=x,t[69]=S);let C;t[70]===S?C=t[71]:(C=(0,M.jsx)(Op,{eintraege:S}),t[70]=S,t[71]=C);let w;t[72]!==b||t[73]!==C?(w=(0,M.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[b,C]}),t[72]=b,t[73]=C,t[74]=w):w=t[74];let T;return t[75]!==o||t[76]!==l||t[77]!==y||t[78]!==w||t[79]!==p||t[80]!==m||t[81]!==h||t[82]!==g||t[83]!==_?(T=(0,M.jsxs)(o,{bereich:p,verbindung:m,i:h,unterzeile:g,children:[_,l,y,w]}),t[75]=o,t[76]=l,t[77]=y,t[78]=w,t[79]=p,t[80]=m,t[81]=h,t[82]=g,t[83]=_,t[84]=T):T=t[84],T}function Mp(e){return(0,M.jsxs)(`span`,{className:`hidden items-center gap-1.5 text-[12.5px] text-text-3 sm:flex`,children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-1.5 rounded-full`,Yd[Ep[e.zustand]])}),e.label,` `,e.wert]},e.id)}function Np(e){return!!e}function Pp(e){return e.zustand===`neu`}function Fp(e){return e.art===`ki-box`}var Ip={ok:`bg-lab`,gelb:`bg-bernstein`,rot:`bg-rot`,keine:`bg-text-3`};function Lp(e){let t=(0,z.c)(31),{speicher:n}=e;if(!n)return null;let r;t[0]===n.pools?r=t[1]:(r=n.pools.find(zp)??n.pools[0],t[0]=n.pools,t[1]=r);let i=r,a=n.nas[0],o=n.sicherungen,s;if(t[2]!==a||t[3]!==i||t[4]!==o.stufe||t[5]!==o.zuletzt){if(s=[],i){let e=i.anteil,n;t[7]===i.anteil?n=t[8]:(n=Math.round(i.anteil*100),t[7]=i.anteil,t[8]=n);let r;t[9]===i.frei?r=t[10]:(r=np(i.frei),t[9]=i.frei,t[10]=r);let a=`${n} % · ${r} frei`,o;t[11]!==i.anteil||t[12]!==i.stufe||t[13]!==a?(o={label:`Speicherpool`,anteil:e,text:a,stufe:i.stufe},t[11]=i.anteil,t[12]=i.stufe,t[13]=a,t[14]=o):o=t[14],s.push(o)}if(a){let e=a.gesamt!=null&&a.belegt!=null?a.gesamt-a.belegt:null,n;t[15]!==e||t[16]!==a.anteil||t[17]!==a.problem?(n=a.anteil==null?a.problem??`kein Stand`:`${Math.round(a.anteil*100)} % · ${np(e)} frei`,t[15]=e,t[16]=a.anteil,t[17]=a.problem,t[18]=n):n=t[18];let r;t[19]!==a.anteil||t[20]!==a.stufe||t[21]!==n?(r={label:`NAS`,anteil:a.anteil,stufe:a.stufe,text:n},t[19]=a.anteil,t[20]=a.stufe,t[21]=n,t[22]=r):r=t[22],s.push(r)}let e;t[23]===o.zuletzt?e=t[24]:(e=o.zuletzt?$s(new Date(o.zuletzt*1e3).toISOString()).toLowerCase():`noch keine`,t[23]=o.zuletzt,t[24]=e);let n;t[25]!==o.stufe||t[26]!==e?(n={label:`Sicherungen`,anteil:null,stufe:o.stufe,text:e},t[25]=o.stufe,t[26]=e,t[27]=n):n=t[27],s.push(n),t[2]=a,t[3]=i,t[4]=o.stufe,t[5]=o.zuletzt,t[6]=s}else s=t[6];let c;t[28]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,M.jsx)(bp,{titel:`Speicher und Sicherungen`}),t[28]=c):c=t[28];let l;return t[29]===s?l=t[30]:(l=(0,M.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[c,(0,M.jsx)(`ul`,{className:`m-0 grid list-none grid-cols-1 gap-2 p-0 sm:grid-cols-3`,children:s.map(Rp)})]}),t[29]=s,t[30]=l),l}function Rp(e){return(0,M.jsx)(`li`,{children:(0,M.jsxs)(ta,{to:`/homelab`,className:`flaeche-innen flex h-full flex-col gap-2 rounded-xl px-3 py-2.5 transition-colors hover:border-white/20 hover:bg-white/[0.05]`,children:[(0,M.jsxs)(`span`,{className:`flex items-center justify-between gap-2`,children:[(0,M.jsx)(`span`,{className:`text-[13.5px] font-medium`,children:e.label}),(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-1.5 rounded-full`,Ip[e.stufe])})]}),(0,M.jsx)(`span`,{className:`truncate text-[12.5px] text-text-3`,children:e.text}),e.anteil!=null&&(0,M.jsx)(`span`,{"aria-hidden":!0,className:`h-1 overflow-hidden rounded-full bg-white/[0.08]`,children:(0,M.jsx)(`span`,{className:o(`block h-full rounded-full`,e.stufe===`ok`?`bg-lab/80`:Ip[e.stufe]),style:{width:`${Math.max(2,Math.round(e.anteil*100))}%`}})})]})},e.label)}function zp(e){return e.aktiv}function Bp(e){let t=(0,z.c)(17),{verbindung:n}=e,r=n===`online`,i=Rc(r),a=Vc(r),o=rl(r),s;t[0]===i.data?.ziele?s=t[1]:(s=i.data?.ziele??[],t[0]=i.data?.ziele,t[1]=s);let c=s,l;t[2]===c?l=t[3]:(l=c.filter(Up),t[2]=c,t[3]=l);let u=l.length,d;t[4]===c?d=t[5]:(d=c.filter(Hp),t[4]=c,t[5]=d);let f=d.length,p=c.length?`Proxmox VE · ${f} Gäste`:`Proxmox VE`,m;t[6]!==r||t[7]!==u||t[8]!==a||t[9]!==i.isPending||t[10]!==o||t[11]!==c?(m=r?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Sp,{hinweise:a.data?.hinweise??[],ziel:`/homelab`}),(0,M.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[(0,M.jsx)(bp,{titel:`Geräte`,rechts:(0,M.jsxs)(`span`,{className:`text-[13px] text-text-3`,children:[u,` von `,c.length,` erreichbar`]})}),i.isPending&&c.length===0&&(0,M.jsx)(`p`,{className:`text-sm text-text-3`,children:`Wird gelesen …`}),(0,M.jsx)(`ul`,{className:`m-0 grid list-none grid-cols-1 gap-2 p-0 sm:grid-cols-2`,children:c.map(Vp)})]}),(0,M.jsx)(Lp,{speicher:o.data})]}):(0,M.jsx)(`p`,{className:`text-sm text-text-2`,children:`Der Homelab-Teil antwortet gerade nicht; die Karte zeigt nichts Veraltetes.`}),t[6]=r,t[7]=u,t[8]=a,t[9]=i.isPending,t[10]=o,t[11]=c,t[12]=m):m=t[12];let h;return t[13]!==p||t[14]!==m||t[15]!==n?(h=(0,M.jsx)(xp,{bereich:`homelab`,verbindung:n,i:3,unterzeile:p,children:m}),t[13]=p,t[14]=m,t[15]=n,t[16]=h):h=t[16],h}function Vp(e){let t=sp(e),n=e.erreichbar===!1?`rot`:e.erreichbar?`ok`:`aus`;return(0,M.jsx)(`li`,{children:(0,M.jsx)(Tp,{to:t?`/homelab/updates`:`/homelab`,bild:$d(e),name:q(e),unter:Zu(e.kennzahl)??$u(e),punkt:n,zustandText:e.erreichbar===!1?`antwortet nicht`:e.erreichbar?`erreichbar`:`kein Stand`,updates:t?.teile??[],knopf:t?.knopf??!1})},e.id)}function Hp(e){return e.art!==`proxmox-host`}function Up(e){return e.erreichbar}var Wp={eingespielt:`gruen`,gruen:`gruen`,zurueckgerollt:`bernstein`,gelb:`bernstein`,fehler:`rot`,rot:`rot`,neustart:`cyan`,info:`cyan`,aufgeraeumt:`gruen`},Gp={zurueckgerollt:`zurückgerollt`,aufgeraeumt:`aufgeräumt`,neustart:`Neustart`,fehler:`Fehler`,zurueckgesetzt:`zurückgesetzt`,geloescht:`gelöscht`},Kp={gruen:`bg-gruen`,bernstein:`bg-bernstein`,rot:`bg-rot`,cyan:`bg-cyan`,grau:`bg-white/30`};function qp(e){let t=(0,z.c)(5),{homelabAktiv:n}=e,r=hc(),i=zc(n),a;if(t[0]!==r.data?.laeufe||t[1]!==i.data?.laeufe){let e=[...(r.data?.laeufe??[]).slice(0,8).map(Zp),...(i.data?.laeufe??[]).filter(Xp).slice(0,8).map(Yp)].sort(Jp).slice(0,8),n;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(n=pp(4),t[3]=n):n=t[3];let s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,M.jsx)(`h2`,{className:`text-[17px] leading-tight font-semibold`,children:`Zuletzt eingespielt`}),(0,M.jsx)(`span`,{className:`hidden text-[13px] text-text-3 sm:inline`,children:`beide Bereiche, neueste zuerst`})]}),t[4]=s):s=t[4],a=(0,M.jsxs)(`section`,{"aria-label":`Zuletzt eingespielt`,className:`auftauchen flaeche flex flex-col gap-4 rounded-3xl p-5 sm:p-6`,style:n,children:[s,e.length===0?(0,M.jsx)(`p`,{className:`text-[15px] text-text-2`,children:`Noch keine Updates aufgezeichnet.`}):(0,M.jsx)(`ol`,{className:`m-0 grid list-none gap-x-8 p-0 lg:grid-flow-col lg:grid-cols-2 lg:grid-rows-[repeat(var(--zeilen),auto)]`,style:{"--zeilen":Math.ceil(e.length/2)},children:e.map((t,n)=>(0,M.jsxs)(`li`,{className:o(`grid grid-cols-[10px_minmax(0,1fr)_auto] items-center gap-x-3 border-t border-white/[0.06] py-2.5`,n===0&&`border-t-0`,n===Math.ceil(e.length/2)&&`lg:border-t-0`),children:[(0,M.jsx)(`span`,{"aria-hidden":!0,className:o(`size-2.5 rounded-full`,Kp[t.art])}),(0,M.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,M.jsxs)(`span`,{className:`truncate text-[14.5px]`,children:[(0,M.jsx)(`span`,{className:o(`etikett mr-2 text-[10px] tracking-[0.12em]`,dp[t.bereich].text),children:dp[t.bereich].name}),t.titel]}),(0,M.jsx)(`span`,{className:`ziffern text-[12px] text-text-3`,children:$s(new Date(t.zeit).toISOString()).toLowerCase()})]}),(0,M.jsx)(Kd,{art:t.art,children:t.chip})]},`${t.bereich}-${t.zeit}-${t.titel}`))})]}),t[0]=r.data?.laeufe,t[1]=i.data?.laeufe,t[2]=a}else a=t[2];return a}function Jp(e,t){return t.zeit-e.zeit}function Yp(e){return{zeit:e.start*1e3,bereich:`homelab`,titel:e.name,chip:e.ergebnis?Gp[e.ergebnis]??e.ergebnis:`unterbrochen`,art:(e.ergebnis?Wp[e.ergebnis]:`grau`)??`grau`}}function Xp(e){return e.status!==`laeuft`&&!Yf(e)&&e.baustein!==`probe`}function Zp(e){return{zeit:new Date(e.start).getTime(),bereich:`box`,titel:e.anlass,chip:e.titel,art:Wp[e.stufe]??`grau`}}function Qp(){let e=(0,z.c)(120),t=_d(),n=cc(),r=Lc(),i=t.homelab.verbindung===`online`,a=Rc(i),s=Vc(i);if(n.isPending&&!n.data){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,M.jsx)(qd,{text:`Die Übersicht sammelt sich gleich …`}),e[0]=t):t=e[0],t}let c,l,u,d,f,p,m,h,g,_;if(e[1]!==r.data?.ziele||e[2]!==a.data?.ziele||e[3]!==i||e[4]!==s.data?.hinweise||e[5]!==t.box.updates||e[6]!==t.box.verbindung||e[7]!==t.homelab.updates||e[8]!==t.homelab.verbindung||e[9]!==n.data||e[10]!==n.isError){let o=[...t.box.verbindung===`getrennt`&&n.isError?[`Die KI-Box`]:[],...t.homelab.verbindung===`getrennt`?[`Der Homelab-Teil`]:[]],v=a.data?.ziele??[],y=v.filter(rm).map(nm),b;e[21]===n.data?.hinweise?b=e[22]:(b=n.data?.hinweise??[],e[21]=n.data?.hinweise,e[22]=b);let x;e[23]===s.data?.hinweise?x=e[24]:(x=s.data?.hinweise??[],e[23]=s.data?.hinweise,e[24]=x);let S;e[25]!==b||e[26]!==x?(S=[...b,...x],e[25]=b,e[26]=x,e[27]=S):S=e[27],c=S,h=c.some(tm),_=t.box.updates+t.homelab.updates;let C;e[28]===c?C=e[29]:(C=c.filter(em),e[28]=c,e[29]=C),d=cp({getrennt:o,stumm:y,hinweiseRot:C.length,hinweise:c.length,updates:_}),u=lp[d.stufe],p=n.data?.flugplan.geplant[0];let w;e[30]===p?w=e[31]:(w=p?Ap($s(p.zeit)):[``,`–`],e[30]=p,e[31]=w),[m,f]=w,l=n.data?.zustand.stand;let T;e[32]===r.data?.ziele?T=e[33]:(T=r.data?.ziele.find($p),e[32]=r.data?.ziele,e[33]=T);let E=T?.name??`KI-Box`,D=n.isError?`rot`:n.data?`ok`:`aus`,O;e[34]!==E||e[35]!==D?(O={id:`ki-box`,name:E,zustand:D},e[34]=E,e[35]=D,e[36]=O):O=e[36];let k;e[37]===i?k=e[38]:(k=e=>({id:e.id,name:e.name,zustand:i?e.erreichbar===!1?`rot`:e.erreichbar?`ok`:`aus`:`aus`}),e[37]=i,e[38]=k),g=[O,...v.map(k)],e[1]=r.data?.ziele,e[2]=a.data?.ziele,e[3]=i,e[4]=s.data?.hinweise,e[5]=t.box.updates,e[6]=t.box.verbindung,e[7]=t.homelab.updates,e[8]=t.homelab.verbindung,e[9]=n.data,e[10]=n.isError,e[11]=c,e[12]=l,e[13]=u,e[14]=d,e[15]=f,e[16]=p,e[17]=m,e[18]=h,e[19]=g,e[20]=_}else c=e[11],l=e[12],u=e[13],d=e[14],f=e[15],p=e[16],m=e[17],h=e[18],g=e[19],_=e[20];let v=g,y;e[39]===Symbol.for(`react.memo_cache_sentinel`)?(y=pp(0),e[39]=y):y=e[39];let b=`radial-gradient(closest-side, color-mix(in srgb, ${u.glut} 20%, transparent), transparent)`,x;e[40]===b?x=e[41]:(x=(0,M.jsx)(`div`,{"aria-hidden":!0,className:`glut-atmet pointer-events-none absolute -top-48 -left-40 size-[560px] rounded-full`,style:{background:b}}),e[40]=b,e[41]=x);let S;e[42]!==u.glut||e[43]!==v?(S=(0,M.jsx)(Kf,{segmente:v,glut:u.glut}),e[42]=u.glut,e[43]=v,e[44]=S):S=e[44];let C=u.Symbol,w;e[45]===u.symbol?w=e[46]:(w=o(`size-4`,u.symbol),e[45]=u.symbol,e[46]=w);let T;e[47]!==u.Symbol||e[48]!==w?(T=(0,M.jsx)(C,{className:w,"aria-hidden":!0}),e[47]=u.Symbol,e[48]=w,e[49]=T):T=e[49];let E;e[50]===l?E=e[51]:(E=l?` · geprüft ${fp.format(new Date(l*1e3))}`:``,e[50]=l,e[51]=E);let D;e[52]!==T||e[53]!==E?(D=(0,M.jsxs)(`span`,{className:`etikett flex items-center gap-2 text-[11px] text-text-3`,children:[T,`Gesamtlage`,E]}),e[52]=T,e[53]=E,e[54]=D):D=e[54];let O;e[55]===u.titel?O=e[56]:(O=o(`text-[32px] leading-[1.05] font-semibold tracking-[-0.015em] sm:text-[44px]`,u.titel),e[55]=u.titel,e[56]=O);let k;e[57]!==d.titel||e[58]!==O?(k=(0,M.jsx)(`h2`,{className:O,children:d.titel}),e[57]=d.titel,e[58]=O,e[59]=k):k=e[59];let ee;e[60]===d.text?ee=e[61]:(ee=(0,M.jsx)(`p`,{className:`text-[15px] text-text-2 sm:text-base`,children:d.text}),e[60]=d.text,e[61]=ee);let A;e[62]===t.box.verbindung?A=e[63]:(A=(0,M.jsx)(gp,{bereich:`box`,verbindung:t.box.verbindung}),e[62]=t.box.verbindung,e[63]=A);let te;e[64]===t.homelab.verbindung?te=e[65]:(te=(0,M.jsx)(gp,{bereich:`homelab`,verbindung:t.homelab.verbindung}),e[64]=t.homelab.verbindung,e[65]=te);let ne;e[66]!==A||e[67]!==te?(ne=(0,M.jsxs)(`div`,{className:`mt-1 flex flex-wrap gap-2`,children:[A,te]}),e[66]=A,e[67]=te,e[68]=ne):ne=e[68];let re;e[69]!==k||e[70]!==ee||e[71]!==ne||e[72]!==D?(re=(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2.5`,children:[D,k,ee,ne]}),e[69]=k,e[70]=ee,e[71]=ne,e[72]=D,e[73]=re):re=e[73];let ie;e[74]!==re||e[75]!==S?(ie=(0,M.jsxs)(`div`,{className:`flex min-w-0 items-center gap-5 sm:gap-8`,children:[S,re]}),e[74]=re,e[75]=S,e[76]=ie):ie=e[76];let j=String(_),ae=_?`cyan`:`grau`,oe;e[77]===t.box.updates?oe=e[78]:(oe=(0,M.jsxs)(ta,{to:`/box/updates`,className:`hover:text-foreground`,children:[`KI-Box `,t.box.updates]}),e[77]=t.box.updates,e[78]=oe);let se;e[79]===t.homelab.updates?se=e[80]:(se=(0,M.jsxs)(ta,{to:`/homelab/updates`,className:`hover:text-foreground`,children:[`Homelab `,t.homelab.updates]}),e[79]=t.homelab.updates,e[80]=se);let ce;e[81]!==j||e[82]!==ae||e[83]!==oe||e[84]!==se?(ce=(0,M.jsxs)(hp,{Icon:No,label:`Updates bereit`,wert:j,art:ae,children:[oe,` · `,se]}),e[81]=j,e[82]=ae,e[83]=oe,e[84]=se,e[85]=ce):ce=e[85];let le=h?qo:Ja,ue=String(c.length),de=h?`rot`:c.length?`bernstein`:`grau`,fe=c.length?`stehen oben in den Karten`:`nichts offen`,pe;e[86]!==le||e[87]!==ue||e[88]!==de||e[89]!==fe?(pe=(0,M.jsx)(hp,{Icon:le,label:`Hinweise`,wert:ue,art:de,children:fe}),e[86]=le,e[87]=ue,e[88]=de,e[89]=fe,e[90]=pe):pe=e[90];let me=p?`${p.titel}${m&&m!==`heute`?` · ${m}`:``}`:`nichts geplant`,he;e[91]!==f||e[92]!==me?(he=(0,M.jsx)(hp,{Icon:Ka,label:`Als Nächstes`,wert:f,art:`grau`,children:me}),e[91]=f,e[92]=me,e[93]=he):he=e[93];let N;e[94]!==ce||e[95]!==pe||e[96]!==he?(N=(0,M.jsxs)(`div`,{className:`grid gap-2.5 sm:grid-cols-3 xl:grid-cols-1`,children:[ce,pe,he]}),e[94]=ce,e[95]=pe,e[96]=he,e[97]=N):N=e[97];let ge;e[98]!==ie||e[99]!==N?(ge=(0,M.jsxs)(`div`,{className:`relative grid gap-6 p-5 sm:p-7 xl:grid-cols-[minmax(0,1fr)_minmax(0,340px)] xl:items-center xl:gap-10`,children:[ie,N]}),e[98]=ie,e[99]=N,e[100]=ge):ge=e[100];let P;e[101]!==x||e[102]!==ge?(P=(0,M.jsxs)(`section`,{"aria-label":`Gesamtlage`,className:`auftauchen flaeche relative overflow-hidden rounded-3xl`,style:y,children:[x,ge]}),e[101]=x,e[102]=ge,e[103]=P):P=e[103];let F;e[104]===i?F=e[105]:(F=(0,M.jsx)(vp,{homelabAktiv:i}),e[104]=i,e[105]=F);let _e;e[106]===t.box.verbindung?_e=e[107]:(_e=(0,M.jsx)(jp,{verbindung:t.box.verbindung}),e[106]=t.box.verbindung,e[107]=_e);let ve;e[108]===t.homelab.verbindung?ve=e[109]:(ve=(0,M.jsx)(Bp,{verbindung:t.homelab.verbindung}),e[108]=t.homelab.verbindung,e[109]=ve);let ye;e[110]!==_e||e[111]!==ve?(ye=(0,M.jsxs)(`div`,{className:`grid gap-5 md:gap-6 xl:grid-cols-2`,children:[_e,ve]}),e[110]=_e,e[111]=ve,e[112]=ye):ye=e[112];let be;e[113]===i?be=e[114]:(be=(0,M.jsx)(qp,{homelabAktiv:i}),e[113]=i,e[114]=be);let xe;return e[115]!==P||e[116]!==F||e[117]!==ye||e[118]!==be?(xe=(0,M.jsxs)(M.Fragment,{children:[P,F,ye,be]}),e[115]=P,e[116]=F,e[117]=ye,e[118]=be,e[119]=xe):xe=e[119],xe}function $p(e){return e.art===`ki-box`}function em(e){return e.stufe===`rot`}function tm(e){return e.stufe===`rot`}function nm(e){return e.name}function rm(e){return e.erreichbar===!1}var im=oa({component:Wd,notFoundComponent:()=>(0,M.jsx)(Ri,{to:`/`})}),am=ia({getParentRoute:()=>im,path:`/`,component:Qp}),om=ia({getParentRoute:()=>im,path:`/box`,component:R(()=>Fd(()=>import(`./Start-oSvXqmAt.js`),__vite__mapDeps([5,1,3,6,7])),`StartSeite`)}),sm=ia({getParentRoute:()=>im,path:`/box/updates`,component:R(()=>Fd(()=>import(`./Updates-D4NG6yAI.js`),__vite__mapDeps([8,1,9,3,10,4,6,11])),`UpdatesSeite`)}),cm=ia({getParentRoute:()=>im,path:`/box/modelle`,component:R(()=>Fd(()=>import(`./Modelle-CnfYELFf.js`),__vite__mapDeps([12,1,13,14,9,15,3,2,4,10,6,11,16])),`ModelleSeite`)}),lm=ia({getParentRoute:()=>im,path:`/box/monitoring`,component:R(()=>Fd(()=>import(`./Monitoring-BnCuva0g.js`),__vite__mapDeps([17,1,6,16])),`BoxMonitoringSeite`)}),um=ia({getParentRoute:()=>im,path:`/box/dienste`,component:R(()=>Fd(()=>import(`./Dienste-fAdqSLxO.js`),__vite__mapDeps([18,1,3,10,4,6])),`DiensteSeite`)}),dm=ia({getParentRoute:()=>im,path:`/homelab`,component:R(()=>Fd(()=>import(`./Homelab-6IZiUZgt.js`),__vite__mapDeps([19,1,9,20,15,3,10,4,6,7])),`HomelabSeite`)}),fm=ia({getParentRoute:()=>im,path:`/homelab/updates`,component:R(()=>Fd(()=>import(`./Homelab-6IZiUZgt.js`),__vite__mapDeps([19,1,9,20,15,3,10,4,6,7])),`HomelabUpdatesSeite`)}),pm=ia({getParentRoute:()=>im,path:`/homelab/snapshots`,component:R(()=>Fd(()=>import(`./HomelabSnapshots-Cy2mRe5R.js`),__vite__mapDeps([21,1,20,3,10,4,6])),`HomelabSnapshotsSeite`)}),mm=ia({getParentRoute:()=>im,path:`/homelab/monitoring`,component:R(()=>Fd(()=>import(`./Monitoring-BnCuva0g.js`),__vite__mapDeps([17,1,6,16])),`HomelabMonitoringSeite`)}),hm=ia({getParentRoute:()=>im,path:`/homelab/protokoll`,component:R(()=>Fd(()=>import(`./HomelabProtokoll-DQpZ9qvE.js`),__vite__mapDeps([22,1,9,15,6])),`HomelabProtokollSeite`)}),gm=ia({getParentRoute:()=>im,path:`/einstellungen`,component:R(()=>Fd(()=>import(`./Einstellungen-Dw85frtI.js`),__vite__mapDeps([23,1,3,10,4])),`EinstellungenSeite`)}),_m=ia({getParentRoute:()=>im,path:`/updates`,beforeLoad:()=>{throw un({to:`/box/updates`})}}),vm=ia({getParentRoute:()=>im,path:`/modelle`,beforeLoad:({location:e})=>{throw un({to:`/box/modelle`,hash:e.hash||void 0})}}),ym=Ca({routeTree:im.addChildren([am,om,sm,cm,lm,um,dm,fm,mm,hm,gm,_m,vm,pm]),defaultPreload:`intent`,defaultErrorComponent:ka}),bm=`mc_neuladen_wegen_version`;function xm(){window.addEventListener(`vite:preloadError`,e=>{sessionStorage.getItem(bm)||(e.preventDefault(),sessionStorage.setItem(bm,`1`),window.location.reload())}),window.addEventListener(`load`,()=>{window.setTimeout(()=>sessionStorage.removeItem(bm),5e3)})}xm();var Sm=new pt({defaultOptions:{queries:{retry:1,refetchOnWindowFocus:!1,staleTime:5e3}}});(0,Oa.createRoot)(document.getElementById(`root`)).render((0,M.jsx)(j.StrictMode,{children:(0,M.jsx)(se,{client:Sm,children:(0,M.jsx)(Ea,{router:ym})})}));export{Jc as $,$s as $t,nf as A,I as An,uc as At,q as B,tl as Bt,Z as C,No as Cn,Cc as Ct,hf as D,Da as Dn,lc as Dt,vf as E,Pa as En,jc as Et,Od as F,Wc as Ft,sd as G,cc as Gt,cd as H,ll as Ht,Ad as I,Pc as It,td as J,Uc as Jt,nd as K,Gc as Kt,Y as L,Nc as Lt,Kd as M,ne as Mn,gc as Mt,qd as N,dc as Nt,lf as O,ta as On,il as Ot,Fd as P,Mc as Pt,el as Q,Ac as Qt,$u as R,Qc as Rt,yf as S,Fo as Sn,kc as St,pf as T,Xa as Tn,fc as Tt,dd as U,ul as Ut,ud as V,pc as Vt,ed as W,Kc as Wt,_c as X,hc as Xt,ad as Y,Sc as Yt,pl as Z,Bc as Zt,wf as _,as as _n,cl as _t,Qf as a,ac as an,Xc as at,Sf as b,Zo as bn,Tc as bt,$ as c,xs as cn,Oc as ct,Mf as d,gs as dn,al as dt,rc as en,qc as et,Df as f,_s as fn,dl as ft,Of as g,hs as gn,nl as gt,jf as h,bs as hn,Zc as ht,Xf as i,tc as in,Dc as it,$d as j,oe as jn,Ic as jt,rf as k,Li as kn,ol as kt,Zf as l,ms as ln,bc as lt,Af as m,Ss as mn,zc as mt,ip as n,nc as nn,fl as nt,$f as o,Hs as on,vc as ot,Ef as p,ys as pn,Vc as pt,X as q,mc as qt,np as r,ec as rn,Ec as rt,Yf as s,Ds as sn,Hc as st,ap as t,ic as tn,ml as tt,ep as u,vs as un,Rc as ut,Tf as v,H as vn,rl as vt,mf as w,co as wn,wc as wt,xf as x,qo as xn,Fc as xt,Cf as y,U as yn,sl as yt,Zu as z,$c as zt}; \ No newline at end of file diff --git a/frontend/dist/assets/sheet-DE9QulgP.js b/frontend/dist/assets/sheet-CPc8xmap.js similarity index 96% rename from frontend/dist/assets/sheet-DE9QulgP.js rename to frontend/dist/assets/sheet-CPc8xmap.js index 590a4d9..655fbd6 100644 --- a/frontend/dist/assets/sheet-DE9QulgP.js +++ b/frontend/dist/assets/sheet-CPc8xmap.js @@ -1 +1 @@ -import{a as e,i as t,r as n,t as r}from"./dist-aE7UmubC.js";import{_n as i}from"./index-CJ1jXWsM.js";import{t as a}from"./button-DwYvdWVr.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./dist-D-yM169e.js";var p=n();e();var m=t();function h(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(f,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function g(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(l,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let s;return t[5]!==i||t[6]!==a?(s=(0,m.jsx)(o,{"data-slot":`sheet-overlay`,className:a,...i}),t[5]=i,t[6]=a,t[7]=s):s=t[7],s}function v(e){let t=(0,p.c)(17),n,o,s,l,d;t[0]===e?(n=t[1],o=t[2],s=t[3],l=t[4],d=t[5]):({className:o,children:n,side:l,showCloseButton:d,...s}=e,t[0]=e,t[1]=n,t[2]=o,t[3]=s,t[4]=l,t[5]=d);let f=l===void 0?`right`:l,h=d===void 0||d,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,m.jsx)(_,{}),t[6]=v):v=t[6];let y;t[7]===o?y=t[8]:(y=r(`fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,o),t[7]=o,t[8]=y);let b;t[9]===h?b=t[10]:(b=h&&(0,m.jsx)(c,{"data-slot":`sheet-close`,asChild:!0,children:(0,m.jsxs)(a,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,m.jsx)(i,{}),(0,m.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[9]=h,t[10]=b);let x;return t[11]!==n||t[12]!==s||t[13]!==f||t[14]!==y||t[15]!==b?(x=(0,m.jsxs)(g,{children:[v,(0,m.jsxs)(u,{"data-slot":`sheet-content`,"data-side":f,className:y,...s,children:[n,b]})]}),t[11]=n,t[12]=s,t[13]=f,t[14]=y,t[15]=b,t[16]=x):x=t[16],x}function y(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`flex flex-col gap-0.5 p-4`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(`div`,{"data-slot":`sheet-header`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function b(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`font-heading text-base font-medium text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(d,{"data-slot":`sheet-title`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`text-sm text-muted-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(s,{"data-slot":`sheet-description`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}export{b as a,y as i,v as n,x as r,h as t}; \ No newline at end of file +import{a as e,i as t,r as n,t as r}from"./dist-aE7UmubC.js";import{bn as i}from"./index-CiJU28k0.js";import{t as a}from"./button-DwYvdWVr.js";import{a as o,i as s,n as c,o as l,r as u,s as d,t as f}from"./dist-C2HMtjaj.js";var p=n();e();var m=t();function h(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(f,{"data-slot":`sheet`,...n}),t[2]=n,t[3]=r),r}function g(e){let t=(0,p.c)(4),n;t[0]===e?n=t[1]:({...n}=e,t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r=(0,m.jsx)(l,{"data-slot":`sheet-portal`,...n}),t[2]=n,t[3]=r),r}function _(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,n),t[3]=n,t[4]=a);let s;return t[5]!==i||t[6]!==a?(s=(0,m.jsx)(o,{"data-slot":`sheet-overlay`,className:a,...i}),t[5]=i,t[6]=a,t[7]=s):s=t[7],s}function v(e){let t=(0,p.c)(17),n,o,s,l,d;t[0]===e?(n=t[1],o=t[2],s=t[3],l=t[4],d=t[5]):({className:o,children:n,side:l,showCloseButton:d,...s}=e,t[0]=e,t[1]=n,t[2]=o,t[3]=s,t[4]=l,t[5]=d);let f=l===void 0?`right`:l,h=d===void 0||d,v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,m.jsx)(_,{}),t[6]=v):v=t[6];let y;t[7]===o?y=t[8]:(y=r(`fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10`,o),t[7]=o,t[8]=y);let b;t[9]===h?b=t[10]:(b=h&&(0,m.jsx)(c,{"data-slot":`sheet-close`,asChild:!0,children:(0,m.jsxs)(a,{variant:`ghost`,className:`absolute top-3 right-3`,size:`icon-sm`,children:[(0,m.jsx)(i,{}),(0,m.jsx)(`span`,{className:`sr-only`,children:`Schließen`})]})}),t[9]=h,t[10]=b);let x;return t[11]!==n||t[12]!==s||t[13]!==f||t[14]!==y||t[15]!==b?(x=(0,m.jsxs)(g,{children:[v,(0,m.jsxs)(u,{"data-slot":`sheet-content`,"data-side":f,className:y,...s,children:[n,b]})]}),t[11]=n,t[12]=s,t[13]=f,t[14]=y,t[15]=b,t[16]=x):x=t[16],x}function y(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`flex flex-col gap-0.5 p-4`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(`div`,{"data-slot":`sheet-header`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function b(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`font-heading text-base font-medium text-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(d,{"data-slot":`sheet-title`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}function x(e){let t=(0,p.c)(8),n,i;t[0]===e?(n=t[1],i=t[2]):({className:n,...i}=e,t[0]=e,t[1]=n,t[2]=i);let a;t[3]===n?a=t[4]:(a=r(`text-sm text-muted-foreground`,n),t[3]=n,t[4]=a);let o;return t[5]!==i||t[6]!==a?(o=(0,m.jsx)(s,{"data-slot":`sheet-description`,className:a,...i}),t[5]=i,t[6]=a,t[7]=o):o=t[7],o}export{b as a,y as i,v as n,x as r,h as t}; \ No newline at end of file diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 6aa7355..805fb67 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -9,11 +9,11 @@ Homelab Orchestrator - + - +