var is=Object.defineProperty;var cs=(e,l,n)=>l in e?is(e,l,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[l]=n;var Lt=(e,l,n)=>cs(e,typeof l!="symbol"?l+"":l,n);(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const h of o.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}})();function Fe(){}function ss(e){return e()}function $t(){return Object.create(null)}function it(e){e.forEach(ss)}function ls(e){return typeof e=="function"}function ft(e,l){return e!=e?l==l:e!==l||e&&typeof e=="object"||typeof e=="function"}function ds(e){return Object.keys(e).length===0}function t(e,l){e.appendChild(l)}function Oe(e,l,n){e.insertBefore(l,n||null)}function ge(e){e.parentNode&&e.parentNode.removeChild(e)}function Wt(e,l){for(let n=0;ne.removeEventListener(l,n,r)}function s(e,l,n){n==null?e.removeAttribute(l):e.getAttribute(l)!==n&&e.setAttribute(l,n)}function ns(e){return e===""?null:+e}function us(e){return Array.from(e.childNodes)}function N(e,l){l=""+l,e.data!==l&&(e.data=l)}function Pt(e,l){e.value=l??""}function le(e,l,n,r){n==null?e.style.removeProperty(l):e.style.setProperty(l,n,"")}function Jt(e,l,n){for(let r=0;re.indexOf(r)===-1?l.push(r):n.push(r)),n.forEach(r=>r()),jt=l}const Et=new Set;let gs;function gt(e,l){e&&e.i&&(Et.delete(e),e.i(l))}function Ot(e,l,n,r){if(e&&e.o){if(Et.has(e))return;Et.add(e),gs.c.push(()=>{Et.delete(e)}),e.o(l)}}function yt(e){return(e==null?void 0:e.length)!==void 0?e:Array.from(e)}function Mt(e){e&&e.c()}function bt(e,l,n){const{fragment:r,after_update:i}=e.$$;r&&r.m(l,n),Bt(()=>{const o=e.$$.on_mount.map(ss).filter(ls);e.$$.on_destroy?e.$$.on_destroy.push(...o):it(o),e.$$.on_mount=[]}),i.forEach(Bt)}function _t(e,l){const n=e.$$;n.fragment!==null&&(ws(n.after_update),it(n.on_destroy),n.fragment&&n.fragment.d(l),n.on_destroy=n.fragment=null,n.ctx=[])}function bs(e,l){e.$$.dirty[0]===-1&&(wt.push(e),hs(),e.$$.dirty.fill(0)),e.$$.dirty[l/31|0]|=1<{const y=_.length?_[0]:w;return c.ctx&&i(c.ctx[v],c.ctx[v]=y)&&(!c.skip_bound&&c.bound[v]&&c.bound[v](y),j&&bs(e,v)),w}):[],c.update(),j=!0,it(c.before_update),c.fragment=r?r(c.ctx):!1,l.target){if(l.hydrate){const v=us(l.target);c.fragment&&c.fragment.l(v),v.forEach(ge)}else c.fragment&&c.fragment.c();l.intro&>(e.$$.fragment),bt(e,l.target,l.anchor),rs()}At(m)}class kt{constructor(){Lt(this,"$$");Lt(this,"$$set")}$destroy(){_t(this,1),this.$destroy=Fe}$on(l,n){if(!ls(n))return Fe;const r=this.$$.callbacks[l]||(this.$$.callbacks[l]=[]);return r.push(n),()=>{const i=r.indexOf(n);i!==-1&&r.splice(i,1)}}$set(l){this.$$set&&!ds(l)&&(this.$$.skip_bound=!0,this.$$set(l),this.$$.skip_bound=!1)}}const _s="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(_s);const mt=[];function zt(e,l=Fe){let n;const r=new Set;function i(f){if(ft(e,f)&&(e=f,n)){const m=!mt.length;for(const c of r)c[1](),mt.push(c,e);if(m){for(let c=0;c{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:i,update:o,subscribe:h}}const Rt=zt(!1),os=zt(null),js=zt(null);class ys{constructor(){this.ws=null,this.reconnectTimeout=null,this.reconnectDelay=3e3}connect(){const n=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;try{this.ws=new WebSocket(n),this.ws.onopen=()=>{console.log("WebSocket connected"),Rt.set(!0)},this.ws.onmessage=r=>{try{const i=JSON.parse(r.data);i.type==="update"&&(console.log("System status updated:",i.data),os.set(i.data),js.set(new Date(i.timestamp)))}catch(i){console.error("Error parsing message:",i)}},this.ws.onerror=r=>{console.error("WebSocket error:",r)},this.ws.onclose=()=>{console.log("WebSocket disconnected"),Rt.set(!1),this.scheduleReconnect()}}catch(r){console.error("Error creating WebSocket:",r),this.scheduleReconnect()}}scheduleReconnect(){this.reconnectTimeout&&clearTimeout(this.reconnectTimeout),this.reconnectTimeout=setTimeout(()=>{console.log("Attempting to reconnect..."),this.connect()},this.reconnectDelay)}send(l){this.ws&&this.ws.readyState===WebSocket.OPEN&&this.ws.send(JSON.stringify(l))}disconnect(){this.reconnectTimeout&&clearTimeout(this.reconnectTimeout),this.ws&&this.ws.close()}}const xt=new ys,Cs="/api";async function de(e,l={}){try{const n=await fetch(`${Cs}${e}`,{...l,headers:{"Content-Type":"application/json",...l.headers}});if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);return await n.json()}catch(n){throw console.error("API request failed:",n),n}}const Ee={getStatus:()=>de("/status"),getConfig:()=>de("/config"),webswitch:{relayOn:e=>de(`/webswitch/relay/on?relay=${e}`,{method:"POST"}),relayOff:e=>de(`/webswitch/relay/off?relay=${e}`,{method:"POST"}),allOn:()=>de("/webswitch/all/on",{method:"POST"}),allOff:()=>de("/webswitch/all/off",{method:"POST"})},rotator:{move:(e,l)=>de("/rotator/move",{method:"POST",body:JSON.stringify({rotator:e,azimuth:l})}),cw:e=>de(`/rotator/cw?rotator=${e}`,{method:"POST"}),ccw:e=>de(`/rotator/ccw?rotator=${e}`,{method:"POST"}),stop:()=>de("/rotator/stop",{method:"POST"})},tuner:{setOperate:e=>de("/tuner/operate",{method:"POST",body:JSON.stringify({value:e})}),setBypass:e=>de("/tuner/bypass",{method:"POST",body:JSON.stringify({value:e})}),autoTune:()=>de("/tuner/autotune",{method:"POST"})},antenna:{selectAntenna:(e,l)=>de("/antenna/select",{method:"POST",body:JSON.stringify({port:e,antenna:l})}),reboot:()=>de("/antenna/reboot",{method:"POST"})},power:{setFanMode:e=>de("/power/fanmode",{method:"POST",body:JSON.stringify({mode:e})}),setOperate:e=>de("/power/operate",{method:"POST",body:JSON.stringify({value:e})})},rotator:{setHeading:e=>de("/rotator/heading",{method:"POST",body:JSON.stringify({heading:e})}),rotateCW:()=>de("/rotator/cw",{method:"POST"}),rotateCCW:()=>de("/rotator/ccw",{method:"POST"}),stop:()=>de("/rotator/stop",{method:"POST"})}};function Vt(e,l,n){var h;const r=e.slice();r[10]=l[n];const i=r[1].find(function(...m){return e[9](r[10],...m)});r[11]=i;const o=((h=r[11])==null?void 0:h.state)||!1;return r[12]=o,r}function Yt(e){let l,n,r,i,o,h,f=e[12]?"ON":"OFF",m,c,j,v,w,_,y,g;function d(){return e[8](e[10])}return{c(){l=a("div"),n=a("div"),r=a("div"),i=a("div"),i.textContent=`${e[3][e[10]]}`,o=u(),h=a("div"),m=b(f),c=u(),j=a("button"),v=a("div"),v.innerHTML='
',_=u(),s(i,"class","relay-name svelte-z2csmj"),s(h,"class","relay-status svelte-z2csmj"),s(r,"class","relay-details svelte-z2csmj"),s(n,"class","relay-info svelte-z2csmj"),s(v,"class","toggle-track svelte-z2csmj"),s(j,"class","relay-toggle svelte-z2csmj"),j.disabled=w=e[0][e[10]],P(j,"active",e[12]),P(j,"loading",e[0][e[10]]),s(l,"class","relay-card svelte-z2csmj"),P(l,"relay-on",e[12])},m(T,C){Oe(T,l,C),t(l,n),t(n,r),t(r,i),t(r,o),t(r,h),t(h,m),t(l,c),t(l,j),t(j,v),t(l,_),y||(g=Ne(j,"click",d),y=!0)},p(T,C){e=T,C&2&&f!==(f=e[12]?"ON":"OFF")&&N(m,f),C&1&&w!==(w=e[0][e[10]])&&(j.disabled=w),C&2&&P(j,"active",e[12]),C&1&&P(j,"loading",e[0][e[10]]),C&2&&P(l,"relay-on",e[12])},d(T){T&&ge(l),y=!1,g()}}}function ks(e){let l,n,r,i,o,h,f,m,c,j,v,w,_,y,g,d=yt([1,2,3,4,5]),T=[];for(let C=0;C<5;C+=1)T[C]=Yt(Vt(e,d,C));return{c(){l=a("div"),n=a("div"),r=a("h2"),r.textContent="WebSwitch",i=u(),o=a("span"),h=u(),f=a("div"),m=a("div");for(let C=0;C<5;C+=1)T[C].c();c=u(),j=a("div"),v=a("button"),v.innerHTML=` ALL ON`,w=u(),_=a("button"),_.innerHTML=` ALL OFF`,s(r,"class","svelte-z2csmj"),s(o,"class","status-dot svelte-z2csmj"),P(o,"disconnected",!e[2]),s(n,"class","card-header svelte-z2csmj"),s(m,"class","relays svelte-z2csmj"),s(v,"class","control-btn all-on svelte-z2csmj"),s(_,"class","control-btn all-off svelte-z2csmj"),s(j,"class","controls svelte-z2csmj"),s(f,"class","metrics svelte-z2csmj"),s(l,"class","card svelte-z2csmj")},m(C,p){Oe(C,l,p),t(l,n),t(n,r),t(n,i),t(n,o),t(l,h),t(l,f),t(f,m);for(let O=0;O<5;O+=1)T[O]&&T[O].m(m,null);t(f,c),t(f,j),t(j,v),t(j,w),t(j,_),y||(g=[Ne(v,"click",e[5]),Ne(_,"click",e[6])],y=!0)},p(C,[p]){if(p&4&&P(o,"disconnected",!C[2]),p&27){d=yt([1,2,3,4,5]);let O;for(O=0;O<5;O+=1){const I=Vt(C,d,O);T[O]?T[O].p(I,p):(T[O]=Yt(I),T[O].c(),T[O].m(m,null))}for(;O<5;O+=1)T[O].d(1)}},i:Fe,o:Fe,d(C){C&&ge(l),Wt(T,C),y=!1,it(g)}}}function Ts(e,l,n){let r,i,{status:o}=l;const h={1:"Power Supply",2:"PGXL",3:"TGXL",4:"Flex Radio Start",5:"Reserve"};let f={};async function m(_){const y=r.find(d=>d.number===_),g=(y==null?void 0:y.state)||!1;n(0,f[_]=!0,f);try{g?await Ee.webswitch.relayOff(_):await Ee.webswitch.relayOn(_)}catch(d){console.error("Failed to toggle relay:",d),alert("Failed to control relay")}finally{n(0,f[_]=!1,f)}}async function c(){try{await Ee.webswitch.allOn()}catch(_){console.error("Failed to turn all on:",_)}}async function j(){try{await Ee.webswitch.allOff()}catch(_){console.error("Failed to turn all off:",_)}}const v=_=>m(_),w=(_,y)=>y.number===_;return e.$$set=_=>{"status"in _&&n(7,o=_.status)},e.$$.update=()=>{e.$$.dirty&128&&n(1,r=(o==null?void 0:o.relays)||[]),e.$$.dirty&128&&n(2,i=(o==null?void 0:o.connected)||!1)},[f,r,i,h,m,c,j,o,v,w]}class Ss extends kt{constructor(l){super(),Ct(this,l,Ts,ks,ft,{status:7})}}function Fs(e){let l;return{c(){l=a("span"),l.textContent="High!",s(l,"class","status-text danger svelte-utvwj6")},m(n,r){Oe(n,l,r)},d(n){n&&ge(l)}}}function Os(e){let l;return{c(){l=a("span"),l.textContent="Caution",s(l,"class","status-text warning svelte-utvwj6")},m(n,r){Oe(n,l,r)},d(n){n&&ge(l)}}}function Ms(e){let l;return{c(){l=a("span"),l.textContent="Good",s(l,"class","status-text ok svelte-utvwj6")},m(n,r){Oe(n,l,r)},d(n){n&&ge(l)}}}function Ps(e){let l;return{c(){l=a("span"),l.textContent="Excellent",s(l,"class","status-text good svelte-utvwj6")},m(n,r){Oe(n,l,r)},d(n){n&&ge(l)}}}function As(e){let l,n,r,i,o,h,f,m,c,j,v,w,_,y,g=e[1].toFixed(0)+"",d,T,C,p,O,I,F,E,J,X,re,K,A,Z,Q=e[2].toFixed(2)+"",ne,be,z,B,k,U,S,W,he,oe=e[3].toFixed(0)+"",$e,ue,Ge,ae,He,me,H,x,_e,ee,Me=e[12].toFixed(0)+"",fe,Re,je,Pe,ye,ce,pe,xe,te,V,R,ve,q,Ce=e[15].toFixed(0)+"",Le,ct,ke,qe,nt,Je,We=e[14].toFixed(1)+"",Ie,De,Be,Ve,tt,Te,Ye=e[13].toFixed(1)+"",Ue,Ke,Ae,we,Se,ze,L,se,st,at,Ze,lt,dt,Qe,ie,rt,ut,Tt,Xe,ot,M,G,pt,St;function Ft(D,$){return D[2]<1.5?Ps:D[2]<2?Ms:D[2]<3?Os:Fs}let vt=Ft(e),et=vt(e);return{c(){l=a("div"),n=a("div"),r=a("h2"),r.textContent="Power Genius XL",i=u(),o=a("div"),h=a("button"),f=b(e[7]),m=u(),c=a("span"),j=u(),v=a("div"),w=a("div"),_=a("div"),y=a("div"),d=b(g),T=a("span"),T.textContent="W",C=u(),p=a("div"),p.textContent="Forward Power",O=u(),I=a("div"),F=a("div"),E=a("div"),J=u(),X=a("div"),X.innerHTML="0 1000 2000",re=u(),K=a("div"),A=a("div"),Z=a("div"),ne=b(Q),be=u(),z=a("div"),z.textContent="SWR",B=u(),k=a("div"),et.c(),U=u(),S=a("div"),W=a("div"),he=a("div"),$e=b(oe),ue=b("°"),Ge=u(),ae=a("div"),ae.textContent="PA Temp",He=u(),me=a("div"),H=a("div"),x=u(),_e=a("div"),ee=a("div"),fe=b(Me),Re=b("°"),je=u(),Pe=a("div"),Pe.textContent="HL Temp",ye=u(),ce=a("div"),pe=a("div"),xe=u(),te=a("div"),V=a("div"),R=a("div"),R.textContent="VAC",ve=u(),q=a("div"),Le=b(Ce),ct=u(),ke=a("div"),qe=a("div"),qe.textContent="VDD",nt=u(),Je=a("div"),Ie=b(We),De=u(),Be=a("div"),Ve=a("div"),Ve.textContent="ID Peak",tt=u(),Te=a("div"),Ue=b(Ye),Ke=u(),Ae=a("div"),we=a("div"),Se=a("span"),Se.textContent="Band A",ze=u(),L=a("span"),se=b(e[10]),st=u(),at=a("div"),Ze=a("span"),Ze.textContent="Band B",lt=u(),dt=a("span"),Qe=b(e[9]),ie=u(),rt=a("div"),ut=a("label"),ut.textContent="Fan Mode",Tt=u(),Xe=a("select"),ot=a("option"),ot.textContent="Standard",M=a("option"),M.textContent="Contest",G=a("option"),G.textContent="Broadcast",s(r,"class","svelte-utvwj6"),s(h,"class","state-badge svelte-utvwj6"),P(h,"idle",e[0]==="IDLE"),P(h,"transmit",e[0].includes("TRANSMIT")),s(c,"class","status-dot svelte-utvwj6"),P(c,"disconnected",!e[8]),s(o,"class","header-right svelte-utvwj6"),s(n,"class","card-header svelte-utvwj6"),s(T,"class","unit svelte-utvwj6"),s(y,"class","power-value svelte-utvwj6"),s(p,"class","power-label svelte-utvwj6"),s(_,"class","power-main svelte-utvwj6"),s(E,"class","power-bar-glow svelte-utvwj6"),s(F,"class","power-bar-fill svelte-utvwj6"),le(F,"width",e[4]+"%"),s(X,"class","power-scale svelte-utvwj6"),s(I,"class","power-bar svelte-utvwj6"),s(w,"class","power-display svelte-utvwj6"),s(Z,"class","swr-value svelte-utvwj6"),s(z,"class","swr-label svelte-utvwj6"),s(A,"class","swr-circle svelte-utvwj6"),le(A,"--swr-color",e[5]),s(k,"class","swr-status svelte-utvwj6"),s(K,"class","swr-container svelte-utvwj6"),s(he,"class","temp-value svelte-utvwj6"),le(he,"color",e[6]),s(ae,"class","temp-label svelte-utvwj6"),s(H,"class","temp-mini-fill svelte-utvwj6"),le(H,"width",e[3]/80*100+"%"),le(H,"background",e[6]),s(me,"class","temp-mini-bar svelte-utvwj6"),s(W,"class","temp-item svelte-utvwj6"),s(ee,"class","temp-value svelte-utvwj6"),le(ee,"color",e[6]),s(Pe,"class","temp-label svelte-utvwj6"),s(pe,"class","temp-mini-fill svelte-utvwj6"),le(pe,"width",e[12]/80*100+"%"),le(pe,"background",e[6]),s(ce,"class","temp-mini-bar svelte-utvwj6"),s(_e,"class","temp-item svelte-utvwj6"),s(S,"class","temp-group svelte-utvwj6"),s(R,"class","param-label svelte-utvwj6"),s(q,"class","param-value svelte-utvwj6"),s(V,"class","param-box svelte-utvwj6"),s(qe,"class","param-label svelte-utvwj6"),s(Je,"class","param-value svelte-utvwj6"),s(ke,"class","param-box svelte-utvwj6"),s(Ve,"class","param-label svelte-utvwj6"),s(Te,"class","param-value svelte-utvwj6"),s(Be,"class","param-box svelte-utvwj6"),s(te,"class","params-grid svelte-utvwj6"),s(Se,"class","band-label svelte-utvwj6"),s(L,"class","band-value svelte-utvwj6"),s(we,"class","band-item svelte-utvwj6"),s(Ze,"class","band-label svelte-utvwj6"),s(dt,"class","band-value svelte-utvwj6"),s(at,"class","band-item svelte-utvwj6"),s(Ae,"class","band-display svelte-utvwj6"),s(ut,"class","control-label svelte-utvwj6"),ot.__value="STANDARD",Pt(ot,ot.__value),M.__value="CONTEST",Pt(M,M.__value),G.__value="BROADCAST",Pt(G,G.__value),s(Xe,"class","svelte-utvwj6"),s(rt,"class","fan-control svelte-utvwj6"),s(v,"class","metrics svelte-utvwj6"),s(l,"class","card svelte-utvwj6")},m(D,$){Oe(D,l,$),t(l,n),t(n,r),t(n,i),t(n,o),t(o,h),t(h,f),t(o,m),t(o,c),t(l,j),t(l,v),t(v,w),t(w,_),t(_,y),t(y,d),t(y,T),t(_,C),t(_,p),t(w,O),t(w,I),t(I,F),t(F,E),t(I,J),t(I,X),t(v,re),t(v,K),t(K,A),t(A,Z),t(Z,ne),t(A,be),t(A,z),t(K,B),t(K,k),et.m(k,null),t(v,U),t(v,S),t(S,W),t(W,he),t(he,$e),t(he,ue),t(W,Ge),t(W,ae),t(W,He),t(W,me),t(me,H),t(S,x),t(S,_e),t(_e,ee),t(ee,fe),t(ee,Re),t(_e,je),t(_e,Pe),t(_e,ye),t(_e,ce),t(ce,pe),t(v,xe),t(v,te),t(te,V),t(V,R),t(V,ve),t(V,q),t(q,Le),t(te,ct),t(te,ke),t(ke,qe),t(ke,nt),t(ke,Je),t(Je,Ie),t(te,De),t(te,Be),t(Be,Ve),t(Be,tt),t(Be,Te),t(Te,Ue),t(v,Ke),t(v,Ae),t(Ae,we),t(we,Se),t(we,ze),t(we,L),t(L,se),t(Ae,st),t(Ae,at),t(at,Ze),t(at,lt),t(at,dt),t(dt,Qe),t(v,ie),t(v,rt),t(rt,ut),t(rt,Tt),t(rt,Xe),t(Xe,ot),t(Xe,M),t(Xe,G),Jt(Xe,e[11]),pt||(St=[Ne(h,"click",e[17]),Ne(Xe,"change",e[19])],pt=!0)},p(D,[$]){$&128&&N(f,D[7]),$&1&&P(h,"idle",D[0]==="IDLE"),$&1&&P(h,"transmit",D[0].includes("TRANSMIT")),$&256&&P(c,"disconnected",!D[8]),$&2&&g!==(g=D[1].toFixed(0)+"")&&N(d,g),$&16&&le(F,"width",D[4]+"%"),$&4&&Q!==(Q=D[2].toFixed(2)+"")&&N(ne,Q),$&32&&le(A,"--swr-color",D[5]),vt!==(vt=Ft(D))&&(et.d(1),et=vt(D),et&&(et.c(),et.m(k,null))),$&8&&oe!==(oe=D[3].toFixed(0)+"")&&N($e,oe),$&64&&le(he,"color",D[6]),$&8&&le(H,"width",D[3]/80*100+"%"),$&64&&le(H,"background",D[6]),$&4096&&Me!==(Me=D[12].toFixed(0)+"")&&N(fe,Me),$&64&&le(ee,"color",D[6]),$&4096&&le(pe,"width",D[12]/80*100+"%"),$&64&&le(pe,"background",D[6]),$&32768&&Ce!==(Ce=D[15].toFixed(0)+"")&&N(Le,Ce),$&16384&&We!==(We=D[14].toFixed(1)+"")&&N(Ie,We),$&8192&&Ye!==(Ye=D[13].toFixed(1)+"")&&N(Ue,Ye),$&1024&&N(se,D[10]),$&512&&N(Qe,D[9]),$&2048&&Jt(Xe,D[11])},i:Fe,o:Fe,d(D){D&&ge(l),et.d(),pt=!1,it(St)}}}function Ns(e,l,n){let r,i,o,h,f,m,c,j,v,w,_,y,g,d,T,C,{status:p}=l;async function O(E){try{await Ee.power.setFanMode(E)}catch(J){console.error("Failed to set fan mode:",J),alert("Failed to set fan mode")}}async function I(){try{const E=v==="IDLE"?0:1;await Ee.power.setOperate(E)}catch(E){console.error("Failed to toggle operate:",E),alert("Failed to toggle operate mode")}}const F=E=>O(E.target.value);return e.$$set=E=>{"status"in E&&n(18,p=E.status)},e.$$.update=()=>{e.$$.dirty&262144&&n(1,r=(p==null?void 0:p.power_forward)||0),e.$$.dirty&262144&&p!=null&&p.power_reflected,e.$$.dirty&262144&&n(2,i=(p==null?void 0:p.swr)||1),e.$$.dirty&262144&&n(15,o=(p==null?void 0:p.voltage)||0),e.$$.dirty&262144&&n(14,h=(p==null?void 0:p.vdd)||0),e.$$.dirty&262144&&p!=null&&p.current,e.$$.dirty&262144&&n(13,f=(p==null?void 0:p.peak_current)||0),e.$$.dirty&262144&&n(3,m=(p==null?void 0:p.temperature)||0),e.$$.dirty&262144&&n(12,c=(p==null?void 0:p.harmonic_load_temp)||0),e.$$.dirty&262144&&n(11,j=(p==null?void 0:p.fan_mode)||"CONTEST"),e.$$.dirty&262144&&n(0,v=(p==null?void 0:p.state)||"IDLE"),e.$$.dirty&262144&&n(10,w=(p==null?void 0:p.band_a)||"0"),e.$$.dirty&262144&&n(9,_=(p==null?void 0:p.band_b)||"0"),e.$$.dirty&262144&&n(8,y=(p==null?void 0:p.connected)||!1),e.$$.dirty&1&&n(7,g=v.replace("TRANSMIT_A","TRANSMIT").replace("TRANSMIT_B","TRANSMIT")),e.$$.dirty&8&&n(6,d=m<40?"#4caf50":m<60?"#ffc107":m<75?"#ff9800":"#f44336"),e.$$.dirty&4&&n(5,T=i<1.5?"#4caf50":i<2?"#ffc107":i<3?"#ff9800":"#f44336"),e.$$.dirty&2&&n(4,C=Math.min(r/2e3*100,100))},[v,r,i,m,C,T,d,g,y,_,w,j,c,f,h,o,O,I,p,F]}class Es extends kt{constructor(l){super(),Ct(this,l,Ns,As,ft,{status:18})}}function Ls(e){let l;return{c(){l=a("span"),l.textContent="High!",s(l,"class","status-text danger svelte-j97t2j")},m(n,r){Oe(n,l,r)},d(n){n&&ge(l)}}}function Is(e){let l;return{c(){l=a("span"),l.textContent="Caution",s(l,"class","status-text warning svelte-j97t2j")},m(n,r){Oe(n,l,r)},d(n){n&&ge(l)}}}function Ds(e){let l;return{c(){l=a("span"),l.textContent="Good",s(l,"class","status-text ok svelte-j97t2j")},m(n,r){Oe(n,l,r)},d(n){n&&ge(l)}}}function Bs(e){let l;return{c(){l=a("span"),l.textContent="Excellent",s(l,"class","status-text good svelte-j97t2j")},m(n,r){Oe(n,l,r)},d(n){n&&ge(l)}}}function Rs(e){let l,n,r,i,o,h,f,m,c,j,v,w,_,y,g=e[0].toFixed(0)+"",d,T,C,p,O,I,F,E,J,X,re,K,A,Z,Q=e[1].toFixed(2)+"",ne,be,z,B,k,U,S,W,he,oe,$e,ue,Ge,ae,He,me,H,x,_e,ee,Me,fe,Re,je,Pe,ye,ce,pe,xe,te,V=(e[11]/1e3).toFixed(3)+"",R,ve,q,Ce,Le,ct,ke,qe=(e[10]/1e3).toFixed(3)+"",nt,Je,We,Ie,De,Be=e[8]===1?"OPERATE":"STANDBY",Ve,tt,Te,Ye,Ue,Ke,Ae;function we(L,se){return L[1]<1.5?Bs:L[1]<2?Ds:L[1]<3?Is:Ls}let Se=we(e),ze=Se(e);return{c(){l=a("div"),n=a("div"),r=a("h2"),r.textContent="Tuner Genius XL",i=u(),o=a("div"),h=a("span"),f=b(e[12]),m=u(),c=a("span"),j=u(),v=a("div"),w=a("div"),_=a("div"),y=a("div"),d=b(g),T=a("span"),T.textContent="W",C=u(),p=a("div"),p.textContent="Forward Power",O=u(),I=a("div"),F=a("div"),E=a("div"),J=u(),X=a("div"),X.innerHTML="0 1000 2000",re=u(),K=a("div"),A=a("div"),Z=a("div"),ne=b(Q),be=u(),z=a("div"),z.textContent="SWR",B=u(),k=a("div"),ze.c(),U=u(),S=a("div"),W=a("div"),he=a("div"),oe=b(e[7]),$e=u(),ue=a("div"),ue.textContent="C1",Ge=u(),ae=a("div"),He=a("div"),me=b(e[6]),H=u(),x=a("div"),x.textContent="L",_e=u(),ee=a("div"),Me=a("div"),fe=b(e[5]),Re=u(),je=a("div"),je.textContent="C2",Pe=u(),ye=a("div"),ce=a("div"),pe=a("div"),pe.textContent="Freq A",xe=u(),te=a("div"),R=b(V),ve=a("span"),ve.textContent="MHz",q=u(),Ce=a("div"),Le=a("div"),Le.textContent="Freq B",ct=u(),ke=a("div"),nt=b(qe),Je=a("span"),Je.textContent="MHz",We=u(),Ie=a("div"),De=a("button"),Ve=b(Be),tt=u(),Te=a("button"),Te.textContent="BYPASS",Ye=u(),Ue=a("button"),Ue.innerHTML=` AUTO TUNE`,s(r,"class","svelte-j97t2j"),s(h,"class","tuning-badge svelte-j97t2j"),P(h,"tuning",e[12]==="TUNING"),s(c,"class","status-dot svelte-j97t2j"),P(c,"disconnected",!e[4]),s(o,"class","header-right svelte-j97t2j"),s(n,"class","card-header svelte-j97t2j"),s(T,"class","unit svelte-j97t2j"),s(y,"class","power-value svelte-j97t2j"),s(p,"class","power-label svelte-j97t2j"),s(_,"class","power-main svelte-j97t2j"),s(E,"class","power-bar-glow svelte-j97t2j"),s(F,"class","power-bar-fill svelte-j97t2j"),le(F,"width",e[2]+"%"),s(X,"class","power-scale svelte-j97t2j"),s(I,"class","power-bar svelte-j97t2j"),s(w,"class","power-display svelte-j97t2j"),s(Z,"class","swr-value svelte-j97t2j"),s(z,"class","swr-label svelte-j97t2j"),s(A,"class","swr-circle svelte-j97t2j"),le(A,"--swr-color",e[3]),s(k,"class","swr-status svelte-j97t2j"),s(K,"class","swr-container svelte-j97t2j"),s(he,"class","cap-value svelte-j97t2j"),s(ue,"class","cap-label svelte-j97t2j"),s(W,"class","cap-item svelte-j97t2j"),s(He,"class","cap-value svelte-j97t2j"),s(x,"class","cap-label svelte-j97t2j"),s(ae,"class","cap-item svelte-j97t2j"),s(Me,"class","cap-value svelte-j97t2j"),s(je,"class","cap-label svelte-j97t2j"),s(ee,"class","cap-item svelte-j97t2j"),s(S,"class","capacitors svelte-j97t2j"),s(pe,"class","freq-label svelte-j97t2j"),s(ve,"class","freq-unit svelte-j97t2j"),s(te,"class","freq-value svelte-j97t2j"),s(ce,"class","freq-item svelte-j97t2j"),s(Le,"class","freq-label svelte-j97t2j"),s(Je,"class","freq-unit svelte-j97t2j"),s(ke,"class","freq-value svelte-j97t2j"),s(Ce,"class","freq-item svelte-j97t2j"),s(ye,"class","freq-display svelte-j97t2j"),s(De,"class","control-btn operate svelte-j97t2j"),P(De,"active",e[8]===1),s(Te,"class","control-btn bypass svelte-j97t2j"),P(Te,"active",e[9]),s(Ie,"class","controls svelte-j97t2j"),s(Ue,"class","tune-btn svelte-j97t2j"),s(v,"class","metrics svelte-j97t2j"),s(l,"class","card svelte-j97t2j")},m(L,se){Oe(L,l,se),t(l,n),t(n,r),t(n,i),t(n,o),t(o,h),t(h,f),t(o,m),t(o,c),t(l,j),t(l,v),t(v,w),t(w,_),t(_,y),t(y,d),t(y,T),t(_,C),t(_,p),t(w,O),t(w,I),t(I,F),t(F,E),t(I,J),t(I,X),t(v,re),t(v,K),t(K,A),t(A,Z),t(Z,ne),t(A,be),t(A,z),t(K,B),t(K,k),ze.m(k,null),t(v,U),t(v,S),t(S,W),t(W,he),t(he,oe),t(W,$e),t(W,ue),t(S,Ge),t(S,ae),t(ae,He),t(He,me),t(ae,H),t(ae,x),t(S,_e),t(S,ee),t(ee,Me),t(Me,fe),t(ee,Re),t(ee,je),t(v,Pe),t(v,ye),t(ye,ce),t(ce,pe),t(ce,xe),t(ce,te),t(te,R),t(te,ve),t(ye,q),t(ye,Ce),t(Ce,Le),t(Ce,ct),t(Ce,ke),t(ke,nt),t(ke,Je),t(v,We),t(v,Ie),t(Ie,De),t(De,Ve),t(Ie,tt),t(Ie,Te),t(v,Ye),t(v,Ue),Ke||(Ae=[Ne(De,"click",e[17]),Ne(Te,"click",e[18]),Ne(Ue,"click",e[13])],Ke=!0)},p(L,[se]){se&4096&&N(f,L[12]),se&4096&&P(h,"tuning",L[12]==="TUNING"),se&16&&P(c,"disconnected",!L[4]),se&1&&g!==(g=L[0].toFixed(0)+"")&&N(d,g),se&4&&le(F,"width",L[2]+"%"),se&2&&Q!==(Q=L[1].toFixed(2)+"")&&N(ne,Q),se&8&&le(A,"--swr-color",L[3]),Se!==(Se=we(L))&&(ze.d(1),ze=Se(L),ze&&(ze.c(),ze.m(k,null))),se&128&&N(oe,L[7]),se&64&&N(me,L[6]),se&32&&N(fe,L[5]),se&2048&&V!==(V=(L[11]/1e3).toFixed(3)+"")&&N(R,V),se&1024&&qe!==(qe=(L[10]/1e3).toFixed(3)+"")&&N(nt,qe),se&256&&Be!==(Be=L[8]===1?"OPERATE":"STANDBY")&&N(Ve,Be),se&256&&P(De,"active",L[8]===1),se&512&&P(Te,"active",L[9])},i:Fe,o:Fe,d(L){L&&ge(l),ze.d(),Ke=!1,it(Ae)}}}function Ws(e,l,n){let r,i,o,h,f,m,c,j,v,w,_,y,g,{status:d}=l;async function T(){try{await Ee.tuner.autoTune()}catch(F){console.error("Failed to tune:",F),alert("Failed to start tuning")}}async function C(F){try{await Ee.tuner.setBypass(F)}catch(E){console.error("Failed to set bypass:",E),alert("Failed to set bypass")}}async function p(F){try{await Ee.tuner.setOperate(F)}catch(E){console.error("Failed to set operate:",E),alert("Failed to set operate")}}const O=()=>p(c===1?0:1),I=()=>C(m?0:1);return e.$$set=F=>{"status"in F&&n(16,d=F.status)},e.$$.update=()=>{e.$$.dirty&65536&&n(0,r=(d==null?void 0:d.power_forward)||0),e.$$.dirty&65536&&n(1,i=(d==null?void 0:d.swr)||1),e.$$.dirty&65536&&n(12,o=(d==null?void 0:d.tuning_status)||"READY"),e.$$.dirty&65536&&n(11,h=(d==null?void 0:d.frequency_a)||0),e.$$.dirty&65536&&n(10,f=(d==null?void 0:d.frequency_b)||0),e.$$.dirty&65536&&n(9,m=(d==null?void 0:d.bypass)||!1),e.$$.dirty&65536&&n(8,c=(d==null?void 0:d.state)||0),e.$$.dirty&65536&&n(7,j=(d==null?void 0:d.c1)||0),e.$$.dirty&65536&&n(6,v=(d==null?void 0:d.l)||0),e.$$.dirty&65536&&n(5,w=(d==null?void 0:d.c2)||0),e.$$.dirty&65536&&n(4,_=(d==null?void 0:d.connected)||!1),e.$$.dirty&2&&n(3,y=i<1.5?"#4caf50":i<2?"#ffc107":i<3?"#ff9800":"#f44336"),e.$$.dirty&1&&n(2,g=Math.min(r/2e3*100,100))},[r,i,g,y,_,w,v,j,c,m,f,h,o,T,C,p,d,O,I]}class zs extends kt{constructor(l){super(),Ct(this,l,Ws,Rs,ft,{status:16})}}function Kt(e,l,n){const r=e.slice();r[12]=l[n];const i=r[1].tx&&r[1].tx_ant===r[12].number;r[13]=i;const o=r[0].tx&&r[0].tx_ant===r[12].number;r[14]=o;const h=!r[1].tx&&(r[1].rx_ant===r[12].number||r[1].tx_ant===r[12].number);r[15]=h;const f=!r[0].tx&&(r[0].rx_ant===r[12].number||r[0].tx_ant===r[12].number);r[16]=f;const m=r[13]||r[14];r[17]=m;const c=r[15]||r[16];return r[18]=c,r}function Zt(e){let l,n,r=e[12].name+"",i,o,h,f,m,c,j,v,w;function _(){return e[9](e[12])}function y(){return e[10](e[12])}return{c(){l=a("div"),n=a("div"),i=b(r),o=u(),h=a("div"),f=a("button"),f.textContent="A",m=u(),c=a("button"),c.textContent="B",j=u(),s(n,"class","antenna-name svelte-1r71rs8"),s(f,"class","port-btn svelte-1r71rs8"),P(f,"active",e[1].tx_ant===e[12].number||e[1].rx_ant===e[12].number),s(c,"class","port-btn svelte-1r71rs8"),P(c,"active",e[0].tx_ant===e[12].number||e[0].rx_ant===e[12].number),s(h,"class","antenna-ports svelte-1r71rs8"),s(l,"class","antenna-card svelte-1r71rs8"),P(l,"tx",e[17]),P(l,"active-a",e[15]),P(l,"active-b",e[16])},m(g,d){Oe(g,l,d),t(l,n),t(n,i),t(l,o),t(l,h),t(h,f),t(h,m),t(h,c),t(l,j),v||(w=[Ne(f,"click",_),Ne(c,"click",y)],v=!0)},p(g,d){e=g,d&16&&r!==(r=e[12].name+"")&&N(i,r),d&18&&P(f,"active",e[1].tx_ant===e[12].number||e[1].rx_ant===e[12].number),d&17&&P(c,"active",e[0].tx_ant===e[12].number||e[0].rx_ant===e[12].number),d&19&&P(l,"tx",e[17]),d&18&&P(l,"active-a",e[15]),d&17&&P(l,"active-b",e[16])},d(g){g&&ge(l),v=!1,it(w)}}}function Gs(e){let l,n,r,i,o,h,f,m,c,j,v=(e[1].source||"FLEX")+"",w,_,y,g,d=(e[0].source||"FLEX")+"",T,C,p,O,I,F,E,J,X,re,K,A,Z,Q,ne,be,z=yt(e[4]),B=[];for(let k=0;k🔄 REBOOT`,s(r,"class","svelte-1r71rs8"),s(o,"class","status-dot svelte-1r71rs8"),P(o,"disconnected",!e[5]),s(n,"class","card-header svelte-1r71rs8"),s(j,"class","source-label svelte-1r71rs8"),s(c,"class","source-item svelte-1r71rs8"),s(g,"class","source-label svelte-1r71rs8"),s(y,"class","source-item svelte-1r71rs8"),s(m,"class","sources svelte-1r71rs8"),s(I,"class","band-value svelte-1r71rs8"),s(O,"class","band-item svelte-1r71rs8"),s(X,"class","band-value svelte-1r71rs8"),s(J,"class","band-item svelte-1r71rs8"),s(p,"class","bands svelte-1r71rs8"),s(A,"class","antennas svelte-1r71rs8"),s(Q,"class","reboot-btn svelte-1r71rs8"),s(f,"class","metrics svelte-1r71rs8"),s(l,"class","card svelte-1r71rs8")},m(k,U){Oe(k,l,U),t(l,n),t(n,r),t(n,i),t(n,o),t(l,h),t(l,f),t(f,m),t(m,c),t(c,j),t(j,w),t(m,_),t(m,y),t(y,g),t(g,T),t(f,C),t(f,p),t(p,O),t(O,I),t(I,F),t(p,E),t(p,J),t(J,X),t(X,re),t(f,K),t(f,A);for(let S=0;Sv(1,g.number),y=g=>v(2,g.number);return e.$$set=g=>{"status"in g&&n(8,c=g.status)},e.$$.update=()=>{e.$$.dirty&256&&n(5,r=(c==null?void 0:c.connected)||!1),e.$$.dirty&256&&n(1,i=(c==null?void 0:c.port_a)||{}),e.$$.dirty&256&&n(0,o=(c==null?void 0:c.port_b)||{}),e.$$.dirty&256&&n(4,h=(c==null?void 0:c.antennas)||[]),e.$$.dirty&2&&n(3,f=j[i.band]||"None"),e.$$.dirty&1&&n(2,m=j[o.band]||"None")},[o,i,m,f,h,r,v,w,c,_,y]}class qs extends kt{constructor(l){super(),Ct(this,l,Hs,Gs,ft,{status:8})}}function Qt(e,l,n){const r=e.slice();r[9]=l[n];const i=150+125*Math.sin(r[9]*Math.PI/180);r[10]=i;const o=150-125*Math.cos(r[9]*Math.PI/180);return r[11]=o,r}function es(e){let l,n,r;return{c(){l=Y("text"),n=b(e[9]),r=b("°"),s(l,"x",e[10]),s(l,"y",e[11]),s(l,"text-anchor","middle"),s(l,"dominant-baseline","middle"),s(l,"class","degree-label svelte-1sgx2se")},m(i,o){Oe(i,l,o),t(l,n),t(l,r)},p:Fe,d(i){i&&ge(l)}}}function $s(e){let l,n,r,i,o,h,f,m,c,j,v,w,_,y,g,d,T,C,p,O,I,F,E,J,X,re,K,A,Z,Q,ne,be,z,B,k,U,S,W,he,oe,$e,ue,Ge,ae,He,me,H,x,_e,ee,Me,fe,Re,je,Pe,ye,ce,pe,xe,te=yt([45,135,225,315]),V=[];for(let R=0;R<4;R+=1)V[R]=es(Qt(e,te,R));return{c(){l=a("div"),n=a("div"),r=a("h2"),r.textContent="Rotator Genius",i=u(),o=a("span"),h=u(),f=a("div"),m=a("div"),c=a("div"),c.textContent="CURRENT HEADING",j=u(),v=a("div"),w=b(e[2]),_=b("°"),y=u(),g=a("div"),d=Y("svg"),T=Y("defs"),C=Y("radialGradient"),p=Y("stop"),O=Y("stop"),I=Y("circle"),F=Y("circle"),E=Y("circle"),J=Y("circle"),X=Y("g"),re=Y("g"),K=Y("path"),A=Y("line"),Z=Y("line"),Q=Y("g"),ne=Y("polygon"),z=Y("circle"),B=Y("animate"),k=Y("circle"),U=Y("animate"),S=Y("animate"),W=Y("text"),he=b("N"),oe=Y("text"),$e=b("E"),ue=Y("text"),Ge=b("S"),ae=Y("text"),He=b("W");for(let R=0;R<4;R+=1)V[R].c();me=u(),H=a("div"),x=a("input"),_e=u(),ee=a("button"),ee.textContent="GO",Me=u(),fe=a("div"),Re=a("button"),Re.innerHTML=` CCW`,je=u(),Pe=a("button"),Pe.textContent="STOP",ye=u(),ce=a("button"),ce.innerHTML=` CW`,s(r,"class","svelte-1sgx2se"),s(o,"class","status-dot svelte-1sgx2se"),P(o,"disconnected",!e[1]),s(n,"class","card-header svelte-1sgx2se"),s(c,"class","heading-label svelte-1sgx2se"),s(v,"class","heading-value svelte-1sgx2se"),s(m,"class","heading-display svelte-1sgx2se"),s(p,"offset","0%"),le(p,"stop-color","rgba(79, 195, 247, 0.7)"),le(p,"stop-opacity","1"),s(O,"offset","100%"),le(O,"stop-color","rgba(79, 195, 247, 0)"),le(O,"stop-opacity","0"),s(C,"id","beamGradient"),s(I,"cx","150"),s(I,"cy","150"),s(I,"r","140"),s(I,"fill","rgba(30, 64, 175, 0.15)"),s(I,"stroke","rgba(79, 195, 247, 0.4)"),s(I,"stroke-width","2"),s(F,"cx","150"),s(F,"cy","150"),s(F,"r","105"),s(F,"fill","none"),s(F,"stroke","rgba(79,195,247,0.2)"),s(F,"stroke-width","1"),s(F,"stroke-dasharray","3,3"),s(E,"cx","150"),s(E,"cy","150"),s(E,"r","70"),s(E,"fill","none"),s(E,"stroke","rgba(79,195,247,0.2)"),s(E,"stroke-width","1"),s(E,"stroke-dasharray","3,3"),s(J,"cx","150"),s(J,"cy","150"),s(J,"r","35"),s(J,"fill","none"),s(J,"stroke","rgba(79,195,247,0.2)"),s(J,"stroke-width","1"),s(J,"stroke-dasharray","3,3"),s(K,"d","M 0,0 L "+-Math.sin(15*Math.PI/180)*130+","+-Math.cos(15*Math.PI/180)*130+` \r A 130,130 0 0,1 `+Math.sin(15*Math.PI/180)*130+","+-Math.cos(15*Math.PI/180)*130+" Z"),s(K,"fill","url(#beamGradient)"),s(K,"opacity","0.85"),s(A,"x1","0"),s(A,"y1","0"),s(A,"x2",-Math.sin(15*Math.PI/180)*130),s(A,"y2",-Math.cos(15*Math.PI/180)*130),s(A,"stroke","#4fc3f7"),s(A,"stroke-width","2"),s(A,"opacity","0.9"),s(Z,"x1","0"),s(Z,"y1","0"),s(Z,"x2",Math.sin(15*Math.PI/180)*130),s(Z,"y2",-Math.cos(15*Math.PI/180)*130),s(Z,"stroke","#4fc3f7"),s(Z,"stroke-width","2"),s(Z,"opacity","0.9"),s(ne,"points","0,-20 -8,5 0,0 8,5"),s(ne,"fill","#4fc3f7"),s(ne,"stroke","#0288d1"),s(ne,"stroke-width","2"),le(ne,"filter","drop-shadow(0 0 10px rgba(79, 195, 247, 1))"),s(Q,"transform","translate(0, -110)"),s(re,"transform",be="rotate("+e[2]+")"),s(B,"attributeName","r"),s(B,"values","5;7;5"),s(B,"dur","2s"),s(B,"repeatCount","indefinite"),s(z,"cx","0"),s(z,"cy","0"),s(z,"r","5"),s(z,"fill","#f44336"),s(z,"stroke","#fff"),s(z,"stroke-width","2"),s(U,"attributeName","r"),s(U,"values","10;16;10"),s(U,"dur","2s"),s(U,"repeatCount","indefinite"),s(S,"attributeName","opacity"),s(S,"values","0.5;0;0.5"),s(S,"dur","2s"),s(S,"repeatCount","indefinite"),s(k,"cx","0"),s(k,"cy","0"),s(k,"r","10"),s(k,"fill","none"),s(k,"stroke","#f44336"),s(k,"stroke-width","1.5"),s(k,"opacity","0.5"),s(X,"transform","translate(150, 150)"),s(W,"x","150"),s(W,"y","20"),s(W,"text-anchor","middle"),s(W,"class","cardinal svelte-1sgx2se"),s(oe,"x","280"),s(oe,"y","155"),s(oe,"text-anchor","middle"),s(oe,"class","cardinal svelte-1sgx2se"),s(ue,"x","150"),s(ue,"y","285"),s(ue,"text-anchor","middle"),s(ue,"class","cardinal svelte-1sgx2se"),s(ae,"x","20"),s(ae,"y","155"),s(ae,"text-anchor","middle"),s(ae,"class","cardinal svelte-1sgx2se"),s(d,"viewBox","0 0 300 300"),s(d,"class","map-svg svelte-1sgx2se"),s(g,"class","map-container svelte-1sgx2se"),s(x,"type","number"),s(x,"min","0"),s(x,"max","359"),s(x,"placeholder","Enter heading"),s(x,"class","heading-input svelte-1sgx2se"),s(ee,"class","go-btn svelte-1sgx2se"),s(H,"class","goto-container svelte-1sgx2se"),s(Re,"class","control-btn ccw svelte-1sgx2se"),s(Pe,"class","control-btn stop svelte-1sgx2se"),s(ce,"class","control-btn cw svelte-1sgx2se"),s(fe,"class","controls svelte-1sgx2se"),s(f,"class","metrics svelte-1sgx2se"),s(l,"class","card svelte-1sgx2se")},m(R,ve){Oe(R,l,ve),t(l,n),t(n,r),t(n,i),t(n,o),t(l,h),t(l,f),t(f,m),t(m,c),t(m,j),t(m,v),t(v,w),t(v,_),t(f,y),t(f,g),t(g,d),t(d,T),t(T,C),t(C,p),t(C,O),t(d,I),t(d,F),t(d,E),t(d,J),t(d,X),t(X,re),t(re,K),t(re,A),t(re,Z),t(re,Q),t(Q,ne),t(X,z),t(z,B),t(X,k),t(k,U),t(k,S),t(d,W),t(W,he),t(d,oe),t(oe,$e),t(d,ue),t(ue,Ge),t(d,ae),t(ae,He);for(let q=0;q<4;q+=1)V[q]&&V[q].m(d,null);t(f,me),t(f,H),t(H,x),Pt(x,e[0]),t(H,_e),t(H,ee),t(f,Me),t(f,fe),t(fe,Re),t(fe,je),t(fe,Pe),t(fe,ye),t(fe,ce),pe||(xe=[Ne(x,"input",e[8]),Ne(ee,"click",e[3]),Ne(Re,"click",e[5]),Ne(Pe,"click",e[6]),Ne(ce,"click",e[4])],pe=!0)},p(R,[ve]){if(ve&2&&P(o,"disconnected",!R[1]),ve&4&&N(w,R[2]),ve&4&&be!==(be="rotate("+R[2]+")")&&s(re,"transform",be),ve&0){te=yt([45,135,225,315]);let q;for(q=0;q<4;q+=1){const Ce=Qt(R,te,q);V[q]?V[q].p(Ce,ve):(V[q]=es(Ce),V[q].c(),V[q].m(d,null))}for(;q<4;q+=1)V[q].d(1)}ve&1&&ns(x.value)!==R[0]&&Pt(x,R[0])},i:Fe,o:Fe,d(R){R&&ge(l),Wt(V,R),pe=!1,it(xe)}}}function Js(e,l,n){let r,i,{status:o}=l,h=0;async function f(){if(h<0||h>359){alert("Heading must be between 0 and 359");return}try{const w=(h-10+360)%360;await Ee.rotator.setHeading(w)}catch(w){console.error("Failed to set heading:",w),alert("Failed to rotate")}}async function m(){try{await Ee.rotator.rotateCW()}catch(w){console.error("Failed to rotate CW:",w)}}async function c(){try{await Ee.rotator.rotateCCW()}catch(w){console.error("Failed to rotate CCW:",w)}}async function j(){try{await Ee.rotator.stop()}catch(w){console.error("Failed to stop:",w)}}function v(){h=ns(this.value),n(0,h)}return e.$$set=w=>{"status"in w&&n(7,o=w.status)},e.$$.update=()=>{e.$$.dirty&128&&n(2,r=(o==null?void 0:o.heading)||0),e.$$.dirty&128&&n(1,i=(o==null?void 0:o.connected)||!1)},[h,i,r,f,m,c,j,o,v]}class Us extends kt{constructor(l){super(),Ct(this,l,Js,$s,ft,{status:7})}}function Xs(e){var rt,ut,Tt,Xe,ot;let l,n,r,i,o,h,f,m,c,j,v=e[1]?"Connected":"Disconnected",w,_,y,g,d,T,C,p=e[5].sfi+"",O,I,F,E,J,X=e[5].sunspots+"",re,K,A,Z,Q,ne=e[5].a_index+"",be,z,B,k,U,S=e[5].k_index+"",W,he,oe,$e,ue,Ge=e[5].geomag+"",ae,He,me,H,x,_e,ee=e[4].wind_speed.toFixed(1)+"",Me,fe,Re,je,Pe,ye=e[4].wind_gust.toFixed(1)+"",ce,pe,xe,te,V,R=e[4].temp.toFixed(1)+"",ve,q,Ce,Le,ct,ke=e[4].feels_like.toFixed(1)+"",qe,nt,Je,We,Ie,De=ts(e[2])+"",Be,Ve,tt,Te=e[2].toLocaleDateString()+"",Ye,Ue,Ke,Ae,we,Se,ze,L,se,st,at,Ze,lt,dt,Qe,ie;return Se=new Ss({props:{status:(rt=e[0])==null?void 0:rt.webswitch}}),L=new Es({props:{status:(ut=e[0])==null?void 0:ut.power_genius}}),st=new zs({props:{status:(Tt=e[0])==null?void 0:Tt.tuner_genius}}),lt=new qs({props:{status:(Xe=e[0])==null?void 0:Xe.antenna_genius}}),Qe=new Us({props:{status:(ot=e[0])==null?void 0:ot.rotator_genius}}),{c(){l=a("div"),n=a("header"),r=a("div"),i=a("h1"),o=b(e[3]),h=b(" Shack"),f=u(),m=a("div"),c=a("span"),j=u(),w=b(v),_=u(),y=a("div"),g=a("div"),d=a("span"),T=b("SFI "),C=a("span"),O=b(p),I=u(),F=a("span"),E=b("Spots "),J=a("span"),re=b(X),K=u(),A=a("span"),Z=b("A "),Q=a("span"),be=b(ne),z=u(),B=a("span"),k=b("K "),U=a("span"),W=b(S),he=u(),oe=a("span"),$e=b("G "),ue=a("span"),ae=b(Ge),He=u(),me=a("div"),H=a("div"),x=a("span"),_e=b("🌬️ "),Me=b(ee),fe=b("m/s"),Re=u(),je=a("span"),Pe=b("💨 "),ce=b(ye),pe=b("m/s"),xe=u(),te=a("span"),V=b("🌡️ "),ve=b(R),q=b("°C"),Ce=u(),Le=a("span"),ct=b("→ "),qe=b(ke),nt=b("°C"),Je=u(),We=a("div"),Ie=a("span"),Be=b(De),Ve=u(),tt=a("span"),Ye=b(Te),Ue=u(),Ke=a("main"),Ae=a("div"),we=a("div"),Mt(Se.$$.fragment),ze=u(),Mt(L.$$.fragment),se=u(),Mt(st.$$.fragment),at=u(),Ze=a("div"),Mt(lt.$$.fragment),dt=u(),Mt(Qe.$$.fragment),s(i,"class","svelte-1hrhory"),s(c,"class","status-indicator"),P(c,"status-online",e[1]),P(c,"status-offline",!e[1]),s(m,"class","connection-status svelte-1hrhory"),s(r,"class","header-left svelte-1hrhory"),s(C,"class","value svelte-1hrhory"),s(d,"class","solar-item svelte-1hrhory"),s(J,"class","value svelte-1hrhory"),s(F,"class","solar-item svelte-1hrhory"),s(Q,"class","value svelte-1hrhory"),s(A,"class","solar-item svelte-1hrhory"),s(U,"class","value svelte-1hrhory"),s(B,"class","solar-item svelte-1hrhory"),s(ue,"class","value svelte-1hrhory"),s(oe,"class","solar-item svelte-1hrhory"),s(g,"class","solar-info svelte-1hrhory"),s(y,"class","header-center svelte-1hrhory"),s(x,"title","Wind"),s(je,"title","Gust"),s(te,"title","Temperature"),s(Le,"title","Feels like"),s(H,"class","weather-info svelte-1hrhory"),s(Ie,"class","time svelte-1hrhory"),s(tt,"class","date svelte-1hrhory"),s(We,"class","clock svelte-1hrhory"),s(me,"class","header-right svelte-1hrhory"),s(n,"class","svelte-1hrhory"),s(we,"class","row svelte-1hrhory"),s(Ze,"class","row svelte-1hrhory"),s(Ae,"class","dashboard-grid svelte-1hrhory"),s(Ke,"class","svelte-1hrhory"),s(l,"class","app svelte-1hrhory")},m(M,G){Oe(M,l,G),t(l,n),t(n,r),t(r,i),t(i,o),t(i,h),t(r,f),t(r,m),t(m,c),t(m,j),t(m,w),t(n,_),t(n,y),t(y,g),t(g,d),t(d,T),t(d,C),t(C,O),t(g,I),t(g,F),t(F,E),t(F,J),t(J,re),t(g,K),t(g,A),t(A,Z),t(A,Q),t(Q,be),t(g,z),t(g,B),t(B,k),t(B,U),t(U,W),t(g,he),t(g,oe),t(oe,$e),t(oe,ue),t(ue,ae),t(n,He),t(n,me),t(me,H),t(H,x),t(x,_e),t(x,Me),t(x,fe),t(H,Re),t(H,je),t(je,Pe),t(je,ce),t(je,pe),t(H,xe),t(H,te),t(te,V),t(te,ve),t(te,q),t(H,Ce),t(H,Le),t(Le,ct),t(Le,qe),t(Le,nt),t(me,Je),t(me,We),t(We,Ie),t(Ie,Be),t(We,Ve),t(We,tt),t(tt,Ye),t(l,Ue),t(l,Ke),t(Ke,Ae),t(Ae,we),bt(Se,we,null),t(we,ze),bt(L,we,null),t(we,se),bt(st,we,null),t(Ae,at),t(Ae,Ze),bt(lt,Ze,null),t(Ze,dt),bt(Qe,Ze,null),ie=!0},p(M,[G]){var D,$,Gt,Ht,qt;(!ie||G&8)&&N(o,M[3]),(!ie||G&2)&&P(c,"status-online",M[1]),(!ie||G&2)&&P(c,"status-offline",!M[1]),(!ie||G&2)&&v!==(v=M[1]?"Connected":"Disconnected")&&N(w,v),(!ie||G&32)&&p!==(p=M[5].sfi+"")&&N(O,p),(!ie||G&32)&&X!==(X=M[5].sunspots+"")&&N(re,X),(!ie||G&32)&&ne!==(ne=M[5].a_index+"")&&N(be,ne),(!ie||G&32)&&S!==(S=M[5].k_index+"")&&N(W,S),(!ie||G&32)&&Ge!==(Ge=M[5].geomag+"")&&N(ae,Ge),(!ie||G&16)&&ee!==(ee=M[4].wind_speed.toFixed(1)+"")&&N(Me,ee),(!ie||G&16)&&ye!==(ye=M[4].wind_gust.toFixed(1)+"")&&N(ce,ye),(!ie||G&16)&&R!==(R=M[4].temp.toFixed(1)+"")&&N(ve,R),(!ie||G&16)&&ke!==(ke=M[4].feels_like.toFixed(1)+"")&&N(qe,ke),(!ie||G&4)&&De!==(De=ts(M[2])+"")&&N(Be,De),(!ie||G&4)&&Te!==(Te=M[2].toLocaleDateString()+"")&&N(Ye,Te);const pt={};G&1&&(pt.status=(D=M[0])==null?void 0:D.webswitch),Se.$set(pt);const St={};G&1&&(St.status=($=M[0])==null?void 0:$.power_genius),L.$set(St);const Ft={};G&1&&(Ft.status=(Gt=M[0])==null?void 0:Gt.tuner_genius),st.$set(Ft);const vt={};G&1&&(vt.status=(Ht=M[0])==null?void 0:Ht.antenna_genius),lt.$set(vt);const et={};G&1&&(et.status=(qt=M[0])==null?void 0:qt.rotator_genius),Qe.$set(et)},i(M){ie||(gt(Se.$$.fragment,M),gt(L.$$.fragment,M),gt(st.$$.fragment,M),gt(lt.$$.fragment,M),gt(Qe.$$.fragment,M),ie=!0)},o(M){Ot(Se.$$.fragment,M),Ot(L.$$.fragment,M),Ot(st.$$.fragment,M),Ot(lt.$$.fragment,M),Ot(Qe.$$.fragment,M),ie=!1},d(M){M&&ge(l),_t(Se),_t(L),_t(st),_t(lt),_t(Qe)}}}function ts(e){return e.toTimeString().slice(0,8)}function xs(e,l,n){let r,i,o=null,h=!1,f=new Date,m="F4BPO";const c=os.subscribe(v=>{n(0,o=v)}),j=Rt.subscribe(v=>{n(1,h=v)});return vs(async()=>{xt.connect();try{const w=await Ee.getConfig();w.callsign&&n(3,m=w.callsign)}catch(w){console.error("Failed to fetch config:",w)}const v=setInterval(()=>{n(2,f=new Date)},1e3);return()=>{clearInterval(v)}}),fs(()=>{xt.disconnect(),c(),j()}),e.$$.update=()=>{e.$$.dirty&1&&n(5,r=(o==null?void 0:o.solar)||{sfi:0,sunspots:0,a_index:0,k_index:0,geomag:"Unknown"}),e.$$.dirty&1&&n(4,i=(o==null?void 0:o.weather)||{wind_speed:0,wind_gust:0,temp:0,feels_like:0})},[o,h,f,m,i,r]}class Vs extends kt{constructor(l){super(),Ct(this,l,xs,Xs,ft,{})}}new Vs({target:document.getElementById("app")});