Files
mission-control-v2/frontend/dist/assets/abfragen-CDCgpAto.js
T
HitonabiandClaude Opus 5.5 904598031a Später · 18 Plattengesundheit: Proxmox-Host, NAS über SNMP, NVMe der KI-Box
- kern/platten.py: SMART aus pvesh, smartctl und SNMP in einer Form; rot bei SMART FAILED, kritischer Warnung,
  aufgebrauchter Reserve, ≥ 90 % verbraucht; gelb bei ≥ 80 %, Hitze, gewachsenen Fehlerzählern (Ausgangslage je
  Platte, „Zur Kenntnis genommen“ setzt sie neu)
- Ausführer: stündlich disks/list + disks/smart im Bericht (nur lesend)
- services/homelab/nas_snmp.py: kleiner SNMPv2c-GetBulk-Leser ohne neue Abhängigkeit, QNAP hdTable/diskTable,
  Zugang 0600, Einstellungen „Verbindung testen und speichern“
- services/platten.py: NVMe der KI-Box über sudo smartctl (smartmontools am 26.09. nachinstalliert)
- Wächter beider Rollen, Plattenfeld in beiden Cockpits, Doku

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 09:54:38 +02:00

1 line
61 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{a as e,c as t,i as n,r}from"./dist-aE7UmubC.js";var i=t(e(),1),a=n(),o=i.createContext(void 0),s=e=>{let t=i.useContext(o);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},c=({client:e,children:t})=>(i.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,a.jsx)(o.Provider,{value:e,children:t})),l={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},u=new class{#e=l;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 d(e){setTimeout(e,0)}var f=typeof window>`u`||`Deno`in globalThis;function p(){}function m(e,t){return typeof e==`function`?e(t):e}function h(e){return typeof e==`number`&&e>=0&&e!==1/0}function g(e,t){return Math.max(e+(t||0)-Date.now(),0)}function _(e,t){return typeof e==`function`?e(t):e}function v(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==b(o,t.options))return!1}else if(!S(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 y(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(x(t.options.mutationKey)!==x(a))return!1}else if(!S(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function b(e,t){return(t?.queryKeyHashFn||x)(e)}function x(e){return JSON.stringify(e,(e,t)=>T(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function S(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;n<t.length;n++)if(!S(e[n],t[n]))return!1;return!0}let n=Object.keys(t);for(let r of n)if(!S(e[r],t[r]))return!1;return!0}return!1}var ee=Object.prototype.hasOwnProperty;function C(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=te(e)&&te(t);if(!r&&!(T(e)&&T(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<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:ee.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=C(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function w(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function te(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function T(e){if(!ne(e))return!1;let t=Object.getPrototypeOf(e),n=t?.constructor;if(n===void 0)return!0;if(typeof n!=`function`)return!1;let r=n.prototype;return!(!ne(r)||!r.hasOwnProperty(`isPrototypeOf`)||t!==Object.prototype)}function ne(e){return Object.prototype.toString.call(e)===`[object Object]`}function re(e){return new Promise(t=>{u.setTimeout(t,e)})}function ie(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:C(e,t)}function ae(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 se=Symbol();function ce(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===se?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function le(e,t){return typeof e==`function`?e(...t):!!e}function ue(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 de=()=>f,fe=()=>de(),E=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(){}},D=new class extends E{#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`}},pe=d;function me(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=pe,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 O=me(),k=new class extends E{#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 he(e){return Math.min(1e3*2**e,3e4)}function ge(e){return(e??`online`)!==`online`||k.isOnline()}var A=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function _e(e){let t=!1,n=0,r,i=`pending`,a,o,s=new Promise((e,t)=>{a=e,o=t});s.catch(p);let c=()=>i!==`pending`,l=t=>{if(!c()){let n=new A(t);g(n),e.onCancel?.(n)}},u=()=>{t=!0},d=()=>{t=!1},f=()=>D.isFocused()&&(e.networkMode===`always`||k.isOnline())&&e.canRun(),m=()=>ge(e.networkMode)&&e.canRun(),h=e=>{c()||(r?.(),i=`resolved`,a(e))},g=e=>{c()||(r?.(),i=`rejected`,o(e))},_=()=>new Promise(t=>{r=e=>{(c()||f())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,c()||e.onContinue?.()}),v=()=>{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(h).catch(r=>{if(c())return;let i=e.retry??(fe()?0:3),a=e.retryDelay??he,o=typeof a==`function`?a(n,r):a,s=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!s){g(r);return}n++,e.onFail?.(n,r),re(o).then(()=>f()?void 0:_()).then(()=>{t?g(r):v()})})};return{promise:s,status:()=>i,cancel:l,continue:()=>(r?.(),s),cancelRetry:u,continueRetry:d,canStart:m,start:()=>(m()?v():_().then(v),s)}}var ve=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),h(this.gcTime)&&(this.#e=u.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(fe()?1/0:3e5))}clearGcTimeout(){this.#e!==void 0&&(u.clearTimeout(this.#e),this.#e=void 0)}};function ye(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=>{ue(e,()=>t.signal,()=>n=!0)},u=ce(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:ae;return{pages:c(e.pages,o,s),pageParams:c(e.pageParams,r,s)}};if(i&&a.length){let e=i===`backward`,t=e?xe:be,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:be(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.fetchFn=t.options.persister?()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):l}}}function be(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 xe(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Se=class extends ve{#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=Te(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=Te(this.options);e.data!==void 0&&(this.setState(we(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=ie(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(p).catch(p):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=>_(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===se||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0&&this.observers.some(e=>_(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:!g(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=ce(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`?ye(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=_e({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof A&&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 A){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,...Ce(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...we(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),O.batch(()=>{this.observers.slice().forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Ce(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:ge(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function we(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function Te(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 Ee=class extends E{#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),Oe(this.#t,this.options)?this.#m():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return j(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return j(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 _(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&&!w(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&ke(this.#t,n,this.options,t)&&this.#m(),this.updateResult(),r&&(this.#t!==n||_(this.options.enabled,this.#t)!==_(t.enabled,this.#t)||_(this.options.staleTime,this.#t)!==_(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||_(this.options.enabled,this.#t)!==_(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 w(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(p)),t}#h(e){return!fe()&&_(this.options.enabled,this.#t)!==!1&&h(e)}#g(){this.#b();let e=_(this.options.staleTime,this.#t);if(this.#r.isStale||!this.#h(e))return;let t=g(this.#r.dataUpdatedAt,e)+1;this.#u=u.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return _(this.options.refetchInterval,this.#t)??!1}#v(e){this.#x(),this.#f=e,this.#f!==0&&this.#h(this.#f)&&(this.#d=u.setInterval(()=>{(this.options.refetchIntervalInBackground||D.isFocused())&&this.#m()},this.#f))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#u!==void 0&&(u.clearTimeout(this.#u),this.#u=void 0)}#x(){this.#d!==void 0&&(u.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&&Oe(e,t),o=i&&ke(e,n,t,r);(a||o)&&(l={...l,...Ce(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=ie(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=ie(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`,v=m===`pending`,y=m===`error`,b=v&&g,x=d!==void 0;return{status:m,fetchStatus:l.fetchStatus,isPending:v,isSuccess:m===`success`,isError:y,isInitialLoading:b,isLoading:b,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&&!v,isLoadingError:y&&!x,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:y&&x,isStale:M(e,t),refetch:this.refetch,isEnabled:_(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),w(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)})})();O.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 De(e,t){return _(t.enabled,e)!==!1&&e.state.data===void 0&&(e.state.status!==`error`||_(t.retryOnMount,e)!==!1)}function Oe(e,t){return De(e,t)||e.state.data!==void 0&&j(e,t,t.refetchOnMount)}function j(e,t,n){if(_(t.enabled,e)!==!1&&_(t.staleTime,e)!==`static`){let r=_(n,e);return r===`always`||r!==!1&&M(e,t)}return!1}function ke(e,t,n,r){return(e!==t||_(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&M(e,n)}function M(e,t){return _(t.enabled,e)!==!1&&e.isStaleByTime(_(t.staleTime,e))}var Ae=class extends ve{#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||je(),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=_e({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),O.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function je(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Me=class extends E{#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),w(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&x(t.mutationKey)!==x(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??je();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){O.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 Ne(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var Pe=class extends E{#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,O.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||!w(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(Ne(e,n).forEach(e=>{e.destroy()}),Ne(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=C(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 Ee(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)&&O.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},Fe=i.createContext(!1),Ie=()=>i.useContext(Fe);Fe.Provider;function Le(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Re=i.createContext(Le()),ze=()=>i.useContext(Re),Be=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?le(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||r)&&(t.isReset()||(e.retryOnMount=!1))},Ve=e=>{i.useEffect(()=>{e.clearReset()},[e])},He=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||le(n,[e.error,r])),Ue=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))}},N=(e,t)=>e?.suspense&&t.isPending,We=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Ge({queries:e,...t},n){let r=s(n),a=Ie(),o=ze(),c=t.subscribed!==!1,l=i.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=a?`isRestoring`:c?`optimistic`:void 0,t}),[e,r,a,c]);l.forEach(e=>{Ue(e);let t=r.getQueryCache().get(e.queryHash);Be(e,o,t)}),Ve(o);let[u]=i.useState(()=>new Pe(r,l,t)),[d,f,m]=u.getOptimisticResult(l,t.combine),h=!a&&c;i.useSyncExternalStore(i.useCallback(e=>h?u.subscribe(O.batchCalls(e)):p,[u,h]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),i.useEffect(()=>{u.setQueries(l,t)},[l,t,u]);let g=d.some((e,t)=>N(l[t],e))?d.flatMap((e,t)=>{let n=l[t];return n&&N(n,e)?We(n,new Ee(r,n),o):[]}):[];if(g.length>0)throw Promise.all(g);let _=d.find((e,t)=>{let n=l[t];return n&&He({result:e,errorResetBoundary:o,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(_)throw _.error;return f(m())}function Ke(e,t,n){let r=Ie(),a=ze(),o=s(n),c=o.defaultQueryOptions(e),l=o.getQueryCache().get(c.queryHash),u=e.subscribed!==!1;c._optimisticResults=r?`isRestoring`:u?`optimistic`:void 0,Ue(c),Be(c,a,l),Ve(a);let[d]=i.useState(()=>new t(o,c)),f=d.getOptimisticResult(c),m=!r&&u;if(i.useSyncExternalStore(i.useCallback(e=>{let t=m?d.subscribe(O.batchCalls(e)):p;return d.updateResult(),t},[d,m]),()=>d.getCurrentResult(),()=>d.getCurrentResult()),i.useEffect(()=>{d.setOptions(c)},[c,d]),N(c,f))throw We(c,d,a);if(He({result:f,errorResetBoundary:a,throwOnError:c.throwOnError,query:l,suspense:c.suspense}))throw f.error;return c.notifyOnChangeProps?f:d.trackResult(f)}function P(e,t){return Ke(e,Ee,t)}function qe(e,t){let n=s(t),[r]=i.useState(()=>new Me(n,e));i.useEffect(()=>{r.setOptions(e)},[r,e]);let a=i.useSyncExternalStore(i.useCallback(e=>r.subscribe(O.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),o=i.useCallback((...e)=>{r.mutate(e[0],e[1]).catch(p)},[r]);if(a.error&&le(r.options.throwOnError,[a.error]))throw a.error;return{...a,mutate:o,mutateAsync:a.mutate}}var F=r(),Je=[`/api/instanz`,`/api/partner`,`/api/health`],Ye=(e,t)=>e===t||e.startsWith(`${t}/`)||e.startsWith(`${t}?`);function Xe(e,t){return!e.startsWith(`/api/`)||Je.some(t=>Ye(e,t))||(Ye(e,`/api/homelab`)?`homelab`:`box`)===t?e:`/api/partner${e.slice(4)}`}var I=null;function Ze(){return I??=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(()=>(I=null,`box`)),I}var L=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.detail=t,this.name=`ApiFehler`}};function Qe(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 R(e,t={}){let n=Xe(e,await Ze()),r;try{r=await fetch(n,{...t,headers:{"Content-Type":`application/json`,Accept:`application/json`,...t.headers}})}catch{throw new L(0,`MC2 ist nicht erreichbar. Läuft die Box?`)}let i=await r.text(),a=i?$e(i):null;if(!r.ok)throw new L(r.status,Qe(a,r.status));if(typeof a==`string`)throw new L(r.status,`Die Box antwortet nicht mit Daten.`);return a}function $e(e){try{return JSON.parse(e)}catch{return e}}var z=(e,t)=>R(e,{method:`POST`,body:t===void 0?void 0:JSON.stringify(t)}),et=100,tt=95,nt=210,B=240;function rt(e,t){let n=e*Math.PI/180;return[et+t*Math.cos(n),tt-t*Math.sin(n)]}var V=e=>Math.round(e*100)/100;function it(e,t,n){let r=Math.max(0,Math.min(1,e)),i=Math.max(r,Math.min(1,t)),[a,o]=rt(nt-B*r,n),[s,c]=rt(nt-B*i,n),l=+((i-r)*B>180);return`M ${V(a)} ${V(o)} A ${n} ${n} 0 ${l} 1 ${V(s)} ${V(c)}`}function at(e){return e==null?`var(--text-3)`:e>=85?`var(--rot)`:e>=70?`var(--bernstein)`:`var(--box)`}function ot(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 st(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 H(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 U=e=>e.state===`running`||e.state===`queued`;function ct(e){let t=e.aliases.map(e=>e.toLowerCase());return t.includes(`hermes`)||t.includes(`fast`)?`hirn`:t.includes(`coder`)?`coder`:null}var lt={neu:`Neu`,wartet:`Wartet`,getestet:`Gemessen`,bestanden:`Bestanden`,durchgefallen:`Durchgefallen`,uebernommen:`Übernommen`,verworfen:`Verworfen`};function ut(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 W=[],dt=1,G=new Set,ft=()=>G.forEach(e=>e());function K(e,t){let n=dt++;W=[...W,{id:n,art:e,text:t}].slice(-4),ft(),e!==`fehler`&&window.setTimeout(()=>pt(n),6e3)}function pt(e){W=W.filter(t=>t.id!==e),ft()}var mt=()=>(0,i.useSyncExternalStore)(ht,gt);function ht(e){return G.add(e),()=>{G.delete(e)}}function gt(){return W}var q=2e3,_t=3e4,vt=2e4,J=`verbinde`,yt=null,bt=new Set,xt=()=>bt.forEach(e=>e());function St(e){return bt.add(e),()=>{bt.delete(e)}}var Ct=()=>J===`live`,wt=()=>(0,i.useSyncExternalStore)(St,Dt),Tt=()=>(0,i.useSyncExternalStore)(St,Ot);function Y(e){e!==J&&(J=e,xt())}function Et(){let e=s();(0,i.useEffect)(()=>{let t=null,n,r,i=Date.now(),a=q,o=!1;function s(){o||(window.clearTimeout(n),n=window.setTimeout(l,a),a=Math.min(a*2,_t))}function c(){i=Date.now(),window.clearTimeout(r),r=window.setTimeout(()=>{t?.close(),Y(`getrennt`),s()},vt)}function l(){window.clearTimeout(n),window.clearTimeout(r),t?.close();let i=new EventSource(`/api/stream`);t=i,i.onopen=()=>{a=q,Y(`live`),c(),e.invalidateQueries()},i.onerror=()=>{Y(`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{yt=JSON.parse(e.data),xt()}catch{}})}let u=()=>{o||document.visibilityState!==`visible`||(t?.readyState===EventSource.CLOSED||Date.now()-i>5e3)&&(a=q,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(),Y(`getrennt`)}},[e])}function Dt(){return J}function Ot(){return yt}var X=`Europe/Berlin`,kt=new Intl.DateTimeFormat(`de-DE`,{hour:`2-digit`,minute:`2-digit`,timeZone:X}),At=new Intl.DateTimeFormat(`de-DE`,{weekday:`short`,timeZone:X}),jt=new Intl.DateTimeFormat(`de-DE`,{day:`2-digit`,month:`2-digit`,timeZone:X}),Mt=new Intl.DateTimeFormat(`en-CA`,{timeZone:X});function Z(e){return Mt.format(e)}function Nt(e,t=new Date){let n=new Date(e);if(Number.isNaN(n.getTime()))return`–`;let r=Z(t),i=Z(new Date(t.getTime()-864e5)),a=Z(new Date(t.getTime()+864e5)),o=Z(n),s=kt.format(n);return o===r?`HEUTE ${s}`:o===i?`GESTERN ${s}`:o===a?`MORGEN ${s}`:Math.abs(n.getTime()-t.getTime())<5616e5?`${At.format(n).replace(`.`,``).toUpperCase()} ${s}`:`${jt.format(n)} ${s}`}function Pt(e,t=new Date){let n=new Date(e*1e3);return Z(n)===Z(t)?`seit heute ${kt.format(n)}`:`seit ${jt.format(n)}, ${kt.format(n)}`}function Ft(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 It(e){return e==null||e<0?null:[Math.floor(e/86400),Math.floor(e%86400/3600)]}var Lt=e=>e==null?null:e/1024**3;function Rt(e,t=0){let n=Lt(e);return n==null?`–`:n>=1e3?`${(n/1024).toFixed(1).replace(`.`,`,`)} TB`:`${n.toFixed(t).replace(`.`,`,`)} GB`}var zt=e=>e.toLocaleString(`de-DE`),Q=e=>()=>Ct()?e*5:e;function Bt(e,t){let n=e.getQueryData([`jobs`])?.jobs??[],r=t.filter(e=>!U(e)&&n.some(t=>t.id===e.id&&U(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 Vt=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`start`],queryFn:lr,refetchInterval:ur},e[0]=t):t=e[0],P(t)},Ht=()=>{let e=(0,F.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:dr,refetchInterval:Q(3e4)},e[1]=n):n=e[1],P(n)},Ut=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`nutzung`],queryFn:fr,refetchInterval:6e5},e[0]=t):t=e[0],P(t)},Wt=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`radar`],queryFn:pr,retry:!1,refetchInterval:3e5},e[0]=t):t=e[0],P(t)},Gt=()=>{let e=(0,F.c)(3),t=s(),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 R(`/api/jobs`);return Bt(t,e.jobs),e},refetchInterval:mr},e[1]=t,e[2]=r),P(r)},Kt=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`sicherungen`],queryFn:hr},e[0]=t):t=e[0],P(t)},qt=e=>{let t=(0,F.c)(4),n;t[0]===e?n=t[1]:(n=e.map(gr),t[0]=e,t[1]=n);let r;return t[2]===n?r=t[3]:(r={queries:n},t[2]=n,t[3]=r),Ge(r)},Jt=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`updates-verlauf`],queryFn:_r},e[0]=t):t=e[0],P(t)},Yt=e=>{let t=(0,F.c)(7),n,r;t[0]===e?(n=t[1],r=t[2]):(n=[`protokoll`,e],r=()=>R(`/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],P(a)},Xt=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`ablaeufe`],queryFn:vr,refetchInterval:6e4},e[0]=t):t=e[0],P(t)},Zt=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`dienste`],queryFn:yr,refetchInterval:1e4},e[0]=t):t=e[0],P(t)};function $(e,t){let n=(0,F.c)(6),r=s(),i;n[0]!==t||n[1]!==r?(i=(e,n)=>{let i=e;i&&i.ok===!1?K(`fehler`,t.fehler?.(n,i)??H(i)):t.erfolg(n,e)&&K(`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:Qt},n[3]=e,n[4]=i,n[5]=a):a=n[5],qe(a)}function Qt(e){return K(`fehler`,e.message)}var $t=e=>{let t=(0,F.c)(4),n=e===void 0?`/api/hinweise`:e,r;t[0]===n?r=t[1]:(r=e=>{let{hinweis:t,aktion:r}=e;return z(`${n}/${encodeURIComponent(t)}/aktion/${r}`)},t[0]=n,t[1]=r);let i;return t[2]===n?i=t[3]:(i={erfolg:br,neuLaden:n===`/api/hinweise`?[`start`]:[`homelab-hinweise`]},t[2]=n,t[3]=i),$(r,i)},en=new Set([`gesehen`,`stumm`,`laut`]),tn={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`},nn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Sr,neuLaden:[`jobs`,`start`]},e[0]=t):t=e[0],$(xr,t)},rn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:wr,fehler:Tr,neuLaden:[`jobs`]},e[0]=t):t=e[0],$(Cr,t)},an=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Dr,neuLaden:[`jobs`]},e[0]=t):t=e[0],$(Er,t)},on=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:kr,neuLaden:[`jobs`,`models`]},e[0]=t):t=e[0],$(Or,t)},sn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`aufraeumen`],queryFn:Ar,staleTime:6e4},e[0]=t):t=e[0],P(t)},cn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Mr,neuLaden:[`aufraeumen`,`models`,`start`]},e[0]=t):t=e[0],$(jr,t)},ln=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Pr,neuLaden:[`start`]},e[0]=t):t=e[0],$(Nr,t)},un=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ir,fehler:Lr,neuLaden:[`sicherungen`,`start`]},e[0]=t):t=e[0],$(Fr,t)},dn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:zr,neuLaden:[`sicherungen`]},e[0]=t):t=e[0],$(Rr,t)},fn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Vr,neuLaden:[`models`,`start`]},e[0]=t):t=e[0],$(Br,t)},pn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ur,neuLaden:[`radar`,`models`,`start`]},e[0]=t):t=e[0],$(Hr,t)},mn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Gr,neuLaden:[`radar`,`jobs`]},e[0]=t):t=e[0],$(Wr,t)},hn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:qr,neuLaden:[`jobs`]},e[0]=t):t=e[0],$(Kr,t)},gn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`instanz`],queryFn:Jr,staleTime:1/0},e[0]=t):t=e[0],P(t)},_n=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`partner`],queryFn:Yr,refetchInterval:3e4},e[0]=t):t=e[0],P(t)},vn=()=>{let e=(0,F.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:Xr,refetchInterval:Q(3e4)},e[1]=n):n=e[1],P(n)},yn=e=>{let t=(0,F.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:Zr,enabled:e,refetchInterval:3e4},t[1]=e,t[2]=r),P(r)},bn=e=>{let t=(0,F.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:Qr,enabled:e,refetchInterval:ei},t[1]=e,t[2]=r),P(r)},xn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ni,neuLaden:[`homelab`,`homelab-laeufe`,`ziele-box`,`jobs`,`start`]},e[0]=t):t=e[0],$(ti,t)},Sn=e=>{let t=(0,F.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=Q(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:ri,enabled:e,refetchInterval:r},t[2]=e,t[3]=i),P(i)},Cn=e=>{let t=(0,F.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:ii,enabled:e,retry:!1},t[1]=e,t[2]=r),P(r)},wn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:oi,neuLaden:[`einstellungen`,`start`]},e[0]=t):t=e[0],$(ai,t)},Tn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ci,neuLaden:[`einstellungen`,`start`,`radar`]},e[0]=t):t=e[0],$(si,t)},En=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ui,neuLaden:[]},e[0]=t):t=e[0],$(li,t)},Dn=(e,t)=>{let n=(0,F.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:di,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:fi,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],Ge(c)},On=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`altreste`],queryFn:pi,staleTime:6e4},e[0]=t):t=e[0],P(t)},kn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:hi,neuLaden:[`altreste`,`start`]},e[0]=t):t=e[0],$(mi,t)},An={"1h":6e4,"24h":3e5,"7d":9e5},jn=(e,t)=>{let n=(0,F.c)(8),r=t===void 0||t,i,a;n[0]===e?(i=n[1],a=n[2]):(i=[`messwerte`,`box`,e],a=()=>R(`/api/messwerte?zeitraum=${e}`),n[0]=e,n[1]=i,n[2]=a);let o=An[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:gi,retry:!1},n[3]=r,n[4]=i,n[5]=a,n[6]=o,n[7]=s):s=n[7],P(s)},Mn=(e,t)=>{let n=(0,F.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):(r=[`messwerte`,`homelab`,e],i=()=>R(`/api/homelab/messwerte?zeitraum=${e}`),n[0]=e,n[1]=r,n[2]=i);let a=An[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:_i,retry:!1},n[3]=t,n[4]=r,n[5]=i,n[6]=a,n[7]=o):o=n[7],P(o)},Nn=e=>{let t=(0,F.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:vi,enabled:e,retry:!1},t[1]=e,t[2]=r),P(r)},Pn=e=>{let t=(0,F.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:yi,enabled:e,refetchInterval:bi,retry:!1},t[1]=e,t[2]=r),P(r)},Fn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Si,neuLaden:[`homelab-sammellauf`,`homelab-laeufe`,`homelab`]},e[0]=t):t=e[0],$(xi,t)},In=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:wi,neuLaden:[`homelab-sammellauf`]},e[0]=t):t=e[0],$(Ci,t)},Ln=(e,t,n)=>{let r=(0,F.c)(9),i=n===void 0?null:n,a,o;r[0]!==t||r[1]!==i?(a=[`homelab-protokoll`,t,i],o=()=>R(`/api/homelab/protokoll?grenze=300&berichte=${+!!t}${i?`&ziel=${encodeURIComponent(i)}`:``}`),r[0]=t,r[1]=i,r[2]=a,r[3]=o):(a=r[2],o=r[3]);let s;r[4]===Symbol.for(`react.memo_cache_sentinel`)?(s=Q(3e4),r[4]=s):s=r[4];let c;return r[5]!==e||r[6]!==a||r[7]!==o?(c={queryKey:a,queryFn:o,enabled:e,refetchInterval:s,retry:!1},r[5]=e,r[6]=a,r[7]=o,r[8]=c):c=r[8],P(c)},Rn=e=>{let t=(0,F.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=Q(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Ti,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),P(i)},zn=(e,t,n)=>{let r=(0,F.c)(8),i,a;r[0]!==t||r[1]!==e?(i=[`homelab-neuerungen`,e,t],a=()=>R(`/api/homelab/ziele/${e}/neuerungen?baustein=${encodeURIComponent(t)}`),r[0]=t,r[1]=e,r[2]=i,r[3]=a):(i=r[2],a=r[3]);let o;return r[4]!==n||r[5]!==i||r[6]!==a?(o={queryKey:i,queryFn:a,enabled:n,staleTime:6e5,retry:!1},r[4]=n,r[5]=i,r[6]=a,r[7]=o):o=r[7],P(o)},Bn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={queryKey:[`platten`],queryFn:Ei,refetchInterval:6e5,retry:!1},e[0]=t):t=e[0],P(t)},Vn=e=>{let t=(0,F.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-platten`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:Di,enabled:e,refetchInterval:6e5,retry:!1},t[1]=e,t[2]=r),P(r)},Hn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ki,neuLaden:[`homelab-einstellungen`,`homelab-platten`]},e[0]=t):t=e[0],$(Oi,t)},Un=e=>{let t=(0,F.c)(3),n=e===void 0||e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`lucy-autonomie`],t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i={queryKey:r,queryFn:Ai,enabled:n,retry:!1},t[1]=n,t[2]=i),P(i)},Wn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Mi,neuLaden:[`lucy-autonomie`]},e[0]=t):t=e[0],$(ji,t)},Gn=e=>{let t=(0,F.c)(4),n=e===void 0||e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`rueckfragen`],t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=Q(3e4),t[1]=i):i=t[1];let a;return t[2]===n?a=t[3]:(a={queryKey:r,queryFn:Ni,enabled:n,refetchInterval:i,retry:!1},t[2]=n,t[3]=a),P(a)},Kn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Fi,neuLaden:[`rueckfragen`,`start`,`jobs`,`homelab`,`homelab-laeufe`]},e[0]=t):t=e[0],$(Pi,t)},qn=e=>{let t=(0,F.c)(3),n=e===void 0||e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=[`wochenbericht`],t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i={queryKey:r,queryFn:Ii,enabled:n,retry:!1},t[1]=n,t[2]=i),P(i)},Jn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ri,neuLaden:[`wochenbericht`,`rueckfragen`]},e[0]=t):t=e[0],$(Li,t)},Yn=e=>{let t=(0,F.c)(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[`homelab-wartung`],t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r={queryKey:n,queryFn:zi,enabled:e,retry:!1},t[1]=e,t[2]=r),P(r)},Xn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Vi,neuLaden:[`homelab-wartung`]},e[0]=t):t=e[0],$(Bi,t)},Zn=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:Ui,neuLaden:[`homelab`,`homelab-wartung`]},e[0]=t):t=e[0],$(Hi,t)},Qn=e=>{let t=(0,F.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=Q(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Wi,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),P(i)},$n=e=>{let t=(0,F.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=Q(6e4),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Gi,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),P(i)},er=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:qi,neuLaden:[`homelab-neu`,`homelab`]},e[0]=t):t=e[0],$(Ki,t)},tr=e=>{let t=(0,F.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=Q(3e5),t[1]=r):r=t[1];let i;return t[2]===e?i=t[3]:(i={queryKey:n,queryFn:Ji,enabled:e,refetchInterval:r,retry:!1},t[2]=e,t[3]=i),P(i)},nr=e=>{let t=(0,F.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:Yi,enabled:e,refetchInterval:Zi,retry:!1},t[1]=e,t[2]=r),P(r)},rr=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:$i,neuLaden:[`homelab-speicher`]},e[0]=t):t=e[0],$(Qi,t)},ir=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ta,neuLaden:[`homelab`,`homelab-laeufe`]},e[0]=t):t=e[0],$(ea,t)},ar=e=>{let t=(0,F.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:na,enabled:e,retry:!1},t[1]=e,t[2]=r),P(r)},or=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ia,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],$(ra,t)},sr=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:oa,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],$(aa,t)},cr=()=>{let e=(0,F.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={erfolg:ca,neuLaden:[`homelab-einstellungen`,`homelab`]},e[0]=t):t=e[0],$(sa,t)};function lr(){return R(`/api/start`)}function ur(e){return e.state.data&&!e.state.data.updates.gelesen?4e3:Q(2e4)()}function dr(){return R(`/api/models`)}function fr(){return R(`/api/modelle/nutzung`)}function pr(){return R(`/api/radar`)}function mr(e){return e.state.data?.jobs.some(U)?2e3:Q(3e4)()}function hr(){return R(`/api/zeitmaschine`)}function gr(e){return{queryKey:[`update-details`,e],queryFn:()=>R(`/api/maintenance/update-details?kind=${encodeURIComponent(e)}`),staleTime:6e5}}function _r(){return R(`/api/updates/verlauf`)}function vr(){return R(`/api/system/ablaeufe`)}function yr(){return R(`/api/system/services`)}function br(e,t){return(e.aktion===`freigeben`||e.aktion===`bekannt`||en.has(e.aktion))&&t.text?t.text:`${e.label}: erledigt. Der Wächter prüft in einer Minute nach.`}function xr(e){return z(tn[e])}function Sr(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 Cr(e){let{id:t}=e;return z(`/api/jobs/${encodeURIComponent(t)}/cancel`)}function wr(e){return`${e.titel}: wird abgebrochen.`}function Tr(e){return`${e.titel} lief schon nicht mehr.`}function Er(e){return z(`/api/jobs/${encodeURIComponent(e)}/quittieren`)}function Dr(){return``}function Or(e){let{repo:t,quant:n,rolle:r}=e;return z(`/api/models/install`,{repo:t,quant:n,role:r})}function kr(e,t){return`${e.repo} (${e.quant}) wird heruntergeladen${t.total_bytes?`, ${Rt(t.total_bytes,1)}`:``}. Den Fortschritt siehst du unter Aufträge.`}function Ar(){return R(`/api/modelle/aufraeumen`)}function jr(e){return z(`/api/modelle/aufraeumen/loeschen`,{art:e.art,name:e.name})}function Mr(e,t){return t.text??`Gelöscht.`}function Nr(e){return z(`/api/updates/festgehalten/${encodeURIComponent(e)}/freigeben`)}function Pr(e,t){return t.text??`Freigegeben.`}function Fr(){return z(`/api/system/backup`)}function Ir(e,t){return t.size_mb==null?`Sicherung erstellt.`:`Sicherung erstellt (${t.size_mb.toLocaleString(`de-DE`)} MB).`}function Lr(e,t){return`Die Sicherung ging nicht: ${H(t)}`}function Rr(e){return z(`/api/zeitmaschine/restore`,{file:e})}function zr(){return`Zurückspielen läuft. Die Dienste starten gleich neu.`}function Br(e){return z(`/api/models/${encodeURIComponent(e)}/load`)}function Vr(e){return`${e} wird geladen.`}function Hr(e){let{id:t,aktion:n}=e;return z(`/api/radar/${encodeURIComponent(t)}/${n}`)}function Ur(e){return e.aktion===`uebernehmen`?`${e.name} übernommen.`:`${e.name} verworfen.`}function Wr(e){let{id:t}=e;return z(`/api/radar/${encodeURIComponent(t)}/testen`)}function Gr(e,t){return t.text??`Der Test von ${e.name} läuft.`}function Kr(){return z(`/api/radar/suche`)}function qr(e,t){return t.text??`Das Radar sucht jetzt nach neuen Modellen.`}function Jr(){return R(`/api/instanz`)}function Yr(){return R(`/api/partner`)}function Xr(){return R(`/api/ziele`)}function Zr(){return R(`/api/homelab/ziele`)}function Qr(){return R(`/api/homelab/laeufe`)}function $r(e){return e.status===`laeuft`}function ei(e){return e.state.data?.laeufe.some($r)?3e3:3e4}function ti(e){return R(e.pfad,{method:e.methode})}function ni(e){return`${e.label}: gestartet. Das Ergebnis kommt als Meldung.`}function ri(){return R(`/api/homelab/hinweise`)}function ii(){return R(`/api/einstellungen`)}function ai(e){return z(`/api/einstellungen/update-fenster`,e)}function oi(e,t){return t.text??`Gespeichert.`}function si(e){return z(`/api/einstellungen/radar`,{an:e})}function ci(e,t){return t.text??`Geschaltet.`}function li(e){return z(e===`homelab`?`/api/homelab/einstellungen/telegram-test`:`/api/einstellungen/telegram-test`)}function ui(e,t){return t.text??`Die Testmeldung ist raus.`}function di(){return R(`/api/instanz`)}function fi(){return R(`/api/partner/instanz`)}function pi(){return R(`/api/aufraeumen/altreste`)}function mi(e){return z(`/api/aufraeumen/altreste/loeschen`,{id:e.id})}function hi(e,t){return t.text??`Gelöscht.`}function gi(e){return e}function _i(e){return e}function vi(){return R(`/api/homelab/alle/plan`)}function yi(){return R(`/api/homelab/sammellauf`)}function bi(e){return e.state.data?.sammellauf?.status===`laeuft`?5e3:6e4}function xi(){return z(`/api/homelab/alle`)}function Si(){return`Alle aktualisieren: gestartet. Die Schritte laufen nacheinander; das Ergebnis kommt als Meldung.`}function Ci(e){return z(`/api/homelab/sammellauf/${encodeURIComponent(e)}/quittieren`)}function wi(){return``}function Ti(){return R(`/api/homelab/speicher`)}function Ei(){return R(`/api/platten`)}function Di(){return R(`/api/homelab/platten`)}function Oi(e){return e===null?R(`/api/homelab/einstellungen/nas-snmp`,{method:`DELETE`}):z(`/api/homelab/einstellungen/nas-snmp`,e)}function ki(e,t){return t.text??(e===null?`SNMP-Zugang entfernt.`:`SNMP-Zugang gespeichert.`)}function Ai(){return R(`/api/lucy/autonomie`)}function ji(e){return z(`/api/lucy/autonomie`,{stufen:e})}function Mi(e,t){return t.text??`Gespeichert.`}function Ni(){return R(`/api/rueckfragen`)}function Pi(e){let{nr:t,ja:n}=e;return z(`/api/rueckfragen/${t}/${n?`ja`:`nein`}`)}function Fi(e,t){return t.text??`Erledigt.`}function Ii(){return R(`/api/lucy/wochenbericht`)}function Li(){return z(`/api/lucy/wochenbericht`)}function Ri(e,t){return t.text??`Der Wochenbericht ist unterwegs.`}function zi(){return R(`/api/homelab/wartung`)}function Bi(e){return z(`/api/homelab/wartung`,e)}function Vi(e,t){return t.text??`Gespeichert.`}function Hi(e){let{zid:t,version:n}=e;return n===null?R(`/api/homelab/ziele/${t}/ueberspringen`,{method:`DELETE`}):z(`/api/homelab/ziele/${t}/ueberspringen`,{baustein:`app`,version:n})}function Ui(e,t){return t.text??`Erledigt.`}function Wi(){return R(`/api/homelab/neu`)}function Gi(){return R(`/api/homelab/docker`)}function Ki(e){let{id:t,wahl:n}=e;return z(`/api/homelab/neu/${t}`,{wahl:n})}function qi(e,t){return t.text??`Übernommen.`}function Ji(){return R(`/api/homelab/zertifikate`)}function Yi(){return R(`/api/homelab/snapshots`)}function Xi(e){return e.laeuft}function Zi(e){return e.state.data?.geraete.some(Xi)?3e3:3e4}function Qi(){return z(`/api/homelab/sicherungen/probe`)}function $i(){return`Probe gestartet. Das Ergebnis steht in etwa einer Minute bei den Geräten.`}function ea(e){return R(e.pfad,{method:e.methode})}function ta(e){return`${e.label}: gestartet. Das Ergebnis steht gleich beim Gerät.`}function na(){return R(`/api/homelab/einstellungen`)}function ra(e){return e===null?R(`/api/homelab/einstellungen/arcane-schluessel`,{method:`DELETE`}):z(`/api/homelab/einstellungen/arcane-schluessel`,{schluessel:e})}function ia(e,t){return t.text??(e===null?`Arcane-Schlüssel entfernt.`:`Arcane-Schlüssel gespeichert.`)}function aa(e){return e===null?R(`/api/homelab/einstellungen/adguard-zugang`,{method:`DELETE`}):z(`/api/homelab/einstellungen/adguard-zugang`,e)}function oa(e,t){return t.text??(e===null?`AdGuard-Zugang entfernt.`:`AdGuard-Zugang gespeichert.`)}function sa(e){return z(`/api/homelab/einstellungen/arcane-echt`,{an:e})}function ca(e){return e?`Docker-Updates über Arcane laufen jetzt echt.`:`Docker-Updates über Arcane sind wieder nur ein Probelauf.`}export{Pn as $,y as $t,un as A,mt as At,er as B,L as Bt,Vn as C,Ft as Ct,tr as D,wt as Dt,Rn as E,Et,Wn as F,st as Ft,Wt as G,Se as Gt,Ut as H,z as Ht,fn as I,U as It,hn as J,D as Jt,pn as K,k as Kt,Ht as L,ut as Lt,an as M,it as Mt,Gt as N,H as Nt,on as O,pt as Ot,Un as P,ot as Pt,Nn as Q,b as Qt,Hn as R,ct as Rt,Mn as S,Pt as St,nr as T,Tt,_n as U,P as Ut,zn as V,R as Vt,Yt as W,Ae as Wt,Kn as X,m as Xt,mn as Y,E as Yt,Gn as Z,x as Zt,yn as _,dn as _t,On as a,c as an,Vt as at,Sn as b,Rt as bt,sn as c,qt as ct,Bn as d,Jt as dt,v as en,In as et,vn as f,Yn as ft,$t as g,xn as gt,ln as h,Jn as ht,kn as i,se as in,Dn as it,rn as j,lt as jt,gn as k,K as kt,cn as l,wn as lt,Cn as m,qn as mt,sr as n,S as nn,rr as nt,cr as o,s as on,En as ot,Zt as p,Xn as pt,Tn as q,O as qt,Fn as r,_ as rn,ir as rt,or as s,Zn as st,Xt as t,p as tn,Kt as tt,jn as u,nn as ut,$n as v,Nt as vt,Ln as w,zt as wt,bn as x,It as xt,ar as y,Lt as yt,Qn as z,at as zt};