homebridge-config-ui-x 5.0.0-beta.49 → 5.0.0-beta.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -1
- package/package.json +14 -14
- package/public/chunk-276OSEZQ.js +7 -0
- package/public/{chunk-MVBTQKIK.js → chunk-2WHZVNIL.js} +1 -1
- package/public/{chunk-HMCIUNTI.js → chunk-4ZL63DAS.js} +1 -1
- package/public/{chunk-P4G7R233.js → chunk-56RER65C.js} +1 -1
- package/public/chunk-5MSINJOP.js +1 -0
- package/public/{chunk-PPT7YV25.js → chunk-5ONHAKZR.js} +1 -1
- package/public/{chunk-5FAAGX6Q.js → chunk-5V64KILF.js} +1 -1
- package/public/{chunk-BRLQRDDE.js → chunk-6GXK647W.js} +1 -1
- package/public/{chunk-AYMOJATW.js → chunk-6MPSM5D6.js} +1 -1
- package/public/chunk-6RK4ITUO.js +1 -0
- package/public/chunk-75KPAY3Q.js +1 -0
- package/public/{chunk-JS6ONM73.js → chunk-AENRYLWF.js} +1 -1
- package/public/{chunk-Q5OOH5FM.js → chunk-AJYKZAH3.js} +1 -1
- package/public/{chunk-AL4B7SPR.js → chunk-AU2REXCU.js} +5 -5
- package/public/chunk-AZJVWGE5.js +1 -0
- package/public/chunk-BRK3WB3H.js +1 -0
- package/public/{chunk-COKV5KB2.js → chunk-BULYN7ZO.js} +1 -1
- package/public/{chunk-JMV6GJY6.js → chunk-DSIAGWN2.js} +1 -1
- package/public/{chunk-W7TUYK4G.js → chunk-F2FNCF5K.js} +1 -1
- package/public/chunk-G6ROSMJ3.js +1 -0
- package/public/{chunk-UJ4WWACD.js → chunk-GHKR2EZU.js} +1 -1
- package/public/{chunk-4TLWNUVF.js → chunk-GUS2LV3D.js} +1 -1
- package/public/{chunk-IFQZA7AR.js → chunk-H444L7G2.js} +1 -1
- package/public/{chunk-DODCDNCH.js → chunk-HG2QB6Y6.js} +1 -1
- package/public/{chunk-DZZJUIUB.js → chunk-HNFETLSU.js} +2 -2
- package/public/{chunk-6Z26BY4U.js → chunk-HPUZDM2V.js} +16 -16
- package/public/{chunk-3MS5T333.js → chunk-HRPNY45F.js} +1 -1
- package/public/{chunk-A36UOKQM.js → chunk-HYGERTMR.js} +2 -2
- package/public/{chunk-36QWIZI7.js → chunk-I7SLBIH6.js} +1 -1
- package/public/{chunk-RXVUWQQM.js → chunk-IEZLZCA6.js} +1 -1
- package/public/chunk-IH2OXT2T.js +1 -0
- package/public/{chunk-PUTZ5W4K.js → chunk-J77TCJAI.js} +1 -1
- package/public/chunk-JDXSF4VD.js +1 -0
- package/public/{chunk-RVYIQ5LE.js → chunk-JJFCKMHJ.js} +1 -1
- package/public/chunk-K7IKFAZN.js +1 -0
- package/public/chunk-KAFQN55U.js +1 -0
- package/public/{chunk-ZOFET4WQ.js → chunk-KAPE7X2V.js} +1 -1
- package/public/{chunk-M5C4PXJK.js → chunk-KQATISYN.js} +1 -1
- package/public/{chunk-CXFP5Z3Z.js → chunk-LMNTZZKY.js} +1 -1
- package/public/chunk-LZIWKREV.js +1 -0
- package/public/{chunk-R5YQXFDB.js → chunk-M2ZTMXK6.js} +1 -1
- package/public/chunk-MDBWULHP.js +1 -0
- package/public/chunk-MF3MK5NW.js +1 -0
- package/public/{chunk-Z2MYOFRS.js → chunk-MFNVTZHA.js} +1 -1
- package/public/{chunk-S6FGILT3.js → chunk-MNEDGYZ3.js} +1 -1
- package/public/{chunk-P33XPQJZ.js → chunk-MQWX6PSO.js} +1 -1
- package/public/chunk-NAMO762C.js +1 -0
- package/public/chunk-NF5SPN5X.js +1 -0
- package/public/chunk-NINDI35B.js +1 -0
- package/public/chunk-NYUJXXQS.js +1 -0
- package/public/chunk-O7H2IFCY.js +1 -0
- package/public/{chunk-7WVCMXZM.js → chunk-OKZF7N6P.js} +1 -1
- package/public/chunk-OO3HYTGF.js +1 -0
- package/public/{chunk-C7MCJ3HJ.js → chunk-OPWJCA7K.js} +1 -1
- package/public/{chunk-3BDQDK7Z.js → chunk-OQDRBWFU.js} +1 -1
- package/public/{chunk-6RXHLHWG.js → chunk-OR3OTNZX.js} +1 -1
- package/public/{chunk-3M4FKD4C.js → chunk-OU5BBEVP.js} +1 -1
- package/public/{chunk-QZAASX2P.js → chunk-OW57Y4JF.js} +1 -1
- package/public/{chunk-2RHVBUWQ.js → chunk-OXRKLTFO.js} +1 -1
- package/public/{chunk-Y4U2OZ54.js → chunk-P2G4VWRA.js} +1 -1
- package/public/chunk-PEIQT4KX.js +1 -0
- package/public/{chunk-6DI47FXW.js → chunk-PEPPIHCS.js} +1 -1
- package/public/{chunk-ASGWDNPK.js → chunk-PW5JY4GF.js} +1 -1
- package/public/{chunk-IGGAKDGB.js → chunk-QKWW5YEX.js} +1 -1
- package/public/chunk-QPC23WSW.js +1 -0
- package/public/{chunk-Z2XEI7AO.js → chunk-QR2MNMQY.js} +1 -1
- package/public/{chunk-YK66OZMP.js → chunk-R6O55HPN.js} +1 -1
- package/public/chunk-RDUPRTJ7.js +1 -0
- package/public/chunk-RIAD7LOL.js +1 -0
- package/public/{chunk-5EOKPNKK.js → chunk-SKJSWOOW.js} +1 -1
- package/public/{chunk-ROLRUBFP.js → chunk-TL73FN75.js} +1 -1
- package/public/{chunk-IJXZOFF2.js → chunk-TOHNQM4M.js} +1 -1
- package/public/chunk-UQTGLBZN.js +1 -0
- package/public/{chunk-JYTZL4JA.js → chunk-V5KD6NYE.js} +1 -1
- package/public/chunk-VOUY3YCM.js +1 -0
- package/public/{chunk-R3UJDRMY.js → chunk-XA36QX5R.js} +1 -1
- package/public/{chunk-LVTTA25W.js → chunk-XDJ55I6S.js} +1 -1
- package/public/{chunk-7G4JRXOV.js → chunk-XU7GHNFE.js} +1 -1
- package/public/chunk-XV7KL7UL.js +1 -0
- package/public/chunk-YIPVTR4W.js +1 -0
- package/public/{chunk-F3B373TU.js → chunk-YPVHF7R5.js} +1 -1
- package/public/{chunk-O4J5XPML.js → chunk-ZD564EAP.js} +1 -1
- package/public/{chunk-LWRSZZVK.js → chunk-ZLL4TMOU.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-KV6LSW6T.js → main-OCFNRSAL.js} +1 -1
- package/public/chunk-2DNEBY5E.js +0 -1
- package/public/chunk-3FYKWBX4.js +0 -1
- package/public/chunk-45EEWPPP.js +0 -1
- package/public/chunk-467DG7CQ.js +0 -1
- package/public/chunk-4Z3PKFSC.js +0 -1
- package/public/chunk-CTNJDNS2.js +0 -1
- package/public/chunk-CUJHL6GN.js +0 -1
- package/public/chunk-CZTEBDJ7.js +0 -1
- package/public/chunk-D3ALOR2J.js +0 -1
- package/public/chunk-EWBJKCV2.js +0 -1
- package/public/chunk-EWKRKJWP.js +0 -1
- package/public/chunk-FBYMGTFS.js +0 -1
- package/public/chunk-JDRGU6D5.js +0 -1
- package/public/chunk-JJBFROMM.js +0 -1
- package/public/chunk-JUGLUJ6M.js +0 -1
- package/public/chunk-KA7VEXYP.js +0 -1
- package/public/chunk-KSYVP6OJ.js +0 -1
- package/public/chunk-L4CXAWDO.js +0 -1
- package/public/chunk-LUOETQYT.js +0 -1
- package/public/chunk-MJNSII2N.js +0 -1
- package/public/chunk-MWYAZTLX.js +0 -1
- package/public/chunk-N5DHAEO2.js +0 -7
- package/public/chunk-QJYOQ4DI.js +0 -1
- package/public/chunk-S5GONVEN.js +0 -1
- package/public/chunk-SDKSMP3B.js +0 -1
- package/public/chunk-UX3DMSLN.js +0 -1
- package/public/chunk-X2TCWBWH.js +0 -1
- package/public/chunk-XKCVC7DK.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as wn}from"./chunk-DODCDNCH.js";import{m as ve,n as pe}from"./chunk-AL4B7SPR.js";import{a as hn,b as Cn,c as _n,e as _e,l as xe,y as ue}from"./chunk-CZTEBDJ7.js";import{a as Mn}from"./chunk-7G4JRXOV.js";import{c as Tn}from"./chunk-QZAASX2P.js";import{b as bn}from"./chunk-MVBTQKIK.js";import{h as Sn,k as yn}from"./chunk-PPT7YV25.js";import{a as gn,e as ai}from"./chunk-A36UOKQM.js";import{a as xn,b as A}from"./chunk-IJXZOFF2.js";import{Ac as v,Bc as ge,Ca as We,Da as an,Fa as ki,G as en,H as Pt,Ha as ot,Ib as I,Jb as u,K as tn,Lb as dn,M as Te,Na as sn,Ob as h,Q as De,Qb as Ei,Rb as Ii,Rc as vn,Sb as Vi,Tb as a,Ub as s,Uc as fn,Vb as f,Wb as mn,X as nn,Xb as un,Zb as Ce,_c as B,a as Yi,ac as S,b as Zi,ba as on,bc as _,e as Je,fa as rn,g as Vr,ga as it,gb as r,gd as Fe,h as Qt,ha as Ct,i as wi,jb as ln,jd as ri,kb as ti,kd as At,la as qe,lb as ii,lc as c,ma as N,mb as ke,mc as x,n as ce,nc as y,ob as cn,oc as te,pc as ni,qc as re,r as Qi,rc as ae,s as Ji,sb as k,sc as se,ta as nt,tb as _t,tc as oi,ua as Z,ub as xt,va as Q,vb as pn,vc as J,w as Jt,wc as H,x as ei,xc as Ue,yb as M,zc as m}from"./chunk-N5DHAEO2.js";var En=Je((Jp,kn)=>{kn.exports=function(n,t){return Array.prototype.slice.call(n,t)}});var Vn=Je((ed,In)=>{var Dr=typeof setImmediate=="function",Di;Dr?Di=function(e){setImmediate(e)}:Di=function(e){setTimeout(e,0)};In.exports=Di});var Pn=Je((td,Dn)=>{"use strict";var Pr=Vn();Dn.exports=function(n,t,o){n&&Pr(function(){n.apply(o||null,t||[])})}});var Hn=Je((id,Bn)=>{"use strict";var An=En(),Ar=Pn();Bn.exports=function(n,t){var o=t||{},i={};return n===void 0&&(n={}),n.on=function(l,p){return i[l]?i[l].push(p):i[l]=[p],n},n.once=function(l,p){return p._once=!0,n.on(l,p),n},n.off=function(l,p){var b=arguments.length;if(b===1)delete i[l];else if(b===0)i={};else{var w=i[l];if(!w)return n;w.splice(w.indexOf(p),1)}return n},n.emit=function(){var l=An(arguments);return n.emitterSnapshot(l.shift()).apply(this,l)},n.emitterSnapshot=function(l){var p=(i[l]||[]).slice(0);return function(){var b=An(arguments),w=this||n;if(l==="error"&&o.throws!==!1&&!p.length)throw b.length===1?b[0]:b;return p.forEach(function(L){o.async?Ar(L,b,w):L.apply(w,b),L._once&&n.off(l,L)}),n}},n}});var Nn=Je((nd,Fn)=>{var Rn=global.CustomEvent;function Br(){try{var e=new Rn("cat",{detail:{foo:"bar"}});return e.type==="cat"&&e.detail.foo==="bar"}catch{}return!1}Fn.exports=Br()?Rn:typeof document<"u"&&typeof document.createEvent=="function"?function(n,t){var o=document.createEvent("CustomEvent");return t?o.initCustomEvent(n,t.bubbles,t.cancelable,t.detail):o.initCustomEvent(n,!1,!1,void 0),o}:function(n,t){var o=document.createEventObject();return o.type=n,t?(o.bubbles=!!t.bubbles,o.cancelable=!!t.cancelable,o.detail=t.detail):(o.bubbles=!1,o.cancelable=!1,o.detail=void 0),o}});var Ln=Je((od,Gn)=>{"use strict";var On=[],Pi="",Hr=/^on/;for(Pi in global)Hr.test(Pi)&&On.push(Pi.slice(2));Gn.exports=On});var zn=Je((rd,$n)=>{"use strict";var Rr=Nn(),Fr=Ln(),si=global.document,jn=Nr,Wn=Gr,Bt=[];global.addEventListener||(jn=Or,Wn=Lr);$n.exports={add:jn,remove:Wn,fabricate:jr};function Nr(e,n,t,o){return e.addEventListener(n,t,o)}function Or(e,n,t){return e.attachEvent("on"+n,Ur(e,n,t))}function Gr(e,n,t,o){return e.removeEventListener(n,t,o)}function Lr(e,n,t){var o=Un(e,n,t);if(o)return e.detachEvent("on"+n,o)}function jr(e,n,t){var o=Fr.indexOf(n)===-1?l():i();e.dispatchEvent?e.dispatchEvent(o):e.fireEvent("on"+n,o);function i(){var p;return si.createEvent?(p=si.createEvent("Event"),p.initEvent(n,!0,!0)):si.createEventObject&&(p=si.createEventObject()),p}function l(){return new Rr(n,{detail:t})}}function Wr(e,n,t){return function(i){var l=i||global.event;l.target=l.target||l.srcElement,l.preventDefault=l.preventDefault||function(){l.returnValue=!1},l.stopPropagation=l.stopPropagation||function(){l.cancelBubble=!0},l.which=l.which||l.keyCode,t.call(e,l)}}function Ur(e,n,t){var o=Un(e,n,t)||Wr(e,n,t);return Bt.push({wrapper:o,element:e,type:n,fn:t}),o}function Un(e,n,t){var o=$r(e,n,t);if(o){var i=Bt[o].wrapper;return Bt.splice(o,1),i}}function $r(e,n,t){var o,i;for(o=0;o<Bt.length;o++)if(i=Bt[o],i.element===e&&i.type===n&&i.fn===t)return o}});var Yn=Je((ad,Kn)=>{"use strict";var qn={},zr="(?:^|\\s)",qr="(?:\\s|$)";function Xn(e){var n=qn[e];return n?n.lastIndex=0:qn[e]=n=new RegExp(zr+e+qr,"g"),n}function Xr(e,n){var t=e.className;t.length?Xn(n).test(t)||(e.className+=" "+n):e.className=n}function Kr(e,n){e.className=e.className.replace(Xn(n)," ").trim()}Kn.exports={add:Xr,rm:Kr}});var ao=Je((sd,ro)=>{"use strict";var Yr=Hn(),St=zn(),rt=Yn(),yt=document,Ze=yt.documentElement;function Zr(e,n){var t=arguments.length;t===1&&Array.isArray(e)===!1&&(n=e,e=[]);var o,i,l,p,b,w,V,L,X,z,O,fe=null,Y,R=n||{};R.moves===void 0&&(R.moves=eo),R.accepts===void 0&&(R.accepts=eo),R.invalid===void 0&&(R.invalid=jt),R.containers===void 0&&(R.containers=e||[]),R.isContainer===void 0&&(R.isContainer=Jr),R.copy===void 0&&(R.copy=!1),R.copySortSource===void 0&&(R.copySortSource=!1),R.revertOnSpill===void 0&&(R.revertOnSpill=!1),R.removeOnSpill===void 0&&(R.removeOnSpill=!1),R.direction===void 0&&(R.direction="vertical"),R.ignoreInputTextSelection===void 0&&(R.ignoreInputTextSelection=!0),R.mirrorContainer===void 0&&(R.mirrorContainer=yt.body);var le=Yr({containers:R.containers,start:_i,end:ft,cancel:Ut,remove:Tt,destroy:vt,canMove:Ci,dragging:!1});return R.removeOnSpill===!0&&le.on("over",kt).on("out",Et),et(),le;function Ge(T){return le.containers.indexOf(T)!==-1||R.isContainer(T)}function et(T){var j=T?"remove":"add";Ht(Ze,j,"mousedown",ze),Ht(Ze,j,"mouseup",bt)}function Ye(T){var j=T?"remove":"add";Ht(Ze,j,"mousemove",hi)}function lt(T){var j=T?"remove":"add";St[j](Ze,"selectstart",Gt),St[j](Ze,"click",Gt)}function vt(){et(!0),bt({})}function Gt(T){Y&&T.preventDefault()}function ze(T){w=T.clientX,V=T.clientY;var j=Zn(T)!==1||T.metaKey||T.ctrlKey;if(!j){var q=T.target,ee=ct(q);ee&&(Y=ee,Ye(),T.type==="mousedown"&&(no(q)?q.focus():T.preventDefault()))}}function hi(T){if(Y){if(Zn(T)===0){bt({});return}if(!(T.clientX!==void 0&&Math.abs(T.clientX-w)<=(R.slideFactorX||0)&&T.clientY!==void 0&&Math.abs(T.clientY-V)<=(R.slideFactorY||0))){if(R.ignoreInputTextSelection){var j=at("clientX",T)||0,q=at("clientY",T)||0,ee=yt.elementFromPoint(j,q);if(no(ee))return}var Ae=Y;Ye(!0),lt(),ft(),Lt(Ae);var Me=Qr(l);p=at("pageX",T)-Me.left,b=at("pageY",T)-Me.top,rt.add(z||l,"gu-transit"),zt(),wt(T)}}}function ct(T){if(!(le.dragging&&o)&&!Ge(T)){for(var j=T;Ne(T)&&Ge(Ne(T))===!1;)if(R.invalid(T,j)||(T=Ne(T),!T))return;var q=Ne(T);if(q&&!R.invalid(T,j)){var ee=R.moves(T,q,j,Rt(T));if(ee)return{item:T,source:q}}}}function Ci(T){return!!ct(T)}function _i(T){var j=ct(T);j&&Lt(j)}function Lt(T){xi(T.item,T.source)&&(z=T.item.cloneNode(!0),le.emit("cloned",z,T.item,"copy")),i=T.source,l=T.item,L=X=Rt(T.item),le.dragging=!0,le.emit("drag",l,i)}function jt(){return!1}function ft(){if(le.dragging){var T=z||l;gt(T,Ne(T))}}function Wt(){Y=!1,Ye(!0),lt(!0)}function bt(T){if(Wt(),!!le.dragging){var j=z||l,q=at("clientX",T)||0,ee=at("clientY",T)||0,Ae=Jn(o,q,ee),Me=$t(Ae,q,ee);Me&&(z&&R.copySortSource||!z||Me!==i)?gt(j,Me):R.removeOnSpill?Tt():Ut()}}function gt(T,j){var q=Ne(T);z&&R.copySortSource&&j===i&&q.removeChild(l),ht(j)?le.emit("cancel",T,i,i):le.emit("drop",T,j,i,X),Mt()}function Tt(){if(le.dragging){var T=z||l,j=Ne(T);j&&j.removeChild(T),le.emit(z?"cancel":"remove",T,j,i),Mt()}}function Ut(T){if(le.dragging){var j=arguments.length>0?T:R.revertOnSpill,q=z||l,ee=Ne(q),Ae=ht(ee);Ae===!1&&j&&(z?ee&&ee.removeChild(z):i.insertBefore(q,L)),Ae||j?le.emit("cancel",q,i,i):le.emit("drop",q,ee,i,X),Mt()}}function Mt(){var T=z||l;Wt(),Qe(),T&&rt.rm(T,"gu-transit"),O&&clearTimeout(O),le.dragging=!1,fe&&le.emit("out",T,fe,i),le.emit("dragend",T),i=l=z=L=X=O=fe=null}function ht(T,j){var q;return j!==void 0?q=j:o?q=X:q=Rt(z||l),T===i&&q===L}function $t(T,j,q){for(var ee=T;ee&&!Ae();)ee=Ne(ee);return ee;function Ae(){var Me=Ge(ee);if(Me===!1)return!1;var tt=qt(ee,T),Ee=It(ee,tt,j,q),je=ht(ee,Ee);return je?!0:R.accepts(l,ee,i,Ee)}}function wt(T){if(!o)return;T.preventDefault();var j=at("clientX",T)||0,q=at("clientY",T)||0,ee=j-p,Ae=q-b;o.style.left=ee+"px",o.style.top=Ae+"px";var Me=z||l,tt=Jn(o,j,q),Ee=$t(tt,j,q),je=Ee!==null&&Ee!==fe;(je||Ee===null)&&(Xt(),fe=Ee,Vt());var Re=Ne(Me);if(Ee===i&&z&&!R.copySortSource){Re&&Re.removeChild(Me);return}var Ie,oe=qt(Ee,tt);if(oe!==null)Ie=It(Ee,oe,j,q);else if(R.revertOnSpill===!0&&!z)Ie=L,Ee=i;else{z&&Re&&Re.removeChild(Me);return}(Ie===null&&je||Ie!==Me&&Ie!==Rt(Me))&&(X=Ie,Ee.insertBefore(Me,Ie),le.emit("shadow",Me,Ee,i));function Le(Kt){le.emit(Kt,Me,fe,i)}function Vt(){je&&Le("over")}function Xt(){fe&&Le("out")}}function kt(T){rt.rm(T,"gu-hide")}function Et(T){le.dragging&&rt.add(T,"gu-hide")}function zt(){if(!o){var T=l.getBoundingClientRect();o=l.cloneNode(!0),o.style.width=to(T)+"px",o.style.height=io(T)+"px",rt.rm(o,"gu-transit"),rt.add(o,"gu-mirror"),R.mirrorContainer.appendChild(o),Ht(Ze,"add","mousemove",wt),rt.add(R.mirrorContainer,"gu-unselectable"),le.emit("cloned",o,l,"mirror")}}function Qe(){o&&(rt.rm(R.mirrorContainer,"gu-unselectable"),Ht(Ze,"remove","mousemove",wt),Ne(o).removeChild(o),o=null)}function qt(T,j){for(var q=j;q!==T&&Ne(q)!==T;)q=Ne(q);return q===Ze?null:q}function It(T,j,q,ee){var Ae=R.direction==="horizontal",Me=j!==T?Ee():tt();return Me;function tt(){var Re=T.children.length,Ie,oe,Le;for(Ie=0;Ie<Re;Ie++)if(oe=T.children[Ie],Le=oe.getBoundingClientRect(),Ae&&Le.left+Le.width/2>q||!Ae&&Le.top+Le.height/2>ee)return oe;return null}function Ee(){var Re=j.getBoundingClientRect();return je(Ae?q>Re.left+to(Re)/2:ee>Re.top+io(Re)/2)}function je(Re){return Re?Rt(j):j}}function xi(T,j){return typeof R.copy=="boolean"?R.copy:R.copy(T,j)}}function Ht(e,n,t,o){var i={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},l={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},p={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};global.navigator.pointerEnabled?St[n](e,l[t],o):global.navigator.msPointerEnabled?St[n](e,p[t],o):(St[n](e,i[t],o),St[n](e,t,o))}function Zn(e){if(e.touches!==void 0)return e.touches.length;if(e.which!==void 0&&e.which!==0)return e.which;if(e.buttons!==void 0)return e.buttons;var n=e.button;if(n!==void 0)return n&1?1:n&2?3:n&4?2:0}function Qr(e){var n=e.getBoundingClientRect();return{left:n.left+Qn("scrollLeft","pageXOffset"),top:n.top+Qn("scrollTop","pageYOffset")}}function Qn(e,n){return typeof global[n]<"u"?global[n]:Ze.clientHeight?Ze[e]:yt.body[e]}function Jn(e,n,t){e=e||{};var o=e.className||"",i;return e.className+=" gu-hide",i=yt.elementFromPoint(n,t),e.className=o,i}function Jr(){return!1}function eo(){return!0}function to(e){return e.width||e.right-e.left}function io(e){return e.height||e.bottom-e.top}function Ne(e){return e.parentNode===yt?null:e.parentNode}function no(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.tagName==="SELECT"||oo(e)}function oo(e){return!e||e.contentEditable==="false"?!1:e.contentEditable==="true"?!0:oo(Ne(e))}function Rt(e){return e.nextElementSibling||n();function n(){var t=e;do t=t.nextSibling;while(t&&t.nodeType!==1);return t}}function ea(e){return e.targetTouches&&e.targetTouches.length?e.targetTouches[0]:e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e}function at(e,n){var t=ea(n),o={pageX:"clientX",pageY:"clientY"};return e in o&&!(e in t)&&o[e]in t&&(e=o[e]),t[e]}ro.exports=Zr});var Ri=Vr(ao(),1),Ai=class{constructor(n,t,o){this.name=n,this.drake=t,this.options=o,this.initEvents=!1}},ne=function(e){return e.Cancel="cancel",e.Cloned="cloned",e.Drag="drag",e.DragEnd="dragend",e.Drop="drop",e.Out="out",e.Over="over",e.Remove="remove",e.Shadow="shadow",e.DropModel="dropModel",e.RemoveModel="removeModel",e}(ne||{}),ta=Object.keys(ne).map(e=>ne[e]),ia=Ri.default||Ri,Ft=class{constructor(n=ia){this.build=n}},dt=(e,n,t)=>o=>o.pipe(Pt(({event:i,name:l})=>i===e&&(n===void 0||l===n)),ei(({name:i,args:l})=>t(i,l))),na=(e,[n,t,o])=>({name:e,el:n,container:t,source:o}),Bi=(()=>{let n=class n{constructor(o){this.drakeFactory=o,this.groups={},this.dispatch$=new ce,this.elContainerSource=i=>l=>this.dispatch$.pipe(dt(i,l,na)),this.cancel=this.elContainerSource(ne.Cancel),this.remove=this.elContainerSource(ne.Remove),this.shadow=this.elContainerSource(ne.Shadow),this.over=this.elContainerSource(ne.Over),this.out=this.elContainerSource(ne.Out),this.drag=i=>this.dispatch$.pipe(dt(ne.Drag,i,(l,[p,b])=>({name:l,el:p,source:b}))),this.dragend=i=>this.dispatch$.pipe(dt(ne.DragEnd,i,(l,[p])=>({name:l,el:p}))),this.drop=i=>this.dispatch$.pipe(dt(ne.Drop,i,(l,[p,b,w,V])=>({name:l,el:p,target:b,source:w,sibling:V}))),this.cloned=i=>this.dispatch$.pipe(dt(ne.Cloned,i,(l,[p,b,w])=>({name:l,clone:p,original:b,cloneType:w}))),this.dropModel=i=>this.dispatch$.pipe(dt(ne.DropModel,i,(l,[p,b,w,V,L,X,z,O,fe])=>({name:l,el:p,target:b,source:w,sibling:V,item:L,sourceModel:X,targetModel:z,sourceIndex:O,targetIndex:fe}))),this.removeModel=i=>this.dispatch$.pipe(dt(ne.RemoveModel,i,(l,[p,b,w,V,L,X])=>({name:l,el:p,container:b,source:w,item:V,sourceModel:L,sourceIndex:X}))),(this.drakeFactory===null||this.drakeFactory===void 0)&&(this.drakeFactory=new Ft)}add(o){if(this.find(o.name))throw new Error('Group named: "'+o.name+'" already exists.');return this.groups[o.name]=o,this.handleModels(o),this.setupEvents(o),o}find(o){return this.groups[o]}destroy(o){let i=this.find(o);i&&(i.drake&&i.drake.destroy(),delete this.groups[o])}createGroup(o,i){return this.add(new Ai(o,this.drakeFactory.build([],i),i))}handleModels({name:o,drake:i,options:l}){let p,b,w;i.on("remove",(V,L,X)=>{if(!i.models)return;let z=i.models[i.containers.indexOf(X)];z=z.slice(0);let O=z.splice(b,1)[0];this.dispatch$.next({event:ne.RemoveModel,name:o,args:[V,L,X,O,z,b]})}),i.on("drag",(V,L)=>{i.models&&(p=V,b=this.domIndexOf(V,L))}),i.on("drop",(V,L,X,z)=>{if(!i.models||!L)return;w=this.domIndexOf(V,L);let O=i.models[i.containers.indexOf(X)],fe=i.models[i.containers.indexOf(L)],Y;if(L===X)O=O.slice(0),Y=O.splice(b,1)[0],O.splice(w,0,Y),fe=O;else{let R=p!==V;if(Y=O[b],R){if(!l.copyItem)throw new Error("If you have enabled `copy` on a group, you must provide a `copyItem` function.");Y=l.copyItem(Y)}if(R||(O=O.slice(0),O.splice(b,1)),fe=fe.slice(0),fe.splice(w,0,Y),R)try{L.removeChild(V)}catch{}}this.dispatch$.next({event:ne.DropModel,name:o,args:[V,L,X,z,Y,O,fe,b,w]})})}setupEvents(o){if(o.initEvents)return;o.initEvents=!0;let i=o.name,l=this,p=b=>{switch(b){case ne.Drag:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.Drop:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.DragEnd:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.Cancel:case ne.Remove:case ne.Shadow:case ne.Over:case ne.Out:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.Cloned:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.DropModel:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.RemoveModel:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;default:break}};ta.forEach(p)}domIndexOf(o,i){if(i)return Array.prototype.indexOf.call(i.children,o)}};n.\u0275fac=function(i){return new(i||n)(qe(Ft,8))},n.\u0275prov=it({token:n,factory:n.\u0275fac,providedIn:"root"});let e=n;return e})(),hd=(()=>{let n=class n{get container(){return this.el&&this.el.nativeElement}constructor(o,i){this.el=o,this.dragulaService=i,this.dragulaModelChange=new We}ngOnChanges(o){var i;if(o&&o.dragula){let{previousValue:l,currentValue:p,firstChange:b}=o.dragula,w=!!l,V=!!p;w&&this.teardown(l),V&&this.setup()}else if(o&&o.dragulaModel){let{previousValue:l,currentValue:p,firstChange:b}=o.dragulaModel,w=(i=this.group)==null?void 0:i.drake;if(this.dragula&&w){w.models=w.models||[];let V=w.models.indexOf(l);V!==-1?(w.models.splice(V,1),p&&w.models.splice(V,0,p)):p&&w.models.push(p)}}}setup(){var l;let o=p=>{var b,w,V;this.dragulaModel&&((b=p.drake)!=null&&b.models?(V=(w=p.drake)==null?void 0:w.models)==null||V.push(this.dragulaModel):p.drake&&(p.drake.models=[this.dragulaModel]))};if(!this.dragula)return;let i=this.dragulaService.find(this.dragula);if(!i){let p={};i=this.dragulaService.createGroup(this.dragula,p)}o(i),(l=i.drake)==null||l.containers.push(this.container),this.subscribe(this.dragula),this.group=i}subscribe(o){this.subs=new wi,this.subs.add(this.dragulaService.dropModel(o).subscribe(({source:i,target:l,sourceModel:p,targetModel:b})=>{i===this.el.nativeElement?this.dragulaModelChange.emit(p):l===this.el.nativeElement&&this.dragulaModelChange.emit(b)})),this.subs.add(this.dragulaService.removeModel(o).subscribe(({source:i,sourceModel:l})=>{i===this.el.nativeElement&&this.dragulaModelChange.emit(l)}))}teardown(o){var l,p;this.subs&&this.subs.unsubscribe();let i=this.dragulaService.find(o);if(i){let b=(l=i.drake)==null?void 0:l.containers.indexOf(this.el.nativeElement);if(b!==-1&&((p=i.drake)==null||p.containers.splice(b,1)),this.dragulaModel&&i.drake&&i.drake.models){let w=i.drake.models.indexOf(this.dragulaModel);w!==-1&&i.drake.models.splice(w,1)}}}ngOnDestroy(){this.dragula&&this.teardown(this.dragula)}};n.\u0275fac=function(i){return new(i||n)(ke(ot),ke(Bi))},n.\u0275dir=xt({type:n,selectors:[["","dragula",""]],inputs:{dragula:"dragula",dragulaModel:"dragulaModel"},outputs:{dragulaModelChange:"dragulaModelChange"},standalone:!1,features:[nt]});let e=n;return e})(),Cd=(()=>{let n=class n{static forRoot(){return{ngModule:n,providers:[Bi]}}};n.\u0275fac=function(i){return new(i||n)},n.\u0275mod=_t({type:n}),n.\u0275inj=Ct({providers:[Bi]});let e=n;return e})(),_d=new Ft((e,n)=>new Hi(e,n)),Hi=class{constructor(n=[],t={},o){this.containers=n,this.options=t,this.models=o,this.emitter$=new ce,this.subs=new wi,this.dragging=!1}on(n,t){this.subs.add(this.emitter$.pipe(Pt(({eventType:o})=>o===n)).subscribe(({eventType:o,args:i})=>{if(o===ne.Drag){let l=Array.from(i),p=l[0],b=l[1];t(p,b);return}if(o===ne.Drop){let l=Array.from(i),p=l[0],b=l[1],w=l[2],V=l[3];t(p,b,w,V);return}if(o===ne.Remove){let l=Array.from(i),p=l[0],b=l[1],w=l[2];t(p,b,w);return}t(i)}))}start(n){this.dragging=!0}end(){this.dragging=!1}cancel(n){this.dragging=!1}canMove(n){return this.options.accepts?this.options.accepts(n):!1}remove(){this.dragging=!1}destroy(){this.subs.unsubscribe()}emit(n,...t){this.emitter$.next({eventType:n,args:t})}};var $e=(()=>{class e{$settings=N(bn);constructor(){}transform(t,o=this.$settings.env.temperatureUnits){return o==="f"?t*1.8+32:t}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=pn({name:"convertTemp",type:e,pure:!0})}return e})();function oa(e,n){if(e&1&&c(0),e&2){let t=_().$implicit;y(" ",t.value,"% ")}}function ra(e,n){if(e&1&&(c(0),m(1,"convertTemp")),e&2){let t=_().$implicit;y(" ",v(1,1,t.value),"\xB0 ")}}function aa(e,n){if(e&1&&c(0),e&2){let t=_().$implicit;y(" ",t.value," ")}}function sa(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),s(),a(3,"span",20),M(4,oa,1,1)(5,ra,2,3)(6,aa,1,1),s()()),e&2){let t,o=n.$implicit;r(2),x(o.description),r(2),h((t=o.unit)==="percentage"?4:t==="celsius"?5:6)}}function la(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),m(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=_(2);r(2),x(v(3,2,"child_bridge.config.platform")),r(3),x(t.matchedCachedAccessory.platform)}}function ca(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),m(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=_(2);r(2),x(v(3,2,"child_bridge.config.accessory")),r(3),x(t.matchedCachedAccessory.accessory)}}function pa(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),m(3,"translate"),s(),a(4,"span",20),c(5),s()(),M(6,la,6,4,"li",19)(7,ca,6,4,"li",19)),e&2){let t=_();r(2),x(v(3,4,"accessories.plugin")),r(3),x(t.matchedCachedAccessory.plugin),r(),h(t.matchedCachedAccessory.platform?6:-1),r(),h(t.matchedCachedAccessory.accessory?7:-1)}}function da(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),s(),a(3,"span",20),c(4),s()()),e&2){let t=n.$implicit;r(2),x(t.key),r(2),x(t.value)}}function ma(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),m(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=_();r(2),x(v(3,2,"accessories.bridge_name")),r(3),x(t.matchedCachedAccessory.bridge)}}function ua(e,n){if(e&1){let t=Ce();a(0,"li",19)(1,"span",22),c(2,"UUID"),s(),a(3,"span",20),c(4),s()(),a(5,"li",27)(6,"span",11),c(7),m(8,"translate"),s(),a(9,"button",28),S("click",function(){Z(t);let i=_();return Q(i.removeSingleCachedAccessories())}),f(10,"i",29),s()()}if(e&2){let t=_();r(4),x(t.matchedCachedAccessory.UUID),r(3),x(v(8,2,"accessories.button_remove"))}}var so=(()=>{class e{$activeModal=N(ve);$modal=N(pe);service;accessoryCache;pairingCache;accessoryInformation;matchedCachedAccessory=null;constructor(){}ngOnInit(){this.accessoryInformation=Object.entries(this.service.accessoryInformation).map(([t,o])=>({key:t,value:o})),this.matchedCachedAccessory=this.matchToCachedAccessory()}matchToCachedAccessory(){let t=this.service.instance.username,o=this.pairingCache.find(i=>i._username===t);if(o){let i=o._main?"cachedAccessories":`cachedAccessories.${o._id}`,l=this.accessoryCache.filter(p=>p.$cacheFile===i);if(l.length){let p=this.service.accessoryInformation.Name,b=this.service.accessoryInformation["Serial Number"],w=l.filter(V=>{let L=V.services.find(O=>O.constructorName==="AccessoryInformation"),X=L.characteristics.find(O=>O.displayName==="Name"),z=L.characteristics.find(O=>O.displayName==="Serial Number");return X.value===p&&z.value===b});if(w.length===1)return Zi(Yi({},w[0]),{bridge:o.name})}}}removeSingleCachedAccessories(){this.$activeModal.close();let t=this.$modal.open(wn,{size:"lg",backdrop:"static"});t.componentInstance.selectedBridge=this.service.instance.username.replaceAll(":","")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],inputs:{service:"service",accessoryCache:"accessoryCache",pairingCache:"pairingCache"},decls:95,vars:59,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"list-group","list-group-box","mb-3"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","id","form-name","autocomplete","off",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text"],["type","checkbox","id","hide-accessory",1,"rendux-input",3,"ngModelChange","ngModel"],["for","hide-accessory",1,"rendux-label","ms-3"],["type","checkbox","id","show-on-dashboard",1,"rendux-input","mb-0",3,"ngModelChange","ngModel"],["for","show-on-dashboard",1,"rendux-label","ms-3"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-left","flex-column","flex-md-row"],[1,"text-start","text-md-end","grey-text","font-monospace"],[1,"list-group","list-group-box","mb-0"],[1,"text-start","font-monospace"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(),a(4,"button",3),m(5,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(6,"div",4)(7,"ul",5)(8,"li",6)(9,"label",7),c(10),m(11,"translate"),s(),a(12,"div",8)(13,"input",9),S("ngModelChange",function(p){return i.service.customName=p}),s()()(),a(14,"li",10)(15,"span",11),c(16),m(17,"translate"),s(),a(18,"div",12)(19,"input",13),m(20,"translate"),se("ngModelChange",function(p){return ae(i.service.hidden,p)||(i.service.hidden=p),p}),s(),f(21,"label",14),s()(),a(22,"li",10)(23,"span",11),c(24),m(25,"translate"),s(),a(26,"div",12)(27,"input",15),m(28,"translate"),se("ngModelChange",function(p){return ae(i.service.onDashboard,p)||(i.service.onDashboard=p),p}),s(),f(29,"label",16),s()()(),a(30,"ul",5)(31,"li",17)(32,"h6",18),c(33),m(34,"translate"),s()(),a(35,"li",19)(36,"span",11),c(37),m(38,"translate"),s(),a(39,"span",20),c(40),s()(),a(41,"li",19)(42,"span",11),c(43),m(44,"translate"),s(),a(45,"span",20),c(46),s()(),Ii(47,sa,7,2,"li",19,Ei),s(),a(49,"ul",21)(50,"li",17)(51,"h6",18),c(52),m(53,"translate"),s()(),M(54,pa,8,6),Ii(55,da,5,2,"li",19,Ei),a(57,"li",19)(58,"span",11),c(59),m(60,"translate"),s(),a(61,"span",20),c(62),s()(),M(63,ma,6,4,"li",19),a(64,"li",19)(65,"span",11),c(66),m(67,"translate"),s(),a(68,"span",20),c(69),s()(),a(70,"li",19)(71,"span",11),c(72),m(73,"translate"),s(),a(74,"span",20),c(75),s()(),a(76,"li",19)(77,"span",22),c(78,"aid"),s(),a(79,"span",20),c(80),s()(),a(81,"li",19)(82,"span",22),c(83,"iid"),s(),a(84,"span",20),c(85),s()(),M(86,ua,11,4),s()(),a(87,"div",23),f(88,"div",11),a(89,"div",24)(90,"button",25),m(91,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),c(92),m(93,"translate"),s()(),f(94,"div",26),s()()),o&2&&(r(3),x(i.service.customName||i.service.serviceName),r(),I("aria-label",v(5,29,"form.button_close")),r(6),x(v(11,31,"accessories.custom_name")),r(3),u("ngModel",i.service.customName||i.service.serviceName),r(3),x(v(17,33,"accessories.hide_this_accessory")),r(3),re("ngModel",i.service.hidden),I("aria-label",v(20,35,"accessories.hide_this_accessory")),r(5),x(v(25,37,"accessories.show_on_dashboard")),r(3),re("ngModel",i.service.onDashboard),I("aria-label",v(28,39,"accessories.show_on_dashboard")),r(6),x(v(34,41,"accessories.service_info")),r(4),x(v(38,43,"accessories.service")),r(3),x(i.service.humanType),r(3),x(v(44,45,"accessories.name")),r(3),x(i.service.serviceName),r(),Vi(i.service.serviceCharacteristics),r(5),x(v(53,47,"accessories.accessory_info")),r(2),h(i.matchedCachedAccessory?54:-1),r(),Vi(i.accessoryInformation),r(4),x(v(60,49,"accessories.bridge_username")),r(3),x(i.service.instance.username),r(),h(i.matchedCachedAccessory?63:-1),r(3),x(v(67,51,"accessories.bridge_ip")),r(3),x(i.service.instance.ipAddress),r(3),x(v(73,53,"accessories.bridge_port")),r(3),x(i.service.instance.port),r(5),x(i.service.aid),r(5),x(i.service.iid),r(),h(i.matchedCachedAccessory?86:-1),r(4),I("aria-label",v(91,55,"form.button_close")),r(2),y(" ",v(93,57,"form.button_close")," "))},dependencies:[ue,_n,Cn,_e,xe,A,$e],encapsulation:2})}return e})();var lo=(()=>{class e{$api=N(yn);$auth=N(Tn);$modal=N(pe);$toastr=N(Sn);$translate=N(xn);$ws=N(Mn);layoutSaved=new ce;accessoryData=new ce;readyForControl=!1;accessoryLayout;accessories={services:[]};rooms=[];io;roomsOrdered=!1;hiddenTypes=["InputSource","CameraRTPStreamManagement","ProtocolInformation"];accessoryCache=[];pairingCache=[];constructor(){Jt(this.$api.get("/server/cached-accessories")).then(t=>{this.accessoryCache=t}).catch(t=>console.error(t)),Jt(this.$api.get("/server/pairings")).then(t=>{this.pairingCache=t}).catch(t=>console.error(t))}showAccessoryInformation(t){let o=this.$modal.open(so,{size:"lg",backdrop:"static"});return o.componentInstance.service=t,o.componentInstance.accessoryCache=this.accessoryCache,o.componentInstance.pairingCache=this.pairingCache,o.result.then(()=>this.saveLayout()).catch(()=>this.saveLayout()),!1}stop(){this.io.end(),this.rooms=[],this.accessories={services:[]},this.roomsOrdered=!1,delete this.accessoryLayout}start(){return Qt(this,null,function*(){this.readyForControl=!1,this.io=this.$ws.connectToNamespace("accessories"),yield this.loadLayout(),this.io.connected?(this.io.socket.emit("get-accessories"),setTimeout(()=>{this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")})},1e3)):this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")}),this.io.socket.on("accessories-data",t=>{this.parseServices(t),this.generateHelpers(),this.sortIntoRooms(),this.roomsOrdered||(this.orderRooms(),this.applyCustomAttributes(),this.roomsOrdered=!0),this.accessoryData.next(t)}),this.io.socket.on("accessories-reload-required",()=>Qt(this,null,function*(){this.stop(),yield this.start()})),this.io.socket.on("accessory-control-failure",t=>{console.error(t),this.$toastr.error(t,this.$translate.instant("toast.title_error"))}),this.io.socket.on("accessories-ready-for-control",()=>{this.readyForControl=!0})})}saveLayout(){this.accessoryLayout=this.rooms.map(t=>({name:t.name,services:t.services.map(o=>({uniqueId:o.uniqueId,aid:o.aid,iid:o.iid,uuid:o.uuid,customName:o.customName||void 0,hidden:o.hidden||void 0,onDashboard:o.onDashboard||void 0}))})).filter(t=>t.services.length),this.io.request("save-layout",{user:this.$auth.user.username,layout:this.accessoryLayout}).subscribe({next:()=>this.layoutSaved.next(void 0),error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}loadLayout(){return Qt(this,null,function*(){this.accessoryLayout=yield Jt(this.io.request("get-layout",{user:this.$auth.user.username})),this.rooms=this.accessoryLayout.map(t=>({name:t.name,services:[]}))})}parseServices(t){if(!this.accessories.services.length){this.accessories.services=t;return}t.forEach(o=>{let i=this.accessories.services.find(l=>l.uniqueId===o.uniqueId);i?Object.assign(i,o):this.accessories.services.push(o)})}sortIntoRooms(){this.accessories.services.forEach(t=>{if(this.hiddenTypes.includes(t.type))return;if(t.linked&&(t.linkedServices={},t.linked.forEach(i=>{t.linkedServices[i]=this.accessories.services.find(l=>l.aid===t.aid&&l.iid===i&&l.instance.username===t.instance.username)})),!this.rooms.find(i=>i.services.find(l=>l.uniqueId===t.uniqueId))){let i=this.accessoryLayout.find(l=>l.services.find(p=>p.uniqueId===t.uniqueId));if(i)this.rooms.find(l=>l.name===i.name).services.push(t);else{let l=this.rooms.find(p=>p.name==="Default Room");l?l.services.push(t):this.rooms.push({name:"Default Room",services:[t]})}}})}orderRooms(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.sort((i,l)=>{let p=o.services.findIndex(w=>w.uniqueId===i.uniqueId),b=o.services.findIndex(w=>w.uniqueId===l.uniqueId);return p<b?-1:p>b?1:0})})}applyCustomAttributes(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.forEach(i=>{let l=o.services.find(p=>p.uniqueId===i.uniqueId);Object.assign(i,l)})})}generateHelpers(){this.accessories.services.forEach(t=>{t.getCharacteristic||(t.getCharacteristic=o=>{let i=t.serviceCharacteristics.find(l=>l.type===o);return i?(i.setValue=l=>new Promise(p=>(this.readyForControl||p(void 0),this.io.socket.emit("accessory-control",{set:{uniqueId:t.uniqueId,aid:t.aid,siid:t.iid,iid:i.iid,value:l}}),p(void 0))),i):null})})}static \u0275fac=function(o){return new(o||e)};static \u0275prov=it({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var mt=function(){function e(){}return e}();var li=function(){function e(n){this._ranScripts={},this._renderer=n.createRenderer(null,null)}return e.prototype.insertEl=function(n,t,o,i,l){if(i&&!l){var p=n._prevSVG&&n._prevSVG.parentNode;p&&this._renderer.removeChild(p,n._prevSVG),t.innerHTML=""}l?this._renderer.insertBefore(t,o,t.firstChild):this._renderer.appendChild(t,o),o.nodeName==="svg"&&(n._prevSVG=o)},e.prototype.evalScripts=function(n,t,o){for(var i=n.querySelectorAll("script"),l=[],p=0;p<i.length;p++){var b=i[p].getAttribute("type");if(!b||b==="application/ecmascript"||b==="application/javascript"){var w=i[p].innerText||i[p].textContent;l.push(w),this._renderer.removeChild(i[p].parentNode,i[p])}}if(l.length>0&&(o==="always"||o==="once"&&!this._ranScripts[t])){for(var p=0;p<l.length;p++)new Function(l[p])(window);this._ranScripts[t]=!0}},e.\u0275fac=function(t){return new(t||e)(qe(ti))},e.\u0275prov=it({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();var Fi=function(){function e(n,t){this._inlineSVGService=n,this._el=t}return e.prototype.ngAfterViewInit=function(){this._updateContent()},e.prototype.ngOnChanges=function(n){n.content&&this._updateContent()},e.prototype._updateContent=function(){this._inlineSVGService.insertEl(this.context,this._el.nativeElement,this.content,this.replaceContents,this.prepend)},e.\u0275fac=function(t){return new(t||e)(ke(li),ke(ot))},e.\u0275cmp=k({type:e,selectors:[["inline-svg"]],inputs:{context:"context",content:"content",replaceContents:"replaceContents",prepend:"prepend"},features:[nt],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0}),e}();var Nt=function(){function e(n,t,o,i,l,p){this._appBase=n,this._location=t,this._config=o,this._http=o&&!o.bypassHttpClientInterceptorChain?i:new ai(l),this._renderer=p.createRenderer(null,null),this.setBaseUrl(),e._cache||(e._cache=new Map),e._inProgressReqs||(e._inProgressReqs=new Map)}return e.prototype.getSVG=function(n,t,o){var i=this;o===void 0&&(o=!0);var l=(t?this.getAbsoluteUrl(n):n).replace(/#.+$/,"");if(o&&e._cache.has(l))return Qi(this._cloneSVG(e._cache.get(l)));if(e._inProgressReqs.has(l))return e._inProgressReqs.get(l);var p=this._http.get(l,{responseType:"text"}).pipe(on(function(){e._inProgressReqs.delete(l)}),tn(function(b){return e._inProgressReqs.delete(l),Ji(b.message)}),nn(),ei(function(b){var w=i._svgElementFromString(b);return e._cache.set(l,w),i._cloneSVG(w)}));return e._inProgressReqs.set(l,p),p},e.prototype.setBaseUrl=function(){this._config?this._baseUrl=this._config.baseUrl:this._appBase!==null?this._baseUrl=this._appBase:this._location!==null&&(this._baseUrl=this._location.getBaseHrefFromDOM())},e.prototype.getAbsoluteUrl=function(n){this._baseUrl&&!/^https?:\/\//i.test(n)&&(n=this._baseUrl+n,n.indexOf("//")===0&&(n=n.substring(1)));var t=this._renderer.createElement("BASE");return t.href=n,t.href},e.prototype._svgElementFromString=function(n){var t=this._renderer.createElement("DIV");t.innerHTML=n;var o=t.querySelector("svg");if(!o)throw new Error("No SVG found in loaded contents");return o},e.prototype._cloneSVG=function(n){return n.cloneNode(!0)},e.\u0275fac=function(t){return new(t||e)(qe(fn,8),qe(vn,8),qe(mt,8),qe(ai),qe(gn),qe(ti))},e.\u0275prov=it({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();function mo(e){return e.charAt(0)==="#"||e.indexOf(".svg#")>-1}function uo(){return typeof SVGRect<"u"}function vo(e,n,t){var o=n.querySelector('[id="'.concat(t,'"]'));if(!o)throw new Error('Symbol "'.concat(t,'" not found'));var i=e.createElement("svg","svg");e.appendChild(i,o);var l=e.createElement("use","svg");return e.setAttribute(l,"href","#".concat(t),"xlink"),e.appendChild(i,l),i}function Ni(e,n){for(var t=0;t<n.length;t++){var o=e.getAttribute(n[t]);o&&e.removeAttribute(n[t])}for(var i=e.getElementsByTagName("*"),t=0;t<i.length;t++)Ni(i[t],n)}function fo(e,n){for(var t in n)e.setAttribute(t,n[t])}var U=function(){function e(n,t,o,i,l,p,b,w){this._el=n,this._viewContainerRef=t,this._resolver=o,this._svgCache=i,this._renderer=l,this._inlineSVGService=p,this._config=b,this.platformId=w,this.resolveSVGUrl=!0,this.replaceContents=!0,this.prepend=!1,this.injectComponent=!1,this.cacheSVG=!0,this.forceEvalStyles=!1,this.evalScripts="always",this.onSVGInserted=new We,this.onSVGFailed=new We,this._supportsSVG=uo(),!At(this.platformId)&&!this._supportsSVG&&this._fail("Embed SVG are not supported by this browser")}return e.prototype.ngOnInit=function(){!this._isValidPlatform()||this._isSSRDisabled()||this._insertSVG()},e.prototype.ngOnChanges=function(n){if(!(!this._isValidPlatform()||this._isSSRDisabled())){var t=!!n.setSVGAttributes;(n.inlineSVG||t)&&this._insertSVG(t)}},e.prototype.ngOnDestroy=function(){this._subscription&&this._subscription.unsubscribe()},e.prototype._insertSVG=function(n){var t=this;if(n===void 0&&(n=!1),!(!At(this.platformId)&&!this._supportsSVG)){if(!this.inlineSVG){this._fail("No URL passed to [inlineSVG]");return}!n&&this.inlineSVG===this._prevUrl||(this._prevUrl=this.inlineSVG,this._subscription=this._svgCache.getSVG(this.inlineSVG,this.resolveSVGUrl,this.cacheSVG).subscribe(function(o){if(mo(t.inlineSVG)){var i=t.inlineSVG.split("#")[1];o=vo(t._renderer,o,i)}t._processSvg(o)},function(o){t._fail(o)}))}},e.prototype._processSvg=function(n){if(n){if(this.removeSVGAttributes&&ri(this.platformId)&&Ni(n,this.removeSVGAttributes),this.setSVGAttributes&&fo(n,this.setSVGAttributes),this.onSVGLoaded&&(n=this.onSVGLoaded(n,this._el.nativeElement)),this._insertEl(n),ri(this.platformId)&&this._inlineSVGService.evalScripts(n,this.inlineSVG,this.evalScripts),this.forceEvalStyles){var t=n.querySelectorAll("style");Array.from(t).forEach(function(o){return o.textContent+=""})}this.onSVGInserted.emit(n)}},e.prototype._insertEl=function(n){if(this.injectComponent){if(!this._svgComp){var t=this._resolver.resolveComponentFactory(Fi);this._svgComp=this._viewContainerRef.createComponent(t)}this._svgComp.instance.context=this,this._svgComp.instance.replaceContents=this.replaceContents,this._svgComp.instance.prepend=this.prepend,this._svgComp.instance.content=n,this._renderer.appendChild(this._el.nativeElement,this._svgComp.injector.get(Fi)._el.nativeElement)}else this._inlineSVGService.insertEl(this,this._el.nativeElement,n,this.replaceContents,this.prepend)},e.prototype._fail=function(n){if(this.onSVGFailed.emit(n),this.fallbackImgUrl){var t=this._renderer.createElement("IMG");this._renderer.setAttribute(t,"src",this.fallbackImgUrl),this._insertEl(t)}else this.fallbackSVG&&this.fallbackSVG!==this.inlineSVG&&(this.inlineSVG=this.fallbackSVG,this._insertSVG())},e.prototype._isValidPlatform=function(){return At(this.platformId)||ri(this.platformId)},e.prototype._isSSRDisabled=function(){return At(this.platformId)&&this._config&&this._config.clientOnly},e.\u0275fac=function(t){return new(t||e)(ke(ot),ke(cn),ke(ln),ke(Nt),ke(ii),ke(li),ke(mt,8),ke(sn))},e.\u0275dir=xt({type:e,selectors:[["","inlineSVG",""]],inputs:{inlineSVG:"inlineSVG",resolveSVGUrl:"resolveSVGUrl",replaceContents:"replaceContents",prepend:"prepend",injectComponent:"injectComponent",cacheSVG:"cacheSVG",setSVGAttributes:"setSVGAttributes",removeSVGAttributes:"removeSVGAttributes",forceEvalStyles:"forceEvalStyles",evalScripts:"evalScripts",fallbackImgUrl:"fallbackImgUrl",fallbackSVG:"fallbackSVG",onSVGLoaded:"onSVGLoaded"},outputs:{onSVGInserted:"onSVGInserted",onSVGFailed:"onSVGFailed"},features:[oi([Nt]),nt]}),e}();var $=function(){function e(){}return e.forRoot=function(n){return{ngModule:e,providers:[{provide:mt,useValue:n}]}},e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=_t({type:e}),e.\u0275inj=Ct({}),e}();var ut=function(e){return e.Range="range",e.Steps="steps",e.Positions="positions",e.Count="count",e.Values="values",e}(ut||{}),Oe=function(e){return e[e.None=-1]="None",e[e.NoValue=0]="NoValue",e[e.LargeValue=1]="LargeValue",e[e.SmallValue=2]="SmallValue",e}(Oe||{});function ga(e){return pi(e)&&typeof e.from=="function"}function pi(e){return typeof e=="object"&&typeof e.to=="function"}function go(e){e.parentElement.removeChild(e)}function Oi(e){return e!=null}function ho(e){e.preventDefault()}function ha(e){return e.filter(function(n){return this[n]?!1:this[n]=!0},{})}function Ca(e,n){return Math.round(e/n)*n}function _a(e,n){var t=e.getBoundingClientRect(),o=e.ownerDocument,i=o.documentElement,l=So(o);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(l.x=0),n?t.top+l.y-i.clientTop:t.left+l.x-i.clientLeft}function Ke(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}function Co(e,n,t){t>0&&(He(e,n),setTimeout(function(){ci(e,n)},t))}function _o(e){return Math.max(Math.min(e,100),0)}function di(e){return Array.isArray(e)?e:[e]}function xa(e){e=String(e);var n=e.split(".");return n.length>1?n[1].length:0}function He(e,n){e.classList&&!/\s/.test(n)?e.classList.add(n):e.className+=" "+n}function ci(e,n){e.classList&&!/\s/.test(n)?e.classList.remove(n):e.className=e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")}function Sa(e,n){return e.classList?e.classList.contains(n):new RegExp("\\b"+n+"\\b").test(e.className)}function So(e){var n=window.pageXOffset!==void 0,t=(e.compatMode||"")==="CSS1Compat",o=n?window.pageXOffset:t?e.documentElement.scrollLeft:e.body.scrollLeft,i=n?window.pageYOffset:t?e.documentElement.scrollTop:e.body.scrollTop;return{x:o,y:i}}function ya(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function ba(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,n)}catch{}return e}function Ta(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function Li(e,n){return 100/(n-e)}function Gi(e,n,t){return n*100/(e[t+1]-e[t])}function Ma(e,n){return Gi(e,e[0]<0?n+Math.abs(e[0]):n-e[0],0)}function wa(e,n){return n*(e[1]-e[0])/100+e[0]}function Ot(e,n){for(var t=1;e>=n[t];)t+=1;return t}function ka(e,n,t){if(t>=e.slice(-1)[0])return 100;var o=Ot(t,e),i=e[o-1],l=e[o],p=n[o-1],b=n[o];return p+Ma([i,l],t)/Li(p,b)}function Ea(e,n,t){if(t>=100)return e.slice(-1)[0];var o=Ot(t,n),i=e[o-1],l=e[o],p=n[o-1],b=n[o];return wa([i,l],(t-p)*Li(p,b))}function Ia(e,n,t,o){if(o===100)return o;var i=Ot(o,e),l=e[i-1],p=e[i];return t?o-l>(p-l)/2?p:l:n[i-1]?e[i-1]+Ca(o-e[i-1],n[i-1]):o}var Va=function(){function e(n,t,o){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[o||!1],this.xNumSteps=[!1],this.snap=t;var i,l=[];for(Object.keys(n).forEach(function(p){l.push([di(n[p]),p])}),l.sort(function(p,b){return p[0][0]-b[0][0]}),i=0;i<l.length;i++)this.handleEntryPoint(l[i][1],l[i][0]);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)this.handleStepPoint(i,this.xNumSteps[i])}return e.prototype.getDistance=function(n){for(var t=[],o=0;o<this.xNumSteps.length-1;o++)t[o]=Gi(this.xVal,n,o);return t},e.prototype.getAbsoluteDistance=function(n,t,o){var i=0;if(n<this.xPct[this.xPct.length-1])for(;n>this.xPct[i+1];)i++;else n===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);!o&&n===this.xPct[i+1]&&i++,t===null&&(t=[]);var l,p=1,b=t[i],w=0,V=0,L=0,X=0;for(o?l=(n-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):l=(this.xPct[i+1]-n)/(this.xPct[i+1]-this.xPct[i]);b>0;)w=this.xPct[i+1+X]-this.xPct[i+X],t[i+X]*p+100-l*100>100?(V=w*l,p=(b-100*l)/t[i+X],l=1):(V=t[i+X]*w/100*p,p=0),o?(L=L-V,this.xPct.length+X>=1&&X--):(L=L+V,this.xPct.length-X>=1&&X++),b=t[i+X]*p;return n+L},e.prototype.toStepping=function(n){return n=ka(this.xVal,this.xPct,n),n},e.prototype.fromStepping=function(n){return Ea(this.xVal,this.xPct,n)},e.prototype.getStep=function(n){return n=Ia(this.xPct,this.xSteps,this.snap,n),n},e.prototype.getDefaultStep=function(n,t,o){var i=Ot(n,this.xPct);return(n===100||t&&n===this.xPct[i-1])&&(i=Math.max(i-1,1)),(this.xVal[i]-this.xVal[i-1])/o},e.prototype.getNearbySteps=function(n){var t=Ot(n,this.xPct);return{stepBefore:{startValue:this.xVal[t-2],step:this.xNumSteps[t-2],highestStep:this.xHighestCompleteStep[t-2]},thisStep:{startValue:this.xVal[t-1],step:this.xNumSteps[t-1],highestStep:this.xHighestCompleteStep[t-1]},stepAfter:{startValue:this.xVal[t],step:this.xNumSteps[t],highestStep:this.xHighestCompleteStep[t]}}},e.prototype.countStepDecimals=function(){var n=this.xNumSteps.map(xa);return Math.max.apply(null,n)},e.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},e.prototype.convert=function(n){return this.getStep(this.toStepping(n))},e.prototype.handleEntryPoint=function(n,t){var o;if(n==="min"?o=0:n==="max"?o=100:o=parseFloat(n),!Ke(o)||!Ke(t[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(o),this.xVal.push(t[0]);var i=Number(t[1]);o?this.xSteps.push(isNaN(i)?!1:i):isNaN(i)||(this.xSteps[0]=i),this.xHighestCompleteStep.push(0)},e.prototype.handleStepPoint=function(n,t){if(t){if(this.xVal[n]===this.xVal[n+1]){this.xSteps[n]=this.xHighestCompleteStep[n]=this.xVal[n];return}this.xSteps[n]=Gi([this.xVal[n],this.xVal[n+1]],t,0)/Li(this.xPct[n],this.xPct[n+1]);var o=(this.xVal[n+1]-this.xVal[n])/this.xNumSteps[n],i=Math.ceil(Number(o.toFixed(3))-1),l=this.xVal[n]+this.xNumSteps[n]*i;this.xHighestCompleteStep[n]=l}},e}(),xo={to:function(e){return e===void 0?"":e.toFixed(2)},from:Number},Da={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},st={tooltips:".__tooltips",aria:".__aria"};function Pa(e,n){if(!Ke(n))throw new Error("noUiSlider: 'step' is not numeric.");e.singleStep=n}function Aa(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");e.keyboardPageMultiplier=n}function Ba(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");e.keyboardMultiplier=n}function Ha(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");e.keyboardDefaultStep=n}function Ra(e,n){if(typeof n!="object"||Array.isArray(n))throw new Error("noUiSlider: 'range' is not an object.");if(n.min===void 0||n.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");e.spectrum=new Va(n,e.snap||!1,e.singleStep)}function Fa(e,n){if(n=di(n),!Array.isArray(n)||!n.length)throw new Error("noUiSlider: 'start' option is incorrect.");e.handles=n.length,e.start=n}function Na(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");e.snap=n}function Oa(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");e.animate=n}function Ga(e,n){if(typeof n!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");e.animationDuration=n}function yo(e,n){var t=[!1],o;if(n==="lower"?n=[!0,!1]:n==="upper"&&(n=[!1,!0]),n===!0||n===!1){for(o=1;o<e.handles;o++)t.push(n);t.push(!1)}else{if(!Array.isArray(n)||!n.length||n.length!==e.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");t=n}e.connect=t}function La(e,n){switch(n){case"horizontal":e.ort=0;break;case"vertical":e.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function bo(e,n){if(!Ke(n))throw new Error("noUiSlider: 'margin' option must be numeric.");n!==0&&(e.margin=e.spectrum.getDistance(n))}function ja(e,n){if(!Ke(n))throw new Error("noUiSlider: 'limit' option must be numeric.");if(e.limit=e.spectrum.getDistance(n),!e.limit||e.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function Wa(e,n){var t;if(!Ke(n)&&!Array.isArray(n))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(n)&&!(n.length===2||Ke(n[0])||Ke(n[1])))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(n!==0){for(Array.isArray(n)||(n=[n,n]),e.padding=[e.spectrum.getDistance(n[0]),e.spectrum.getDistance(n[1])],t=0;t<e.spectrum.xNumSteps.length-1;t++)if(e.padding[0][t]<0||e.padding[1][t]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var o=n[0]+n[1],i=e.spectrum.xVal[0],l=e.spectrum.xVal[e.spectrum.xVal.length-1];if(o/(l-i)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function Ua(e,n){switch(n){case"ltr":e.dir=0;break;case"rtl":e.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function $a(e,n){if(typeof n!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var t=n.indexOf("tap")>=0,o=n.indexOf("drag")>=0,i=n.indexOf("fixed")>=0,l=n.indexOf("snap")>=0,p=n.indexOf("hover")>=0,b=n.indexOf("unconstrained")>=0,w=n.indexOf("invert-connects")>=0,V=n.indexOf("drag-all")>=0,L=n.indexOf("smooth-steps")>=0;if(i){if(e.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");bo(e,e.start[1]-e.start[0])}if(w&&e.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(b&&(e.margin||e.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");e.events={tap:t||l,drag:o,dragAll:V,smoothSteps:L,fixed:i,snap:l,hover:p,unconstrained:b,invertConnects:w}}function za(e,n){if(n!==!1)if(n===!0||pi(n)){e.tooltips=[];for(var t=0;t<e.handles;t++)e.tooltips.push(n)}else{if(n=di(n),n.length!==e.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");n.forEach(function(o){if(typeof o!="boolean"&&!pi(o))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),e.tooltips=n}}function qa(e,n){if(n.length!==e.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");e.handleAttributes=n}function Xa(e,n){if(!pi(n))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");e.ariaFormat=n}function Ka(e,n){if(!ga(n))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");e.format=n}function Ya(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");e.keyboardSupport=n}function Za(e,n){e.documentElement=n}function Qa(e,n){if(typeof n!="string"&&n!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");e.cssPrefix=n}function Ja(e,n){if(typeof n!="object")throw new Error("noUiSlider: 'cssClasses' must be an object.");typeof e.cssPrefix=="string"?(e.cssClasses={},Object.keys(n).forEach(function(t){e.cssClasses[t]=e.cssPrefix+n[t]})):e.cssClasses=n}function To(e){var n={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:xo,format:xo},t={step:{r:!1,t:Pa},keyboardPageMultiplier:{r:!1,t:Aa},keyboardMultiplier:{r:!1,t:Ba},keyboardDefaultStep:{r:!1,t:Ha},start:{r:!0,t:Fa},connect:{r:!0,t:yo},direction:{r:!0,t:Ua},snap:{r:!1,t:Na},animate:{r:!1,t:Oa},animationDuration:{r:!1,t:Ga},range:{r:!0,t:Ra},orientation:{r:!1,t:La},margin:{r:!1,t:bo},limit:{r:!1,t:ja},padding:{r:!1,t:Wa},behaviour:{r:!0,t:$a},ariaFormat:{r:!1,t:Xa},format:{r:!1,t:Ka},tooltips:{r:!1,t:za},keyboardSupport:{r:!0,t:Ya},documentElement:{r:!1,t:Za},cssPrefix:{r:!0,t:Qa},cssClasses:{r:!0,t:Ja},handleAttributes:{r:!1,t:qa}},o={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:Da,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(t).forEach(function(w){if(!Oi(e[w])&&o[w]===void 0){if(t[w].r)throw new Error("noUiSlider: '"+w+"' is required.");return}t[w].t(n,Oi(e[w])?e[w]:o[w])}),n.pips=e.pips;var i=document.createElement("div"),l=i.style.msTransform!==void 0,p=i.style.transform!==void 0;n.transformRule=p?"transform":l?"msTransform":"webkitTransform";var b=[["left","top"],["right","bottom"]];return n.style=b[n.dir][n.ort],n}function es(e,n,t){var o=ya(),i=Ta(),l=i&&ba(),p=e,b,w,V,L,X,z,O=n.spectrum,fe=[],Y=[],R=[],le=0,Ge={},et=!1,Ye=e.ownerDocument,lt=n.documentElement||Ye.documentElement,vt=Ye.body,Gt=Ye.dir==="rtl"||n.ort===1?0:100;function ze(d,g){var C=Ye.createElement("div");return g&&He(C,g),d.appendChild(C),C}function hi(d,g){var C=ze(d,n.cssClasses.origin),E=ze(C,n.cssClasses.handle);if(ze(E,n.cssClasses.touchArea),E.setAttribute("data-handle",String(g)),n.keyboardSupport&&(E.setAttribute("tabindex","0"),E.addEventListener("keydown",function(P){return tt(P,g)})),n.handleAttributes!==void 0){var D=n.handleAttributes[g];Object.keys(D).forEach(function(P){E.setAttribute(P,D[P])})}return E.setAttribute("role","slider"),E.setAttribute("aria-orientation",n.ort?"vertical":"horizontal"),g===0?He(E,n.cssClasses.handleLower):g===n.handles-1&&He(E,n.cssClasses.handleUpper),C.handle=E,C}function ct(d,g){return g?ze(d,n.cssClasses.connect):!1}function Ci(d,g){w=ze(g,n.cssClasses.connects),V=[],L=[],L.push(ct(w,d[0]));for(var C=0;C<n.handles;C++)V.push(hi(g,C)),R[C]=C,L.push(ct(w,d[C+1]))}function _i(d){He(d,n.cssClasses.target),n.dir===0?He(d,n.cssClasses.ltr):He(d,n.cssClasses.rtl),n.ort===0?He(d,n.cssClasses.horizontal):He(d,n.cssClasses.vertical);var g=getComputedStyle(d).direction;return g==="rtl"?He(d,n.cssClasses.textDirectionRtl):He(d,n.cssClasses.textDirectionLtr),ze(d,n.cssClasses.base)}function Lt(d,g){return!n.tooltips||!n.tooltips[g]?!1:ze(d.firstChild,n.cssClasses.tooltip)}function jt(){return p.hasAttribute("disabled")}function ft(d){var g=V[d];return g.hasAttribute("disabled")}function Wt(d){d!=null?(V[d].setAttribute("disabled",""),V[d].handle.removeAttribute("tabindex")):(p.setAttribute("disabled",""),V.forEach(function(g){g.handle.removeAttribute("tabindex")}))}function bt(d){d!=null?(V[d].removeAttribute("disabled"),V[d].handle.setAttribute("tabindex","0")):(p.removeAttribute("disabled"),V.forEach(function(g){g.removeAttribute("disabled"),g.handle.setAttribute("tabindex","0")}))}function gt(){z&&(Ie("update"+st.tooltips),z.forEach(function(d){d&&go(d)}),z=null)}function Tt(){gt(),z=V.map(Lt),je("update"+st.tooltips,function(d,g,C){if(!(!z||!n.tooltips)&&z[g]!==!1){var E=d[g];n.tooltips[g]!==!0&&(E=n.tooltips[g].to(C[g])),z[g].innerHTML=E}})}function Ut(){Ie("update"+st.aria),je("update"+st.aria,function(d,g,C,E,D){R.forEach(function(P){var W=V[P],F=Le(Y,P,0,!0,!0,!0),de=Le(Y,P,100,!0,!0,!0),me=D[P],Se=String(n.ariaFormat.to(C[P]));F=O.fromStepping(F).toFixed(1),de=O.fromStepping(de).toFixed(1),me=O.fromStepping(me).toFixed(1),W.children[0].setAttribute("aria-valuemin",F),W.children[0].setAttribute("aria-valuemax",de),W.children[0].setAttribute("aria-valuenow",me),W.children[0].setAttribute("aria-valuetext",Se)})})}function Mt(d){if(d.mode===ut.Range||d.mode===ut.Steps)return O.xVal;if(d.mode===ut.Count){if(d.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var g=d.values-1,C=100/g,E=[];g--;)E[g]=g*C;return E.push(100),ht(E,d.stepped)}return d.mode===ut.Positions?ht(d.values,d.stepped):d.mode===ut.Values?d.stepped?d.values.map(function(D){return O.fromStepping(O.getStep(O.toStepping(D)))}):d.values:[]}function ht(d,g){return d.map(function(C){return O.fromStepping(g?O.getStep(C):C)})}function $t(d){function g(me,Se){return Number((me+Se).toFixed(7))}var C=Mt(d),E={},D=O.xVal[0],P=O.xVal[O.xVal.length-1],W=!1,F=!1,de=0;return C=ha(C.slice().sort(function(me,Se){return me-Se})),C[0]!==D&&(C.unshift(D),W=!0),C[C.length-1]!==P&&(C.push(P),F=!0),C.forEach(function(me,Se){var ye,ie,we,Be=me,Ve=C[Se+1],Pe,yi,bi,Ti,qi,Mi,Xi,Ki=d.mode===ut.Steps;for(Ki&&(ye=O.xNumSteps[Se]),ye||(ye=Ve-Be),Ve===void 0&&(Ve=Be),ye=Math.max(ye,1e-7),ie=Be;ie<=Ve;ie=g(ie,ye)){for(Pe=O.toStepping(ie),yi=Pe-de,qi=yi/(d.density||1),Mi=Math.round(qi),Xi=yi/Mi,we=1;we<=Mi;we+=1)bi=de+we*Xi,E[bi.toFixed(5)]=[O.fromStepping(bi),0];Ti=C.indexOf(ie)>-1?Oe.LargeValue:Ki?Oe.SmallValue:Oe.NoValue,!Se&&W&&ie!==Ve&&(Ti=0),ie===Ve&&F||(E[Pe.toFixed(5)]=[ie,Ti]),de=Pe}}),E}function wt(d,g,C){var E,D,P=Ye.createElement("div"),W=(E={},E[Oe.None]="",E[Oe.NoValue]=n.cssClasses.valueNormal,E[Oe.LargeValue]=n.cssClasses.valueLarge,E[Oe.SmallValue]=n.cssClasses.valueSub,E),F=(D={},D[Oe.None]="",D[Oe.NoValue]=n.cssClasses.markerNormal,D[Oe.LargeValue]=n.cssClasses.markerLarge,D[Oe.SmallValue]=n.cssClasses.markerSub,D),de=[n.cssClasses.valueHorizontal,n.cssClasses.valueVertical],me=[n.cssClasses.markerHorizontal,n.cssClasses.markerVertical];He(P,n.cssClasses.pips),He(P,n.ort===0?n.cssClasses.pipsHorizontal:n.cssClasses.pipsVertical);function Se(ie,we){var Be=we===n.cssClasses.value,Ve=Be?de:me,Pe=Be?W:F;return we+" "+Ve[n.ort]+" "+Pe[ie]}function ye(ie,we,Be){if(Be=g?g(we,Be):Be,Be!==Oe.None){var Ve=ze(P,!1);Ve.className=Se(Be,n.cssClasses.marker),Ve.style[n.style]=ie+"%",Be>Oe.NoValue&&(Ve=ze(P,!1),Ve.className=Se(Be,n.cssClasses.value),Ve.setAttribute("data-value",String(we)),Ve.style[n.style]=ie+"%",Ve.innerHTML=String(C.to(we)))}}return Object.keys(d).forEach(function(ie){ye(ie,d[ie][0],d[ie][1])}),P}function kt(){X&&(go(X),X=null)}function Et(d){kt();var g=$t(d),C=d.filter,E=d.format||{to:function(D){return String(Math.round(D))}};return X=p.appendChild(wt(g,C,E)),X}function zt(){var d=b.getBoundingClientRect(),g="offset"+["Width","Height"][n.ort];return n.ort===0?d.width||b[g]:d.height||b[g]}function Qe(d,g,C,E){var D=function(W){var F=qt(W,E.pageOffset,E.target||g);if(!F||jt()&&!E.doNotReject||Sa(p,n.cssClasses.tap)&&!E.doNotReject||d===o.start&&F.buttons!==void 0&&F.buttons>1||E.hover&&F.buttons)return!1;l||F.preventDefault(),F.calcPoint=F.points[n.ort],C(F,E)},P=[];return d.split(" ").forEach(function(W){g.addEventListener(W,D,l?{passive:!0}:!1),P.push([W,D])}),P}function qt(d,g,C){var E=d.type.indexOf("touch")===0,D=d.type.indexOf("mouse")===0,P=d.type.indexOf("pointer")===0,W=0,F=0;if(d.type.indexOf("MSPointer")===0&&(P=!0),d.type==="mousedown"&&!d.buttons&&!d.touches)return!1;if(E){var de=function(ye){var ie=ye.target;return ie===C||C.contains(ie)||d.composed&&d.composedPath().shift()===C};if(d.type==="touchstart"){var me=Array.prototype.filter.call(d.touches,de);if(me.length>1)return!1;W=me[0].pageX,F=me[0].pageY}else{var Se=Array.prototype.find.call(d.changedTouches,de);if(!Se)return!1;W=Se.pageX,F=Se.pageY}}return g=g||So(Ye),(D||P)&&(W=d.clientX+g.x,F=d.clientY+g.y),d.pageOffset=g,d.points=[W,F],d.cursor=D||P,d}function It(d){var g=d-_a(b,n.ort),C=g*100/zt();return C=_o(C),n.dir?100-C:C}function xi(d){var g=100,C=!1;return V.forEach(function(E,D){if(!ft(D)){var P=Y[D],W=Math.abs(P-d),F=W===100&&g===100,de=W<g,me=W<=g&&d>P;(de||me||F)&&(C=D,g=W)}}),C}function T(d,g){d.type==="mouseout"&&d.target.nodeName==="HTML"&&d.relatedTarget===null&&q(d,g)}function j(d,g){if(navigator.appVersion.indexOf("MSIE 9")===-1&&d.buttons===0&&g.buttonsProperty!==0)return q(d,g);var C=(n.dir?-1:1)*(d.calcPoint-g.startCalcPoint),E=C*100/g.baseSize;Xt(C>0,E,g.locations,g.handleNumbers,g.connect)}function q(d,g){g.handle&&(ci(g.handle,n.cssClasses.active),le-=1),g.listeners.forEach(function(C){lt.removeEventListener(C[0],C[1])}),le===0&&(ci(p,n.cssClasses.drag),Si(),d.cursor&&(vt.style.cursor="",vt.removeEventListener("selectstart",ho))),n.events.smoothSteps&&(g.handleNumbers.forEach(function(C){pt(C,Y[C],!0,!0,!1,!1)}),g.handleNumbers.forEach(function(C){oe("update",C)})),g.handleNumbers.forEach(function(C){oe("change",C),oe("set",C),oe("end",C)})}function ee(d,g){if(!g.handleNumbers.some(ft)){var C;if(g.handleNumbers.length===1){var E=V[g.handleNumbers[0]];C=E.children[0],le+=1,He(C,n.cssClasses.active)}d.stopPropagation();var D=[],P=Qe(o.move,lt,j,{target:d.target,handle:C,connect:g.connect,listeners:D,startCalcPoint:d.calcPoint,baseSize:zt(),pageOffset:d.pageOffset,handleNumbers:g.handleNumbers,buttonsProperty:d.buttons,locations:Y.slice()}),W=Qe(o.end,lt,q,{target:d.target,handle:C,listeners:D,doNotReject:!0,handleNumbers:g.handleNumbers}),F=Qe("mouseout",lt,T,{target:d.target,handle:C,listeners:D,doNotReject:!0,handleNumbers:g.handleNumbers});D.push.apply(D,P.concat(W,F)),d.cursor&&(vt.style.cursor=getComputedStyle(d.target).cursor,V.length>1&&He(p,n.cssClasses.drag),vt.addEventListener("selectstart",ho,!1)),g.handleNumbers.forEach(function(de){oe("start",de)})}}function Ae(d){d.stopPropagation();var g=It(d.calcPoint),C=xi(g);C!==!1&&(n.events.snap||Co(p,n.cssClasses.tap,n.animationDuration),pt(C,g,!0,!0),Si(),oe("slide",C,!0),oe("update",C,!0),n.events.snap?ee(d,{handleNumbers:[C]}):(oe("change",C,!0),oe("set",C,!0)))}function Me(d){var g=It(d.calcPoint),C=O.getStep(g),E=O.fromStepping(C);Object.keys(Ge).forEach(function(D){D.split(".")[0]==="hover"&&Ge[D].forEach(function(P){P.call(Zt,E)})})}function tt(d,g){if(jt()||ft(g))return!1;var C=["Left","Right"],E=["Down","Up"],D=["PageDown","PageUp"],P=["Home","End"];n.dir&&!n.ort?C.reverse():n.ort&&!n.dir&&(E.reverse(),D.reverse());var W=d.key.replace("Arrow",""),F=W===D[0],de=W===D[1],me=W===E[0]||W===C[0]||F,Se=W===E[1]||W===C[1]||de,ye=W===P[0],ie=W===P[1];if(!me&&!Se&&!ye&&!ie)return!0;d.preventDefault();var we;if(Se||me){var Be=me?0:1,Ve=$i(g),Pe=Ve[Be];if(Pe===null)return!1;Pe===!1&&(Pe=O.getDefaultStep(Y[g],me,n.keyboardDefaultStep)),de||F?Pe*=n.keyboardPageMultiplier:Pe*=n.keyboardMultiplier,Pe=Math.max(Pe,1e-7),Pe=(me?-1:1)*Pe,we=fe[g]+Pe}else ie?we=n.spectrum.xVal[n.spectrum.xVal.length-1]:we=n.spectrum.xVal[0];return pt(g,O.toStepping(we),!0,!0),oe("slide",g),oe("update",g),oe("change",g),oe("set",g),!1}function Ee(d){d.fixed||V.forEach(function(g,C){Qe(o.start,g.children[0],ee,{handleNumbers:[C]})}),d.tap&&Qe(o.start,b,Ae,{}),d.hover&&Qe(o.move,b,Me,{hover:!0}),d.drag&&L.forEach(function(g,C){if(!(g===!1||C===0||C===L.length-1)){var E=V[C-1],D=V[C],P=[g],W=[E,D],F=[C-1,C];He(g,n.cssClasses.draggable),d.fixed&&(P.push(E.children[0]),P.push(D.children[0])),d.dragAll&&(W=V,F=R),P.forEach(function(de){Qe(o.start,de,ee,{handles:W,handleNumbers:F,connect:g})})}})}function je(d,g){Ge[d]=Ge[d]||[],Ge[d].push(g),d.split(".")[0]==="update"&&V.forEach(function(C,E){oe("update",E)})}function Re(d){return d===st.aria||d===st.tooltips}function Ie(d){var g=d&&d.split(".")[0],C=g?d.substring(g.length):d;Object.keys(Ge).forEach(function(E){var D=E.split(".")[0],P=E.substring(D.length);(!g||g===D)&&(!C||C===P)&&(!Re(P)||C===P)&&delete Ge[E]})}function oe(d,g,C){Object.keys(Ge).forEach(function(E){var D=E.split(".")[0];d===D&&Ge[E].forEach(function(P){P.call(Zt,fe.map(n.format.to),g,fe.slice(),C||!1,Y.slice(),Zt)})})}function Le(d,g,C,E,D,P,W){var F;return V.length>1&&!n.events.unconstrained&&(E&&g>0&&(F=O.getAbsoluteDistance(d[g-1],n.margin,!1),C=Math.max(C,F)),D&&g<V.length-1&&(F=O.getAbsoluteDistance(d[g+1],n.margin,!0),C=Math.min(C,F))),V.length>1&&n.limit&&(E&&g>0&&(F=O.getAbsoluteDistance(d[g-1],n.limit,!1),C=Math.min(C,F)),D&&g<V.length-1&&(F=O.getAbsoluteDistance(d[g+1],n.limit,!0),C=Math.max(C,F))),n.padding&&(g===0&&(F=O.getAbsoluteDistance(0,n.padding[0],!1),C=Math.max(C,F)),g===V.length-1&&(F=O.getAbsoluteDistance(100,n.padding[1],!0),C=Math.min(C,F))),W||(C=O.getStep(C)),C=_o(C),C===d[g]&&!P?!1:C}function Vt(d,g){var C=n.ort;return(C?g:d)+", "+(C?d:g)}function Xt(d,g,C,E,D){var P=C.slice(),W=E[0],F=n.events.smoothSteps,de=[!d,d],me=[d,!d];E=E.slice(),d&&E.reverse(),E.length>1?E.forEach(function(ye,ie){var we=Le(P,ye,P[ye]+g,de[ie],me[ie],!1,F);we===!1?g=0:(g=we-P[ye],P[ye]=we)}):de=me=[!0];var Se=!1;E.forEach(function(ye,ie){Se=pt(ye,C[ye]+g,de[ie],me[ie],!1,F)||Se}),Se&&(E.forEach(function(ye){oe("update",ye),oe("slide",ye)}),D!=null&&oe("drag",W))}function Kt(d,g){return n.dir?100-d-g:d}function yr(d,g){Y[d]=g,fe[d]=O.fromStepping(g);var C=Kt(g,0)-Gt,E="translate("+Vt(C+"%","0")+")";if(V[d].style[n.transformRule]=E,n.events.invertConnects&&Y.length>1){var D=Y.every(function(P,W,F){return W===0||P>=F[W-1]});if(et!==!D){Er();return}}Dt(d),Dt(d+1),et&&(Dt(d-1),Dt(d+2))}function Si(){R.forEach(function(d){var g=Y[d]>50?-1:1,C=3+(V.length+g*d);V[d].style.zIndex=String(C)})}function pt(d,g,C,E,D,P){return D||(g=Le(Y,d,g,C,E,!1,P)),g===!1?!1:(yr(d,g),!0)}function Dt(d){if(L[d]){var g=Y.slice();et&&g.sort(function(F,de){return F-de});var C=0,E=100;d!==0&&(C=g[d-1]),d!==L.length-1&&(E=g[d]);var D=E-C,P="translate("+Vt(Kt(C,D)+"%","0")+")",W="scale("+Vt(D/100,"1")+")";L[d].style[n.transformRule]=P+" "+W}}function Wi(d,g){return d===null||d===!1||d===void 0||(typeof d=="number"&&(d=String(d)),d=n.format.from(d),d!==!1&&(d=O.toStepping(d)),d===!1||isNaN(d))?Y[g]:d}function Yt(d,g,C){var E=di(d),D=Y[0]===void 0;g=g===void 0?!0:g,n.animate&&!D&&Co(p,n.cssClasses.tap,n.animationDuration),R.forEach(function(F){pt(F,Wi(E[F],F),!0,!1,C)});var P=R.length===1?0:1;if(D&&O.hasNoSize()&&(C=!0,Y[0]=0,R.length>1)){var W=100/(R.length-1);R.forEach(function(F){Y[F]=F*W})}for(;P<R.length;++P)R.forEach(function(F){pt(F,Y[F],!0,!0,C)});Si(),R.forEach(function(F){oe("update",F),E[F]!==null&&g&&oe("set",F)})}function br(d){Yt(n.start,d)}function Tr(d,g,C,E){if(d=Number(d),!(d>=0&&d<R.length))throw new Error("noUiSlider: invalid handle number, got: "+d);pt(d,Wi(g,d),!0,!0,E),oe("update",d),C&&oe("set",d)}function Ui(d){if(d===void 0&&(d=!1),d)return fe.length===1?fe[0]:fe.slice(0);var g=fe.map(n.format.to);return g.length===1?g[0]:g}function Mr(){for(Ie(st.aria),Ie(st.tooltips),Object.keys(n.cssClasses).forEach(function(d){ci(p,n.cssClasses[d])});p.firstChild;)p.removeChild(p.firstChild);delete p.noUiSlider}function $i(d){var g=Y[d],C=O.getNearbySteps(g),E=fe[d],D=C.thisStep.step,P=null;if(n.snap)return[E-C.stepBefore.startValue||null,C.stepAfter.startValue-E||null];D!==!1&&E+D>C.stepAfter.startValue&&(D=C.stepAfter.startValue-E),E>C.thisStep.startValue?P=C.thisStep.step:C.stepBefore.step===!1?P=!1:P=E-C.stepBefore.highestStep,g===100?D=null:g===0&&(P=null);var W=O.countStepDecimals();return D!==null&&D!==!1&&(D=Number(D.toFixed(W))),P!==null&&P!==!1&&(P=Number(P.toFixed(W))),[P,D]}function wr(){return R.map($i)}function kr(d,g){var C=Ui(),E=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];E.forEach(function(P){d[P]!==void 0&&(t[P]=d[P])});var D=To(t);E.forEach(function(P){d[P]!==void 0&&(n[P]=D[P])}),O=D.spectrum,n.margin=D.margin,n.limit=D.limit,n.padding=D.padding,n.pips?Et(n.pips):kt(),n.tooltips?Tt():gt(),Y=[],Yt(Oi(d.start)?d.start:C,g),d.connect&&zi()}function zi(){for(;w.firstChild;)w.removeChild(w.firstChild);for(var d=0;d<=n.handles;d++)L[d]=ct(w,n.connect[d]),Dt(d);Ee({drag:n.events.drag,fixed:!0})}function Er(){et=!et,yo(n,n.connect.map(function(d){return!d})),zi()}function Ir(){b=_i(p),Ci(n.connect,b),Ee(n.events),Yt(n.start),n.pips&&Et(n.pips),n.tooltips&&Tt(),Ut()}Ir();var Zt={destroy:Mr,steps:wr,on:je,off:Ie,get:Ui,set:Yt,setHandle:Tr,reset:br,disable:Wt,enable:bt,__moveHandles:function(d,g,C){Xt(d,g,Y,C)},options:t,updateOptions:kr,target:p,removePips:kt,removeTooltips:gt,getPositions:function(){return Y.slice()},getTooltips:function(){return z},getOrigins:function(){return V},pips:Et};return Zt}function Mo(e,n){if(!e||!e.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+e);if(e.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var t=To(n),o=es(e,t,n);return e.noUiSlider=o,o}var ji=class{to(n){return String(parseFloat(parseFloat(String(n)).toFixed(2)))}from(n){return parseFloat(n)}},be=(()=>{class e{constructor(t,o,i){this.ngZone=t,this.el=o,this.renderer=i,this.handles=[],this.config={},this.change=new We(!0),this.update=new We(!0),this.slide=new We(!0),this.set=new We(!0),this.start=new We(!0),this.end=new We(!0),this.onChange=Function.prototype,this.cleanups=[],this.eventHandler=(l,p,b,w)=>{let V=this.toValues(p),L=!1;if(this.value===void 0){this.value=V;return}Array.isArray(V)&&this.value[b]!=V[b]&&(L=!0),!Array.isArray(V)&&this.value!=V&&(L=!0),L&&this.ngZone.run(()=>{l.observers.length>0&&l.emit(V),this.onChange(V)}),Array.isArray(V)?this.value[b]=V[b]:this.value=V},this.defaultKeyHandler=l=>{let p=this.slider.steps(),b=parseInt(l.target.getAttribute("data-handle")),w=1,V=1,L=0,X=0;switch(l.which){case 34:V=this.config.pageSteps;break;case 40:case 37:w=-1,L=p[b][0],l.preventDefault();break;case 33:V=this.config.pageSteps;break;case 38:case 39:L=p[b][1],l.preventDefault();break;default:break}X=w*V*L;let z;Array.isArray(this.value)?(z=[...this.value],z[b]=z[b]+X):z=this.value+X,this.slider.set(z)}}ngOnChanges(t){this.slider&&(t.min||t.max||t.step||t.range)&&this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.updateOptions({range:Object.assign({},{min:this.min,max:this.max},this.range||{}),step:this.step})})})}ngOnDestroy(){var t;for(this.slider.destroy();this.cleanups.length;)(t=this.cleanups.pop())==null||t()}toValues(t){let o=t.map(this.config.format.from);return o.length==1?o[0]:o}writeValue(t){this.slider?this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.set(t)})}):t!==null&&(this.value=t,this.createSlider(t))}registerOnChange(t){this.onChange=t}registerOnTouched(t){}setDisabledState(t){t?this.renderer.setAttribute(this.el.nativeElement.childNodes[0],"disabled","true"):this.renderer.removeAttribute(this.el.nativeElement.childNodes[0],"disabled")}createSlider(t){let o=JSON.parse(JSON.stringify({behaviour:this.behaviour,connect:this.connect,limit:this.limit,start:t,step:this.step,pageSteps:this.pageSteps,keyboard:this.keyboard,onKeydown:this.onKeydown,range:this.range||this.config.range||{min:this.min,max:this.max},tooltips:this.tooltips,snap:this.snap,animate:this.animate}));if(o.tooltips=this.tooltips||this.config.tooltips,o.format=this.format||this.config.format||new ji,this.ngZone.runOutsideAngular(()=>{this.slider=Mo(this.el.nativeElement.querySelector("div"),Object.assign(this.config,o))}),this.handles=[].slice.call(this.el.nativeElement.querySelectorAll(".noUi-handle")),this.config.keyboard){this.config.pageSteps===void 0&&(this.config.pageSteps=10);for(let i of this.handles){i.setAttribute("tabindex",0);let l=this.config.onKeydown||this.defaultKeyHandler;this.ngZone.runOutsideAngular(()=>{this.cleanups.push(this.renderer.listen(i,"keydown",l),this.renderer.listen(i,"click",()=>{i.focus()}))})}}this.slider.on("set",(i,l,p)=>{this.eventHandler(this.set,i,l,p)}),this.slider.on("update",(i,l,p)=>{this.update.observers.length>0&&this.ngZone.run(()=>{this.update.emit(this.toValues(i))})}),this.slider.on("change",(i,l,p)=>{this.change.observers.length>0&&this.ngZone.run(()=>{this.change.emit(this.toValues(i))})}),this.slider.on("slide",(i,l,p)=>{this.eventHandler(this.slide,i,l,p)}),this.slider.on("start",(i,l,p)=>{this.start.observers.length>0&&this.ngZone.run(()=>{this.start.emit(this.toValues(i))})}),this.slider.on("end",(i,l,p)=>{this.end.observers.length>0&&this.ngZone.run(()=>{this.end.emit(this.toValues(i))})})}}return e.\u0275fac=function(t){return new(t||e)(ke(an),ke(ot),ke(ii))},e.\u0275cmp=k({type:e,selectors:[["nouislider"]],hostVars:2,hostBindings:function(t,o){t&2&&dn("ng2-nouislider",!0)},inputs:{disabled:"disabled",behaviour:"behaviour",connect:"connect",limit:"limit",min:"min",max:"max",snap:"snap",animate:"animate",range:"range",step:"step",format:"format",pageSteps:"pageSteps",config:"config",keyboard:"keyboard",onKeydown:"onKeydown",tooltips:"tooltips"},outputs:{change:"change",update:"update",slide:"slide",set:"set",start:"start",end:"end"},features:[oi([{provide:hn,useExisting:rn(()=>e),multi:!0}]),nt],decls:1,vars:1,template:function(t,o){t&1&&f(0,"div"),t&2&&I("disabled",o.disabled?!0:void 0)},styles:["[_nghost-%COMP%]{display:block;margin-top:1rem;margin-bottom:1rem}"]}),e})(),Wm=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=_t({type:e}),e.\u0275inj=Ct({imports:[be]}),e})();var wo=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function is(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),s(),a(3,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=_();r(),te("",v(2,6,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,"%"),r(2),u("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),re("ngModel",t.targetRotationSpeed.value)}}var ko=(()=>{class e{$activeModal=N(ve);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new ce;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetMode=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetMode=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadRotationSpeed()}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=100)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-airpurifier-manage"]],inputs:{service:"service"},decls:26,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Air Purifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,is,4,8),s(),f(25,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,8,"form.button_close")),r(4),x(v(8,10,"menu.label_status")),r(5),u("ngClass",H(16,wo,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,12,"accessories.control.off")," "),r(6),u("ngClass",H(19,wo,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,14,"accessories.control.on")," "),r(4),h(i.targetRotationSpeed?24:-1))},dependencies:[ue,_e,xe,be,A,B],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var K=(()=>{class e{duration=350;longclick=ki();shortclick=ki();downTimeout;done=!1;constructor(){}onEnter(t){this.shortclick.emit(t)}onMouseUp(t){clearTimeout(this.downTimeout),this.done||(this.done=!0,this.shortclick.emit(t))}onTouchEnd(t){clearTimeout(this.downTimeout),t.preventDefault(),t.stopPropagation(),this.done||(this.done=!0,this.shortclick.emit(t))}onMouseDown(t){t instanceof MouseEvent&&t.button!==0||(this.done=!1,t instanceof TouchEvent&&(t.preventDefault(),t.stopPropagation()),this.downTimeout=setTimeout(()=>{this.done||(this.done=!0,this.longclick.emit(t))},this.duration))}onMouseMove(){this.done=!0,clearTimeout(this.downTimeout)}ngOnDestroy(){clearTimeout(this.downTimeout)}static \u0275fac=function(o){return new(o||e)};static \u0275dir=xt({type:e,selectors:[["","appLongclick",""]],hostBindings:function(o,i){o&1&&S("keyup.enter",function(p){return i.onEnter(p)})("mouseup",function(p){return i.onMouseUp(p)})("touchend",function(p){return i.onTouchEnd(p)})("touchstart",function(p){return i.onMouseDown(p)})("mousedown",function(p){return i.onMouseDown(p)})("mousemove",function(p){return i.onMouseMove(p)})("touchmove",function(p){return i.onMouseMove(p)})},inputs:{duration:"duration"},outputs:{longclick:"longclick",shortclick:"shortclick"}})}return e})();var ns=(e,n)=>({"switch-on":e,"switch-off":n});function os(e,n){if(e&1&&(f(0,"div",4),m(1,"translate")),e&2){let t=_();u("innerText",v(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function rs(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=_();r(),y("",t.service.values.RotationSpeed,"%")}}var Eo=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed&&this.service.getCharacteristic("RotationSpeed").setValue(100)}onLongClick(){let t=this.$modal.open(ko,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-airpurifier"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,os,2,3,"div",4)(6,rs,2,1,"div",5),s()()),o&2&&(u("ngClass",H(6,ns,i.service.values.Active,!i.service.values.Active)),r(2),u("inlineSVG","/assets/hap-icons/airpurifier.svg"),I("aria-label","Air Purifier"),r(2),x(i.service.customName||i.service.serviceName),r(),h(!i.service.values.RotationSpeed||!i.service.values.Active?5:-1),r(),h(i.service.values.RotationSpeed&&i.service.values.Active?6:-1))},dependencies:[K,B,$,U,A],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var as=e=>({"switch-on":e}),ss=(e,n)=>({"grey-text":e,"red-text":n}),Io=(()=>{class e{service;labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-airqualitysensor"]],inputs:{service:"service"},decls:7,vars:11,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"ngClass"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(u("ngClass",J(6,as,i.service.values.AirQuality>3)),r(2),u("inlineSVG","/assets/hap-icons/airquality.svg"),I("aria-label","Switch"),r(2),x(i.service.customName||i.service.serviceName),r(),u("ngClass",H(8,ss,i.service.values.AirQuality<4,i.service.values.AirQuality>3)),r(),y(" ",i.labels[i.service.values.AirQuality]," "))},dependencies:[B,$,U],encapsulation:2})}return e})();var ls=e=>({lowbattery:e});function cs(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.battery_notcharging")))}function ps(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.battery_charging")))}function ds(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.battery_notchargeable")))}var Vo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-battery"]],inputs:{service:"service"},decls:9,vars:11,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"batterylevel-circle",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),m(3,"number"),a(4,"div",3),c(5),s(),M(6,cs,3,3,"div",4)(7,ps,3,3,"div",4)(8,ds,3,3,"div",4),s()()),o&2&&(r(2),u("innerText",ge(3,6,i.service.values.BatteryLevel||0,"1.0-0")+"%")("ngClass",J(9,ls,i.service.values.StatusLowBattery===1)),r(3),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.ChargingState===0?6:-1),r(),h(i.service.values.ChargingState===1?7:-1),r(),h(i.service.values.ChargingState===2?8:-1))},dependencies:[B,Fe,A],styles:[".batterylevel-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;padding:6% 0;border-radius:50%;font-size:16px;line-height:35px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.batterylevel-circle[_ngcontent-%COMP%]{width:31px;font-size:10px;margin-bottom:7px;line-height:20px}}.lowbattery[_ngcontent-%COMP%]{background-color:#f80;color:#fff}"]})}return e})();var ms=(e,n)=>({"switch-on":e,"switch-off":n});function us(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function vs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var Do=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-carbondioxidesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,us,3,3,"div",4)(6,vs,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,ms,i.service.values.CarbonDioxideDetected,!i.service.values.CarbonDioxideDetected)),r(2),u("inlineSVG","/assets/hap-icons/smokesensor.svg"),I("aria-label","Carbon Dioxide Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.CarbonDioxideDetected?5:-1),r(),h(i.service.values.CarbonDioxideDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var fs=(e,n)=>({"switch-on":e,"switch-off":n});function gs(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function hs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var Po=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-carbonmonoxidesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,gs,3,3,"div",4)(6,hs,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,fs,i.service.values.CarbonMonoxideDetected,!i.service.values.CarbonMonoxideDetected)),r(2),u("inlineSVG","/assets/hap-icons/smokesensor.svg"),I("aria-label","Carbon Monoxide Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.CarbonMonoxideDetected?5:-1),r(),h(i.service.values.CarbonMonoxideDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var Cs=(e,n)=>({"switch-on":e,"switch-off":n});function _s(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/contactsensor-open.svg"),I("aria-label","Switch"))}function xs(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/contactsensor-closed.svg"),I("aria-label","Switch"))}function Ss(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.open")))}function ys(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.closed")))}var Ao=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-contactsensor"]],inputs:{service:"service"},decls:8,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),M(2,_s,1,2,"div",2)(3,xs,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,Ss,3,3,"div",4)(7,ys,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,Cs,i.service.values.ContactSensorState,!i.service.values.ContactSensorState)),r(2),h(i.service.values.ContactSensorState?2:-1),r(),h(i.service.values.ContactSensorState?-1:3),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.ContactSensorState?6:-1),r(),h(i.service.values.ContactSensorState?-1:7))},dependencies:[B,$,U,A],styles:["body.dark-mode .switch-off svg .contact_sensor_split_line{fill:#2b2b2b}"]})}return e})();function bs(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function Ts(e,n){if(e&1&&(c(0),m(1,"translate"),a(2,"span",8),c(3),s()),e&2){let t=_(2);y(" ",v(1,2,"accessories.control.open")," "),r(3),y(" (",t.service.values.CurrentPosition,"%)")}}function Ms(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function ws(e,n){if(e&1&&M(0,bs,2,3)(1,Ts,4,4)(2,Ms,2,3),e&2){let t=_();h(t.service.values.CurrentPosition===0?0:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?1:-1),r(),h(t.service.values.CurrentPosition===100?2:-1)}}function ks(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.opening"),"... ")}function Es(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closing"),"... ")}var Bo=(()=>{class e{$activeModal=N(ve);service;targetMode;targetPosition;targetPositionChanged=new ce;constructor(){this.targetPositionChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-door-manage"]],inputs:{service:"service"},decls:17,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mb-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"],[1,"grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6",5),c(7),m(8,"translate"),M(9,ws,3,3)(10,ks,2,3)(11,Es,2,3),s(),a(12,"h6"),c(13),m(14,"translate"),s(),a(15,"nouislider",6),se("ngModelChange",function(p){return ae(i.targetPosition.value,p)||(i.targetPosition.value=p),p}),S("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),f(16,"div",7),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,12,"form.button_close")),r(4),y(" ",v(8,14,"menu.label_status"),": "),r(2),h(i.service.values.PositionState===2?9:-1),r(),h(i.service.values.PositionState===1?10:-1),r(),h(i.service.values.PositionState===0?11:-1),r(2),te("",v(14,16,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),u("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),re("ngModel",i.targetPosition.value))},dependencies:[be,ue,_e,xe,A],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var Is=e=>({"window-on":e});function Vs(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/door-closed.svg"),I("aria-label","Door"))}function Ds(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/door-open.svg"),I("aria-label","Door"))}function Ps(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function As(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.CurrentPosition,"% ")}}function Bs(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function Hs(e,n){if(e&1&&(a(0,"div",4),M(1,Ps,2,3)(2,As,1,1)(3,Bs,2,3),s()),e&2){let t=_();r(),h(t.service.values.CurrentPosition===0?1:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),h(t.service.values.CurrentPosition===100?3:-1)}}function Rs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.opening"),"..."))}function Fs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.closing"),"..."))}var Ho=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Bo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-door"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Vs,1,2,"div",2)(3,Ds,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,Hs,4,3,"div",4)(7,Rs,3,3,"div",5)(8,Fs,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,Is,i.service.values.TargetPosition)),r(2),h(i.service.values.TargetPosition?-1:2),r(),h(i.service.values.TargetPosition?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.PositionState===2?6:-1),r(),h(i.service.values.PositionState===1?7:-1),r(),h(i.service.values.PositionState===0?8:-1))},dependencies:[K,B,$,U,A],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var mi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Ns(e,n){e&1&&c(0,"%")}function Os(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),M(3,Ns,1,0),s(),a(4,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=_();r(),te(" ",v(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,""),r(2),h(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),u("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),re("ngModel",t.targetRotationSpeed.value)}}function Gs(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),s(),a(3,"div",14)(4,"button",6),S("click",function(i){return Z(t),_().setRotationDirection(0),Q(i.target.blur())}),a(5,"div",7),f(6,"i",8),s(),c(7),m(8,"translate"),a(9,"div",9),f(10,"i",10),s()(),a(11,"button",6),S("click",function(i){return Z(t),_().setRotationDirection(1),Q(i.target.blur())}),a(12,"div",7),f(13,"i",8),s(),c(14),m(15,"translate"),a(16,"div",9),f(17,"i",10),s()()()}if(e&2){let t=_();r(),x(v(2,5,"accessories.control.rotation_direction")),r(5),u("ngClass",H(11,mi,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),y(" ",v(8,7,"accessories.control.rotation_clockwise")," "),r(6),u("ngClass",H(14,mi,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),y(" ",v(15,9,"accessories.control.rotation_c_clockwise")," ")}}var Ro=(()=>{class e{$activeModal=N(ve);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new ce;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadRotationSpeed(),this.service.serviceCharacteristics.find(t=>t.type==="RotationDirection")&&(this.hasRotationDirection=!0)}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t){this.service.getCharacteristic("RotationDirection").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-fan-manage"]],inputs:{service:"service"},decls:27,vars:23,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(!1),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(!0),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,Os,5,9)(25,Gs,18,17),s(),f(26,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,9,"form.button_close")),r(4),x(v(8,11,"menu.label_status")),r(5),u("ngClass",H(17,mi,!i.targetMode,i.targetMode)),r(),y(" ",v(14,13,"accessories.control.off")," "),r(6),u("ngClass",H(20,mi,i.targetMode,!i.targetMode)),r(),y(" ",v(21,15,"accessories.control.on")," "),r(4),h(i.targetRotationSpeed?24:-1),r(),h(i.hasRotationDirection?25:-1))},dependencies:[ue,_e,xe,be,A,B],encapsulation:2})}return e})();var Ls=e=>({"switch-on":e}),js=(e,n)=>({spin:e,"spin-counter":n});function Ws(e,n){e&1&&f(0,"img",2)}function Us(e,n){if(e&1&&f(0,"img",3),e&2){let t=_();u("ngClass",H(1,js,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function $s(e,n){if(e&1&&(f(0,"div",5),m(1,"translate")),e&2){let t=_();u("innerText",v(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function zs(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=_();r(),te("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit,"")}}var Fo=(()=>{class e{$modal=N(pe);service;rotationSpeedUnit="";hasRotationDirection=!1;constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%"),this.service.serviceCharacteristics.find(o=>o.type==="RotationDirection")&&(this.hasRotationDirection=!0)}onClick(){if(this.service.getCharacteristic("On").setValue(!this.service.values.On),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open(Ro,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-fan"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Ws,1,0,"img",2)(3,Us,1,4,"img",3),a(4,"div",4),c(5),s(),M(6,$s,2,3,"div",5)(7,zs,2,2,"div",6),s()()),o&2&&(u("ngClass",J(6,Ls,i.service.values.On)),r(2),h(i.service.values.On?-1:2),r(),h(i.service.values.On?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(!i.service.values.RotationSpeed||!i.service.values.On?6:-1),r(),h(i.service.values.RotationSpeed&&i.service.values.On?7:-1))},dependencies:[K,B,A],encapsulation:2})}return e})();var No=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),Oo=(e,n)=>({"btn-primary":e,"btn-elegant":n});function qs(e,n){e&1&&c(0,"%")}function Xs(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),M(3,qs,1,0),s(),a(4,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=_();r(),te(" ",v(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,""),r(2),h(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),u("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),re("ngModel",t.targetRotationSpeed.value)}}function Ks(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),s(),a(3,"div",14)(4,"button",15),S("click",function(){Z(t);let i=_();return Q(i.setRotationDirection(0))}),c(5),m(6,"translate"),s(),a(7,"button",15),S("click",function(){Z(t);let i=_();return Q(i.setRotationDirection(1))}),c(8),m(9,"translate"),s()()}if(e&2){let t=_();r(),x(v(2,5,"accessories.control.rotation_direction")),r(3),u("ngClass",H(11,Oo,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),y(" ",v(6,7,"accessories.control.rotation_clockwise")," "),r(2),u("ngClass",H(14,Oo,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),y(" ",v(9,9,"accessories.control.rotation_c_clockwise")," ")}}var Go=(()=>{class e{$activeModal=N(ve);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new ce;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetMode=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetMode=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadRotationSpeed(),this.service.serviceCharacteristics.find(t=>t.type==="RotationDirection")&&(this.hasRotationDirection=!0)}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t){this.service.getCharacteristic("RotationDirection").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-fanv2-manage"]],inputs:{service:"service"},decls:27,vars:23,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","px-0","py-3",3,"click","ngClass"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,Xs,5,9)(25,Ks,10,17),s(),f(26,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,9,"form.button_close")),r(4),x(v(8,11,"menu.label_status")),r(5),u("ngClass",H(17,No,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,13,"accessories.control.off")," "),r(6),u("ngClass",H(20,No,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,15,"accessories.control.on")," "),r(4),h(i.targetRotationSpeed?24:-1),r(),h(i.hasRotationDirection?25:-1))},dependencies:[ue,_e,xe,be,A,B],encapsulation:2})}return e})();var Ys=e=>({"switch-on":e}),Zs=(e,n)=>({spin:e,"spin-counter":n});function Qs(e,n){e&1&&f(0,"img",2)}function Js(e,n){if(e&1&&f(0,"img",3),e&2){let t=_();u("ngClass",H(1,Zs,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function el(e,n){if(e&1&&(f(0,"div",5),m(1,"translate")),e&2){let t=_();u("innerText",v(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function tl(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=_();r(),te("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit,"")}}var Lo=(()=>{class e{$modal=N(pe);service;rotationSpeedUnit="";hasRotationDirection=!1;constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%"),this.service.serviceCharacteristics.find(o=>o.type==="RotationDirection")&&(this.hasRotationDirection=!0)}onClick(){if(this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open(Go,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-fanv2"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Qs,1,0,"img",2)(3,Js,1,4,"img",3),a(4,"div",4),c(5),s(),M(6,el,2,3,"div",5)(7,tl,2,2,"div",6),s()()),o&2&&(u("ngClass",J(6,Ys,i.service.values.Active)),r(2),h(i.service.values.Active?-1:2),r(),h(i.service.values.Active?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(!i.service.values.RotationSpeed||!i.service.values.Active?6:-1),r(),h(i.service.values.RotationSpeed&&i.service.values.Active?7:-1))},dependencies:[K,B,A],encapsulation:2})}return e})();var il=e=>({"switch-on":e}),nl=(e,n)=>({"red-text":e,"grey-text":n});function ol(e,n){if(e&1&&(f(0,"div",4),m(1,"translate")),e&2){let t=_();u("innerText",v(1,2,t.service.values.CurrentDoorState?"accessories.control.closed":"accessories.control.open"))("ngClass",H(4,nl,!t.service.values.CurrentDoorState,t.service.values.CurrentDoorState))}}function rl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.opening"),"..."))}function al(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.closing"),"..."))}function sl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.stopped")))}var jo=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("TargetDoorState").setValue(this.service.values.TargetDoorState?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-garagedooropener"]],inputs:{service:"service"},decls:9,vars:10,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"innerText","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,ol,2,7,"div",4)(6,rl,3,3,"div",5)(7,al,3,3,"div",5)(8,sl,3,3,"div",5),s()()),o&2&&(u("ngClass",J(8,il,i.service.values.CurrentDoorState===0||i.service.values.CurrentDoorState===2)),r(2),u("inlineSVG","/assets/hap-icons/garagedoor.svg"),I("aria-label","Garage Door"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.CurrentDoorState<2?5:-1),r(),h(i.service.values.CurrentDoorState===2?6:-1),r(),h(i.service.values.CurrentDoorState===3?7:-1),r(),h(i.service.values.CurrentDoorState===4?8:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var ll=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),ui=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function cl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),m(3,"convertTemp"),m(4,"number"),m(5,"convertTemp"),m(6,"number"),s(),a(7,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.autoTemp,i)||(l.autoTemp=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onTemperatureStateChange())}),s()}if(e&2){let t=_(2);r(),ni(" ",v(2,7,"accessories.control.target"),": ",ge(4,11,v(3,9,t.autoTemp[0]),"1.0-1"),"\xB0 - ",ge(6,16,v(5,14,t.autoTemp[1]),"1.0-1"),"\xB0 "),r(6),u("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),re("ngModel",t.autoTemp)}}function pl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),m(3,"convertTemp"),m(4,"number"),s(),a(5,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onTemperatureStateChange())}),s()}if(e&2){let t=_(2);r(),te("",v(2,6,"accessories.control.target"),": ",ge(4,10,v(3,8,t.targetHeatingTemp),"1.0-1"),"\xB0"),r(4),u("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),re("ngModel",t.targetHeatingTemp)}}function dl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),m(3,"convertTemp"),m(4,"number"),s(),a(5,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onTemperatureStateChange())}),s()}if(e&2){let t=_(2);r(),te("",v(2,6,"accessories.control.target"),": ",ge(4,10,v(3,8,t.targetCoolingTemp),"1.0-1"),"\xB0"),r(4),u("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),re("ngModel",t.targetCoolingTemp)}}function ml(e,n){if(e&1&&M(0,cl,8,19)(1,pl,6,13)(2,dl,6,13),e&2){let t,o=_();h((t=o.targetMode)===0?0:t===1?1:t===2?2:-1)}}var Wo=(()=>{class e{$activeModal=N(ve);service;targetMode;targetTemperatureChanged=new ce;CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;constructor(){this.targetTemperatureChanged.pipe(Te(300)).subscribe(()=>{switch(this.targetMode){case 0:this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.autoTemp[0]),this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.autoTemp[1]);break;case 1:this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp);break;case 2:this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp);break}})}ngOnInit(){this.targetMode=this.service.values.Active?this.service.values.TargetHeaterCoolerState:"off",this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.loadTargetTemperature()}loadTargetTemperature(){var t,o;this.targetCoolingTemp=(t=this.service.getCharacteristic("CoolingThresholdTemperature"))==null?void 0:t.value,this.targetHeatingTemp=(o=this.service.getCharacteristic("HeatingThresholdTemperature"))==null?void 0:o.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}setTargetMode(t){this.targetMode=t,this.targetMode==="off"?this.service.getCharacteristic("Active").setValue(0):(this.service.getCharacteristic("Active").value===0&&this.service.getCharacteristic("Active").setValue(1),this.service.getCharacteristic("TargetHeaterCoolerState").setValue(this.targetMode)),this.loadTargetTemperature()}onTemperatureStateChange(){this.targetTemperatureChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-heatercooler-manage"]],inputs:{service:"service"},decls:40,vars:44,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"temperature-circle","mb-3",3,"innerText","ngClass"],["role","group","aria-label","Heater Cooler Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),f(6,"div",5),m(7,"convertTemp"),m(8,"number"),a(9,"div",6)(10,"button",7),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",8),f(12,"i",9),s(),c(13),m(14,"translate"),a(15,"div",10),f(16,"i",11),s()(),a(17,"button",7),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",8),f(19,"i",9),s(),c(20),m(21,"translate"),a(22,"div",10),f(23,"i",11),s()(),a(24,"button",7),S("click",function(p){return i.setTargetMode(2),p.target.blur()}),a(25,"div",8),f(26,"i",9),s(),c(27),m(28,"translate"),a(29,"div",10),f(30,"i",11),s()(),a(31,"button",7),S("click",function(p){return i.setTargetMode("off"),p.target.blur()}),a(32,"div",8),f(33,"i",9),s(),c(34),m(35,"translate"),a(36,"div",10),f(37,"i",11),s()()(),M(38,ml,3,1),s(),f(39,"div",12),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,13,"form.button_close")),r(3),u("innerText",ge(8,17,v(7,15,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",Ue(28,ll,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),r(6),u("ngClass",H(32,ui,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,20,"accessories.control.auto")," "),r(6),u("ngClass",H(35,ui,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,22,"accessories.control.heat")," "),r(6),u("ngClass",H(38,ui,i.targetMode===2,i.targetMode!==2)),r(),y(" ",v(28,24,"accessories.control.cool")," "),r(6),u("ngClass",H(41,ui,i.targetMode==="off",i.targetMode!=="off")),r(),y(" ",v(35,26,"accessories.control.off")," "),r(4),h(i.service.values.Active===1&&i.HeatingThresholdTemperature&&i.CoolingThresholdTemperature?38:-1))},dependencies:[B,ue,_e,xe,be,Fe,A,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var ul=e=>({"switch-on":e}),vl=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function fl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function gl(e,n){if(e&1&&(c(0),m(1,"convertTemp"),m(2,"number")),e&2){let t=_(2);y(" ",ge(2,3,v(1,1,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0 ")}}function hl(e,n){if(e&1&&(c(0),m(1,"convertTemp"),m(2,"number")),e&2){let t=_(2);y(" ",ge(2,3,v(1,1,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0 ")}}function Cl(e,n){if(e&1&&(c(0),m(1,"convertTemp"),m(2,"number"),m(3,"convertTemp"),m(4,"number")),e&2){let t=_(2);te(" ",ge(2,4,v(1,2,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0-",ge(4,9,v(3,7,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0 ")}}function _l(e,n){if(e&1&&(a(0,"div",4),M(1,gl,3,6)(2,hl,3,6)(3,Cl,5,12),s()),e&2){let t,o=_();r(),h((t=o.service.values.TargetHeaterCoolerState)===1?1:t===2?2:t===0?3:-1)}}function xl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.on")))}var Uo=(()=>{class e{$modal=N(pe);service;model=1;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(Wo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-heatercooler"]],inputs:{service:"service"},decls:10,vars:18,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s(),M(7,fl,3,3,"div",4)(8,_l,4,1,"div",4)(9,xl,3,3,"div",4),s()()),o&2&&(u("ngClass",J(12,ul,i.service.values.Active===1)),r(2),u("innerText",ge(4,9,v(3,7,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",Ue(14,vl,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),r(4),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.Active===0?7:-1),r(),h(i.service.values.Active===1&&i.service.getCharacteristic("CoolingThresholdTemperature")&&i.service.getCharacteristic("HeatingThresholdTemperature")?8:-1),r(),h(i.service.values.Active===1&&(!i.service.getCharacteristic("CoolingThresholdTemperature")||!i.service.getCharacteristic("HeatingThresholdTemperature"))?9:-1))},dependencies:[K,B,Fe,A,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Sl=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t}),vi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function yl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),s(),a(3,"nouislider",14),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.autoHumidity,i)||(l.autoHumidity=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onHumidityStateChange())}),s()}if(e&2){let t=_(2);r(),ni("",v(2,7,"accessories.control.target"),": ",t.autoHumidity[0],"% - ",t.autoHumidity[1],"%"),r(2),u("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),re("ngModel",t.autoHumidity)}}function bl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),s(),a(3,"nouislider",14),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.targetHumidifierHumidity,i)||(l.targetHumidifierHumidity=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onHumidityStateChange())}),s()}if(e&2){let t=_(2);r(),te("",v(2,6,"accessories.control.target"),": ",t.targetHumidifierHumidity,"%"),r(2),u("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityHumidifierThreshold.maxValue)("step",t.RelativeHumidityHumidifierThreshold.minStep),re("ngModel",t.targetHumidifierHumidity)}}function Tl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),s(),a(3,"nouislider",14),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.targetDehumidifierHumidity,i)||(l.targetDehumidifierHumidity=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onHumidityStateChange())}),s()}if(e&2){let t=_(2);r(),te("",v(2,6,"accessories.control.target"),": ",t.targetDehumidifierHumidity,"%"),r(2),u("min",t.RelativeHumidityDehumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),re("ngModel",t.targetDehumidifierHumidity)}}function Ml(e,n){if(e&1&&M(0,yl,4,9)(1,bl,4,8)(2,Tl,4,8),e&2){let t,o=_();h((t=o.targetMode)===0?0:t===1?1:t===2?2:-1)}}var $o=(()=>{class e{$activeModal=N(ve);service;targetMode;targetHumidityChanged=new ce;RelativeHumidityDehumidifierThreshold;RelativeHumidityHumidifierThreshold;targetDehumidifierHumidity;targetHumidifierHumidity;autoHumidity;constructor(){this.targetHumidityChanged.pipe(Te(300)).subscribe(()=>{switch(this.targetMode){case 0:this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.autoHumidity[0]),this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.autoHumidity[1]);break;case 1:this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.targetHumidifierHumidity);break;case 2:this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.targetDehumidifierHumidity);break}})}ngOnInit(){this.targetMode=this.service.values.Active?this.service.values.TargetHumidifierDehumidifierState:"off",this.RelativeHumidityDehumidifierThreshold=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"),this.RelativeHumidityHumidifierThreshold=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.loadTargetHumidity()}loadTargetHumidity(){var t,o;this.targetDehumidifierHumidity=(t=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"))==null?void 0:t.value,this.targetHumidifierHumidity=(o=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"))==null?void 0:o.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity]}setTargetMode(t){this.targetMode=t,this.targetMode==="off"?this.service.getCharacteristic("Active").setValue(0):(this.service.getCharacteristic("Active").value===0&&this.service.getCharacteristic("Active").setValue(1),this.service.getCharacteristic("TargetHumidifierDehumidifierState").setValue(this.targetMode)),this.loadTargetHumidity()}onHumidityStateChange(){this.targetHumidityChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-humidifierdehumidifier-manage"]],inputs:{service:"service"},decls:39,vars:39,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"humidity-drop","mb-3",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],["role","group","aria-label","Humidifier Dehumidifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5),f(7,"div",6),s(),a(8,"div",7)(9,"button",8),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(10,"div",9),f(11,"i",10),s(),c(12),m(13,"translate"),a(14,"div",11),f(15,"i",12),s()(),a(16,"button",8),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(17,"div",9),f(18,"i",10),s(),c(19),m(20,"translate"),a(21,"div",11),f(22,"i",12),s()(),a(23,"button",8),S("click",function(p){return i.setTargetMode(2),p.target.blur()}),a(24,"div",9),f(25,"i",10),s(),c(26),m(27,"translate"),a(28,"div",11),f(29,"i",12),s()(),a(30,"button",8),S("click",function(p){return i.setTargetMode("off"),p.target.blur()}),a(31,"div",9),f(32,"i",10),s(),c(33),m(34,"translate"),a(35,"div",11),f(36,"i",12),s()()(),M(37,Ml,3,1),s(),f(38,"div",13),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,13,"form.button_close")),r(3),u("ngClass",Ue(23,Sl,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),r(),u("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(4),u("ngClass",H(27,vi,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(13,15,"accessories.control.auto")," "),r(6),u("ngClass",H(30,vi,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(20,17,"accessories.control.humidifying")," "),r(6),u("ngClass",H(33,vi,i.targetMode===2,i.targetMode!==2)),r(),y(" ",v(27,19,"accessories.control.dehumidifying")," "),r(6),u("ngClass",H(36,vi,i.targetMode==="off",i.targetMode!=="off")),r(),y(" ",v(34,21,"accessories.control.off")," "),r(4),h(i.service.values.Active===1&&i.RelativeHumidityHumidifierThreshold&&i.RelativeHumidityDehumidifierThreshold?37:-1))},dependencies:[B,ue,_e,xe,be,A],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}.humidifying[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.dehumidifying[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var wl=e=>({"switch-on":e}),kl=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t});function El(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function Il(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% ")}}function Vl(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function Dl(e,n){if(e&1&&c(0),e&2){let t=_(2);te(" ",t.service.values.RelativeHumidityHumidifierThreshold,"%-",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function Pl(e,n){if(e&1&&(a(0,"div",5),M(1,Il,1,1)(2,Vl,1,1)(3,Dl,1,2),s()),e&2){let t,o=_();r(),h((t=o.service.values.TargetHumidifierDehumidifierState)===1?1:t===2?2:t===0?3:-1)}}function Al(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.on")))}var zo=(()=>{class e{$modal=N(pe);service;model=1;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open($o,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-humidifierdehumidifier"]],inputs:{service:"service"},decls:9,vars:13,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),f(3,"div",3),s(),a(4,"div",4),c(5),s(),M(6,El,3,3,"div",5)(7,Pl,4,1,"div",5)(8,Al,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,wl,i.service.values.Active===1)),r(2),u("ngClass",Ue(9,kl,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),r(),u("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.Active===0?6:-1),r(),h(i.service.values.Active===1&&i.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")&&i.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?7:-1),r(),h(i.service.values.Active===1&&(!i.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")||!i.service.getCharacteristic("RelativeHumidityHumidifierThreshold"))?8:-1))},dependencies:[K,B,A],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}.humidifying[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.dehumidifying[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var qo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-humiditysensor"]],inputs:{service:"service"},decls:6,vars:2,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),f(3,"div",3),s(),a(4,"div",4),c(5),s()()()),o&2&&(r(3),u("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),x(i.service.customName||i.service.serviceName))},styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}"]})}return e})();var Bl=(e,n)=>({"switch-on":e,"switch-off":n});function Hl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.running")))}function Rl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}var Xo=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-irrigationsystem"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","",1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,Hl,3,3,"div",4)(6,Rl,3,3,"div",4),s()()),o&2&&(u("ngClass",H(6,Bl,i.service.values.InUse,!i.service.values.InUse)),r(2),u("inlineSVG","/assets/hap-icons/irrigation-system.svg"),I("aria-label","Irrigation Valve"),r(2),y(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),h(i.service.values.InUse?5:-1),r(),h(i.service.values.InUse?-1:6))},dependencies:[K,B,$,U,A],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();var Fl=(e,n)=>({"switch-on":e,"switch-off":n});function Nl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function Ol(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var Ko=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-leaksensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,Nl,3,3,"div",4)(6,Ol,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,Fl,i.service.values.LeakDetected,!i.service.values.LeakDetected)),r(2),u("inlineSVG","/assets/hap-icons/leaksensor.svg"),I("aria-label","Leak Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.LeakDetected?5:-1),r(),h(i.service.values.LeakDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .leak_sensor_droplet{fill:#e0e0e0} .switch-off svg .leak_sensor_trigger_lines{display:none} .switch-off svg .leak_sensor_background{fill:gray} body.dark-mode .switch-off svg .leak_sensor_droplet{fill:#2b2b2b}"]})}return e})();var Yo=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Gl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),s(),a(3,"nouislider",12),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetBrightness.value,i)||(l.targetBrightness.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onBrightnessStateChange())}),s()}if(e&2){let t=_();r(),te("",v(2,6,"accessories.control.brightness"),": ",t.targetBrightness.value,"%"),r(2),u("min",t.targetBrightness.min)("max",t.targetBrightness.max)("step",t.targetBrightness.step),re("ngModel",t.targetBrightness.value)}}var Zo=(()=>{class e{$activeModal=N(ve);service;targetMode;targetBrightness;targetBrightnessChanged=new ce;constructor(){this.targetBrightnessChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("Brightness").setValue(this.targetBrightness.value),this.targetBrightness.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetBrightness.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetBrightness()}loadTargetBrightness(){let t=this.service.getCharacteristic("Brightness");t&&(this.targetBrightness={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetBrightness&&!this.targetBrightness.value&&(this.targetBrightness.value=100)}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-lightbulb-manage"]],inputs:{service:"service"},decls:26,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Lightbulb Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(!1),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(!0),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,Gl,4,8),s(),f(25,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,8,"form.button_close")),r(4),x(v(8,10,"menu.label_status")),r(5),u("ngClass",H(16,Yo,!i.targetMode,i.targetMode)),r(),y(" ",v(14,12,"accessories.control.off")," "),r(6),u("ngClass",H(19,Yo,i.targetMode,!i.targetMode)),r(),y(" ",v(21,14,"accessories.control.on")," "),r(4),h(i.targetBrightness?24:-1))},dependencies:[ue,_e,xe,be,A,B],encapsulation:2})}return e})();var Ll=e=>({"light-on":e});function jl(e,n){if(e&1&&(f(0,"div",4),m(1,"translate")),e&2){let t=_();u("innerText",v(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function Wl(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=_();r(),y("",t.service.values.Brightness,"%")}}var Qo=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On),!this.service.values.On&&"Brightness"in this.service.values&&!this.service.values.Brightness&&this.service.getCharacteristic("Brightness").setValue(100)}onLongClick(){if("Brightness"in this.service.values){let t=this.$modal.open(Zo,{size:"md"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-lightbulb"]],inputs:{service:"service"},decls:7,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,jl,2,3,"div",4)(6,Wl,2,1,"div",5),s()()),o&2&&(u("ngClass",J(6,Ll,i.service.values.On)),r(2),u("inlineSVG","/assets/hap-icons/lightbulb.svg"),I("aria-label","Light Bulb"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.Brightness?-1:5),r(),h(i.service.values.Brightness?6:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();function Ul(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"number"),s()),e&2){let t=_();r(),y("",ge(2,1,t.service.values.CurrentAmbientLightLevel,"0.1-1")," lux")}}function $l(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"number"),s()),e&2){let t=_();r(),y("",ge(2,1,t.service.values.CurrentAmbientLightLevel,"1.0-0")," lux")}}var Jo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-lightsensor"]],inputs:{service:"service"},decls:7,vars:5,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,Ul,3,4,"div",4)(6,$l,3,4,"div",4),s()()),o&2&&(r(2),u("inlineSVG","/assets/hap-icons/light.svg"),I("aria-label","Light Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.CurrentAmbientLightLevel<1?5:-1),r(),h(i.service.values.CurrentAmbientLightLevel>=1?6:-1))},dependencies:[$,U,Fe],encapsulation:2})}return e})();var zl=e=>({"switch-on":e}),ql=(e,n)=>({"red-text":e,"grey-text":n});function Xl(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/lock-unlocked.svg"),I("aria-label","Unlocked"))}function Kl(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/lock-locked.svg"),I("aria-label","Locked"))}function Yl(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/unknown.svg"),I("aria-label","Error"))}function Zl(e,n){if(e&1&&(f(0,"div",4),m(1,"translate")),e&2){let t=_();u("innerText",v(1,2,t.service.values.LockCurrentState?"accessories.control.locked":"accessories.control.unlocked"))("ngClass",H(4,ql,!t.service.values.LockCurrentState,t.service.values.LockCurrentState))}}function Ql(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.jammed")))}function Jl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.unknown")))}var er=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("LockTargetState").setValue(this.service.values.LockTargetState?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-lockmechanism"]],inputs:{service:"service"},decls:10,vars:10,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Xl,1,2,"div",2)(3,Kl,1,2,"div",2)(4,Yl,1,2,"div",2),a(5,"div",3),c(6),s(),M(7,Zl,2,7,"div",4)(8,Ql,3,3,"div",5)(9,Jl,3,3,"div",5),s()()),o&2&&(u("ngClass",J(8,zl,i.service.values.LockCurrentState===0)),r(2),h(i.service.values.LockCurrentState===0?2:-1),r(),h(i.service.values.LockCurrentState===1?3:-1),r(),h(i.service.values.LockCurrentState>1?4:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.LockCurrentState<2?7:-1),r(),h(i.service.values.LockCurrentState===2?8:-1),r(),h(i.service.values.LockCurrentState===3?9:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var ec=(e,n)=>({"switch-on":e,"switch-off":n});function tc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function ic(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var tr=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-motionsensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,tc,3,3,"div",4)(6,ic,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,ec,i.service.values.MotionDetected,!i.service.values.MotionDetected)),r(2),u("inlineSVG","/assets/hap-icons/motionsensor.svg"),I("aria-label","Motion Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.MotionDetected?5:-1),r(),h(i.service.values.MotionDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .motion_sensor_person, .switch-off svg .motion_sensor_trail_lines{fill:#e0e0e0} .switch-off svg .motion_sensor_trigger_lines{display:none} .switch-off svg .motion_sensor_background{fill:gray} body.dark-mode .switch-off svg .motion_sensor_person, body.dark-mode .switch-off svg .motion_sensor_trail_lines{fill:#2b2b2b}"]})}return e})();var nc=(e,n)=>({"switch-on":e,"switch-off":n});function oc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function rc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var ir=(()=>{class e{service;constructor(){}onClick(){console.log("short click")}onLongClick(){console.log("long clicked")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-occupancysensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,oc,3,3,"div",4)(6,rc,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,nc,i.service.values.OccupancyDetected,!i.service.values.OccupancyDetected)),r(2),u("inlineSVG","/assets/hap-icons/occupancysensor.svg"),I("aria-label","Occupancy Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.OccupancyDetected?5:-1),r(),h(i.service.values.OccupancyDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .occupancy_sensor_person{fill:#e0e0e0} .switch-off svg .occupancy_sensor_trigger_lines{display:none} .switch-off svg .occupancy_sensor_background{fill:gray} body.dark-mode .switch-off svg .occupancy_sensor_person{fill:#2b2b2b}"]})}return e})();var ac=e=>({"switch-on":e}),nr=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-outlet"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),f(5,"div",4),m(6,"translate"),s()()),o&2&&(u("ngClass",J(7,ac,i.service.values.On)),r(2),u("inlineSVG","/assets/hap-icons/outlet.svg"),I("aria-label","Outlet"),r(2),x(i.service.customName||i.service.serviceName),r(),u("innerText",v(6,5,i.service.values.On?"accessories.control.on":"accessories.control.off")))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var sc=["class","manage"],fi=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),or=(()=>{class e{$activeModal=N(ve);service;targetMode;constructor(){}ngOnInit(){this.targetMode=this.service.values.SecuritySystemTargetState}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("SecuritySystemTargetState").setValue(this.targetMode)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-securitysystem",8,"manage"]],inputs:{service:"service"},attrs:sc,decls:39,vars:35,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Security System Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()(),a(24,"button",6),S("click",function(p){return i.setTargetMode(2),p.target.blur()}),a(25,"div",7),f(26,"i",8),s(),c(27),m(28,"translate"),a(29,"div",9),f(30,"i",10),s()(),a(31,"button",6),S("click",function(p){return i.setTargetMode(3),p.target.blur()}),a(32,"div",7),f(33,"i",8),s(),c(34),m(35,"translate"),a(36,"div",9),f(37,"i",10),s()()()(),f(38,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,11,"form.button_close")),r(4),x(v(8,13,"menu.label_status")),r(5),u("ngClass",H(23,fi,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,15,"accessories.control.home")," "),r(6),u("ngClass",H(26,fi,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,17,"accessories.control.away")," "),r(6),u("ngClass",H(29,fi,i.targetMode===2,i.targetMode!==2)),r(),y(" ",v(28,19,"accessories.control.night")," "),r(6),u("ngClass",H(32,fi,i.targetMode===3,i.targetMode!==3)),r(),y(" ",v(35,21,"accessories.control.off")," "))},dependencies:[ue,A,B],encapsulation:2})}return e})();var lc=e=>({"switch-on":e});function cc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/securitysystem-active.svg"),I("aria-label","Armed"))}function pc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/securitysystem-off.svg"),I("aria-label","Disarmed"))}function dc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.home")))}function mc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.away")))}function uc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.night")))}function vc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function fc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.triggered")))}var rr=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){let t=this.$modal.open(or,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-securitysystem"]],inputs:{service:"service"},decls:11,vars:7,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){if(o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,cc,1,2,"div",2)(3,pc,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,dc,3,3,"div",4)(7,mc,3,3,"div",4)(8,uc,3,3,"div",4)(9,vc,3,3,"div",5)(10,fc,3,3,"div",5),s()()),o&2){let l;u("ngClass",J(5,lc,i.service.values.SecuritySystemCurrentState!==3)),r(2),h(i.service.values.SecuritySystemCurrentState!==3?2:-1),r(),h(i.service.values.SecuritySystemCurrentState===3?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h((l=i.service.values.SecuritySystemCurrentState)===0?6:l===1?7:l===2?8:l===3?9:l===4?10:-1)}},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var gc=(e,n)=>({"switch-on":e,"switch-off":n});function hc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function Cc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var ar=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-smokesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,hc,3,3,"div",4)(6,Cc,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,gc,i.service.values.SmokeDetected,!i.service.values.SmokeDetected)),r(2),u("inlineSVG","/assets/hap-icons/smokesensor.svg"),I("aria-label","Smoke Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.SmokeDetected?5:-1),r(),h(i.service.values.SmokeDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var sr=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function _c(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),s(),a(3,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetVolume.value,i)||(l.targetVolume.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onVolumeStateChange())}),s()}if(e&2){let t=_();r(),te("",v(2,6,"accessories.control.speaker_volume"),": ",t.targetVolume.value,"%"),r(2),u("min",t.targetVolume.min)("max",t.targetVolume.max)("step",t.targetVolume.step),re("ngModel",t.targetVolume.value)}}var lr=(()=>{class e{$activeModal=N(ve);service;targetMode;targetVolume;targetVolumeChanged=new ce;constructor(){this.targetVolumeChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)})}ngOnInit(){this.targetMode=this.service.values.Mute,this.loadTargetVolume()}loadTargetVolume(){let t=this.service.getCharacteristic("Volume");t&&(this.targetVolume={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Mute").setValue(this.targetMode)}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-speaker-manage"]],inputs:{service:"service"},decls:26,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Speaker Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(!1),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(!0),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,_c,4,8),s(),f(25,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,8,"form.button_close")),r(4),x(v(8,10,"menu.label_status")),r(5),u("ngClass",H(16,sr,!i.targetMode,i.targetMode)),r(),y(" ",v(14,12,"accessories.control.not_mute")," "),r(6),u("ngClass",H(19,sr,i.targetMode,!i.targetMode)),r(),y(" ",v(21,14,"accessories.control.mute")," "),r(4),h(i.targetVolume?24:-1))},dependencies:[ue,_e,xe,be,A,B],encapsulation:2})}return e})();var xc=e=>({"switch-on":e});function Sc(e,n){e&1&&(f(0,"div",4),m(1,"translate")),e&2&&u("innerText",v(1,1,"accessories.control.mute"))}function yc(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=_();r(),y("",t.service.values.Volume,"%")}}function bc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_mute")))}var cr=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.getCharacteristic("Mute").setValue(!this.service.values.Mute)}onLongClick(){if("Volume"in this.service.values){let t=this.$modal.open(lr,{size:"md"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-speaker"]],inputs:{service:"service"},decls:8,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,Sc,2,3,"div",4)(6,yc,2,1,"div",5)(7,bc,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,xc,!i.service.values.Mute)),r(2),u("inlineSVG","/assets/hap-icons/speaker.svg"),I("aria-label","Speaker"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.Mute?5:-1),r(),h(i.service.values.Volume!==void 0&&!i.service.values.Mute?6:-1),r(),h(i.service.values.Volume===void 0&&!i.service.values.Mute?7:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var pr=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-statelessprogrammableswitch"]],inputs:{service:"service"},decls:5,vars:3,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s()()()),o&2&&(r(2),u("inlineSVG","/assets/hap-icons/statelessprogrammableswitch.svg"),I("aria-label","Stateless Programmable Switch"),r(2),x(i.service.customName||i.service.serviceName))},dependencies:[$,U],encapsulation:2})}return e})();var Tc=e=>({"switch-on":e}),dr=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-switch"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),f(5,"div",4),m(6,"translate"),s()()),o&2&&(u("ngClass",J(7,Tc,i.service.values.On)),r(2),u("inlineSVG","/assets/hap-icons/switch.svg"),I("aria-label","Switch"),r(2),x(i.service.customName||i.service.serviceName),r(),u("innerText",v(6,5,i.service.values.On?"accessories.control.on":"accessories.control.off")))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var Mc=e=>({"switch-on":e});function wc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function kc(e,n){if(e&1&&(a(0,"div",4),c(1),s()),e&2){let t=_();r(),x(t.channelList[t.service.values.ActiveIdentifier])}}var mr=(()=>{class e{service;channelList={};constructor(){}ngOnInit(){for(let[,t]of Object.entries(this.service.linkedServices))this.channelList[t.values.Identifier]=t.values.ConfiguredName}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-television"]],inputs:{service:"service"},decls:7,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,wc,3,3,"div",4)(6,kc,2,1,"div",4),s()()),o&2&&(u("ngClass",J(6,Mc,i.service.values.Active)),r(2),u("inlineSVG","/assets/hap-icons/television.svg"),I("aria-label","Television"),r(2),y(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),h(i.service.values.Active?-1:5),r(),h(i.service.values.Active?6:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var ur=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-temperaturesensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s()()()),o&2&&(r(2),u("innerText",ge(4,4,v(3,2,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"),r(4),x(i.service.customName||i.service.serviceName))},dependencies:[Fe,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}"]})}return e})();var Ec=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),gi=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),vr=(()=>{class e{$activeModal=N(ve);service;targetMode;targetTemperature;targetTemperatureChanged=new ce;constructor(){this.targetTemperatureChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("TargetTemperature").setValue(this.targetTemperature.value)})}ngOnInit(){this.targetMode=this.service.values.TargetHeatingCoolingState,this.loadTargetTemperature()}loadTargetTemperature(){let t=this.service.getCharacteristic("TargetTemperature");this.targetTemperature={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep}}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHeatingCoolingState").setValue(this.targetMode)}onTemperatureStateChange(){this.targetTemperatureChanged.next(this.targetTemperature.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-thermostat-manage"]],inputs:{service:"service"},decls:45,vars:56,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"temperature-circle","mb-3",3,"innerText","ngClass"],["role","group","aria-label","Thermostat Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),f(6,"div",5),m(7,"convertTemp"),m(8,"number"),a(9,"div",6)(10,"button",7),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",8),f(12,"i",9),s(),c(13),m(14,"translate"),a(15,"div",10),f(16,"i",11),s()(),a(17,"button",7),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",8),f(19,"i",9),s(),c(20),m(21,"translate"),a(22,"div",10),f(23,"i",11),s()(),a(24,"button",7),S("click",function(p){return i.setTargetMode(2),p.target.blur()}),a(25,"div",8),f(26,"i",9),s(),c(27),m(28,"translate"),a(29,"div",10),f(30,"i",11),s()(),a(31,"button",7),S("click",function(p){return i.setTargetMode(3),p.target.blur()}),a(32,"div",8),f(33,"i",9),s(),c(34),m(35,"translate"),a(36,"div",10),f(37,"i",11),s()()(),a(38,"h6"),c(39),m(40,"translate"),m(41,"convertTemp"),m(42,"number"),s(),a(43,"nouislider",12),se("ngModelChange",function(p){return ae(i.targetTemperature.value,p)||(i.targetTemperature.value=p),p}),S("ngModelChange",function(){return i.onTemperatureStateChange()}),s()(),f(44,"div",13),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,18,"form.button_close")),r(3),u("innerText",ge(8,22,v(7,20,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",Ue(40,Ec,i.service.values.CurrentHeatingCoolingState===2&&i.service.values.TargetHeatingCoolingState>0,i.service.values.CurrentHeatingCoolingState===1&&i.service.values.TargetHeatingCoolingState>0,i.service.values.TargetHeatingCoolingState>0&&i.service.values.CurrentHeatingCoolingState===0)),r(6),u("ngClass",H(44,gi,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,25,"accessories.control.off")," "),r(6),u("ngClass",H(47,gi,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,27,"accessories.control.heat")," "),r(6),u("ngClass",H(50,gi,i.targetMode===2,i.targetMode!==2)),r(),y(" ",v(28,29,"accessories.control.cool")," "),r(6),u("ngClass",H(53,gi,i.targetMode===3,i.targetMode!==3)),r(),y(" ",v(35,31,"accessories.control.auto")," "),r(5),te(" ",v(40,33,"accessories.control.target"),": ",ge(42,37,v(41,35,i.targetTemperature.value),"1.0-1"),"\xB0 "),r(4),u("min",i.targetTemperature.min)("max",i.targetTemperature.max)("step",i.targetTemperature.step),re("ngModel",i.targetTemperature.value))},dependencies:[B,ue,_e,xe,be,Fe,A,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Ic=e=>({"switch-on":e}),Vc=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function Dc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function Pc(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"convertTemp"),m(3,"number"),s()),e&2){let t=_();r(),y(" ",ge(3,3,v(2,1,t.service.values.TargetTemperature),"1.0-1"),"\xB0 ")}}var fr=(()=>{class e{$modal=N(pe);service;model=1;constructor(){}onClick(){let t=this.$modal.open(vr,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-thermostat"]],inputs:{service:"service"},decls:9,vars:17,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s(),M(7,Dc,3,3,"div",4)(8,Pc,4,6,"div",4),s()()),o&2&&(u("ngClass",J(11,Ic,i.service.values.TargetHeatingCoolingState>0)),r(2),u("innerText",ge(4,8,v(3,6,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",Ue(13,Vc,i.service.values.CurrentHeatingCoolingState===2&&i.service.values.TargetHeatingCoolingState>0,i.service.values.CurrentHeatingCoolingState===1&&i.service.values.TargetHeatingCoolingState>0,i.service.values.TargetHeatingCoolingState>0&&i.service.values.CurrentHeatingCoolingState===0)),r(4),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.TargetHeatingCoolingState===0?7:-1),r(),h(i.service.values.TargetHeatingCoolingState?8:-1))},dependencies:[K,B,Fe,A,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var gr=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-unknown"]],inputs:{service:"service"},decls:7,vars:4,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(r(2),u("inlineSVG","/assets/hap-icons/unknown.svg"),I("aria-label","Switch"),r(2),x(i.service.customName||i.service.serviceName),r(2),x(i.service.humanType))},dependencies:[$,U],encapsulation:2})}return e})();var Ac=(e,n)=>({"switch-on":e,"switch-off":n});function Bc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/valve-generic.svg"),I("aria-label","Valve"))}function Hc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/valve-irrigation.svg"),I("aria-label","Valve"))}function Rc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/valve-showerhead.svg"),I("aria-label","Valve"))}function Fc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/valve-waterfaucet.svg"),I("aria-label","Valve"))}function Nc(e,n){if(e&1&&(a(0,"div",4),c(1),s()),e&2){let t=_();r(),x(t.remainingDuration)}}function Oc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.running")))}function Gc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}var hr=(()=>{class e{service;secondsActive=0;remainingDuration;remainingDurationInterval=en(1e3).pipe(Pt(()=>this.isActive()));remainingDurationSubscription;constructor(){}ngOnInit(){this.service.getCharacteristic("RemainingDuration")&&this.setupRemainingDurationCounter()}isActive(){return this.service&&this.service.values?this.service.getCharacteristic("Active").value===1?!0:(this.resetRemainingDuration(),!1):!1}setupRemainingDurationCounter(){this.remainingDurationSubscription=this.remainingDurationInterval.subscribe(()=>{this.secondsActive++;let t=this.service.getCharacteristic("RemainingDuration").value-this.secondsActive;t>0?this.remainingDuration=t<3600?new Date(t*1e3).toISOString().substring(14,19):new Date(t*1e3).toISOString().substring(11,19):this.remainingDuration=""})}resetRemainingDuration(){this.secondsActive=0,this.service.getCharacteristic("RemainingDuration")&&(this.remainingDuration="")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}ngOnDestroy(){this.remainingDurationSubscription&&this.remainingDurationSubscription.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-valve"]],inputs:{service:"service"},decls:11,vars:12,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Bc,1,2,"div",2)(3,Hc,1,2,"div",2)(4,Rc,1,2,"div",2)(5,Fc,1,2,"div",2),a(6,"div",3),c(7),s(),M(8,Nc,2,1,"div",4)(9,Oc,3,3,"div",4)(10,Gc,3,3,"div",4),s()()),o&2&&(u("ngClass",H(9,Ac,i.service.values.Active,!i.service.values.Active)),r(2),h(i.service.values.ValveType===0?2:-1),r(),h(i.service.values.ValveType===1?3:-1),r(),h(i.service.values.ValveType===2?4:-1),r(),h(i.service.values.ValveType===3?5:-1),r(2),y(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),h(i.service.values.Active&&i.remainingDuration?8:-1),r(),h(i.service.values.Active&&!i.remainingDuration?9:-1),r(),h(i.service.values.Active?-1:10))},dependencies:[K,B,$,U,A],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();function Lc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function jc(e,n){if(e&1&&(c(0),m(1,"translate"),a(2,"span",8),c(3),s()),e&2){let t=_(2);y(" ",v(1,2,"accessories.control.open")," "),r(3),y(" (",t.service.values.CurrentPosition,"%)")}}function Wc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function Uc(e,n){if(e&1&&M(0,Lc,2,3)(1,jc,4,4)(2,Wc,2,3),e&2){let t=_();h(t.service.values.CurrentPosition===0?0:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?1:-1),r(),h(t.service.values.CurrentPosition===100?2:-1)}}function $c(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.opening"),"... ")}function zc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closing"),"... ")}var Cr=(()=>{class e{$activeModal=N(ve);service;targetMode;targetPosition;targetPositionChanged=new ce;constructor(){this.targetPositionChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-window-manage"]],inputs:{service:"service"},decls:17,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mb-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"],[1,"grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6",5),c(7),m(8,"translate"),M(9,Uc,3,3)(10,$c,2,3)(11,zc,2,3),s(),a(12,"h6"),c(13),m(14,"translate"),s(),a(15,"nouislider",6),se("ngModelChange",function(p){return ae(i.targetPosition.value,p)||(i.targetPosition.value=p),p}),S("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),f(16,"div",7),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,12,"form.button_close")),r(4),y(" ",v(8,14,"menu.label_status"),": "),r(2),h(i.service.values.PositionState===2?9:-1),r(),h(i.service.values.PositionState===1?10:-1),r(),h(i.service.values.PositionState===0?11:-1),r(2),te("",v(14,16,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),u("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),re("ngModel",i.targetPosition.value))},dependencies:[be,ue,_e,xe,A],styles:[".window-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var qc=e=>({"window-on":e});function Xc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/window-closed.svg"),I("aria-label","Window"))}function Kc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/window-open.svg"),I("aria-label","Window"))}function Yc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function Zc(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.CurrentPosition,"% ")}}function Qc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function Jc(e,n){if(e&1&&(a(0,"div",4),M(1,Yc,2,3)(2,Zc,1,1)(3,Qc,2,3),s()),e&2){let t=_();r(),h(t.service.values.CurrentPosition===0?1:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),h(t.service.values.CurrentPosition===100?3:-1)}}function ep(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.opening"),"..."))}function tp(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.closing"),"..."))}var _r=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Cr,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-window"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Xc,1,2,"div",2)(3,Kc,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,Jc,4,3,"div",4)(7,ep,3,3,"div",5)(8,tp,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,qc,i.service.values.TargetPosition)),r(2),h(i.service.values.TargetPosition?-1:2),r(),h(i.service.values.TargetPosition?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.PositionState===2?6:-1),r(),h(i.service.values.PositionState===1?7:-1),r(),h(i.service.values.PositionState===0?8:-1))},dependencies:[K,B,$,U,A],styles:[".window-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function ip(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function np(e,n){if(e&1&&(c(0),m(1,"translate"),a(2,"span",8),c(3),s()),e&2){let t=_(2);y(" ",v(1,2,"accessories.control.open")," "),r(3),y(" (",t.service.values.CurrentPosition,"%)")}}function op(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function rp(e,n){if(e&1&&M(0,ip,2,3)(1,np,4,4)(2,op,2,3),e&2){let t=_();h(t.service.values.CurrentPosition===0?0:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?1:-1),r(),h(t.service.values.CurrentPosition===100?2:-1)}}function ap(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.opening"),"... ")}function sp(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closing"),"... ")}var xr=(()=>{class e{$activeModal=N(ve);service;targetMode;targetPosition;targetPositionChanged=new ce;constructor(){this.targetPositionChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-windowcovering-manage"]],inputs:{service:"service"},decls:17,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mb-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"],[1,"grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6",5),c(7),m(8,"translate"),M(9,rp,3,3)(10,ap,2,3)(11,sp,2,3),s(),a(12,"h6"),c(13),m(14,"translate"),s(),a(15,"nouislider",6),se("ngModelChange",function(p){return ae(i.targetPosition.value,p)||(i.targetPosition.value=p),p}),S("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),f(16,"div",7),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,12,"form.button_close")),r(4),y(" ",v(8,14,"menu.label_status"),": "),r(2),h(i.service.values.PositionState===2?9:-1),r(),h(i.service.values.PositionState===1?10:-1),r(),h(i.service.values.PositionState===0?11:-1),r(2),te("",v(14,16,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),u("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),re("ngModel",i.targetPosition.value))},dependencies:[be,ue,_e,xe,A],styles:[".windowcovering-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var lp=e=>({"window-on":e});function cp(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/windowcovering-closed.svg"),I("aria-label","Window Covering"))}function pp(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/windowcovering-open.svg"),I("aria-label","Window Covering"))}function dp(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function mp(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.CurrentPosition,"% ")}}function up(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function vp(e,n){if(e&1&&(a(0,"div",4),M(1,dp,2,3)(2,mp,1,1)(3,up,2,3),s()),e&2){let t=_();r(),h(t.service.values.CurrentPosition===0?1:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),h(t.service.values.CurrentPosition===100?3:-1)}}function fp(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.opening"),"..."))}function gp(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.closing"),"..."))}var Sr=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(xr,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-windowcovering"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,cp,1,2,"div",2)(3,pp,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,vp,4,3,"div",4)(7,fp,3,3,"div",5)(8,gp,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,lp,i.service.values.TargetPosition)),r(2),h(i.service.values.TargetPosition?-1:2),r(),h(i.service.values.TargetPosition?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.PositionState===2?6:-1),r(),h(i.service.values.PositionState===1?7:-1),r(),h(i.service.values.PositionState===0?8:-1))},dependencies:[K,B,$,U,A],styles:[".windowcovering-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function hp(e,n){if(e&1){let t=Ce();a(0,"a",4),S("click",function(){Z(t);let i=_();return Q(i.$accessories.showAccessoryInformation(i.service))}),f(1,"i",5),s()}}function Cp(e,n){e&1&&f(0,"i",1)}function _p(e,n){if(e&1&&(a(0,"app-switch",2),c(1,"Switch"),s()),e&2){let t=_();u("service",t.service)}}function xp(e,n){if(e&1&&(a(0,"app-thermostat",2),c(1,"Thermostat"),s()),e&2){let t=_();u("service",t.service)}}function Sp(e,n){if(e&1&&(a(0,"app-outlet",2),c(1,"Outlet"),s()),e&2){let t=_();u("service",t.service)}}function yp(e,n){if(e&1&&(a(0,"app-fan",3),c(1,"Fan"),s()),e&2){let t=_();u("service",t.service)}}function bp(e,n){if(e&1&&(a(0,"app-fanv2",3),c(1,"Fan"),s()),e&2){let t=_();u("service",t.service)}}function Tp(e,n){if(e&1&&(a(0,"app-airpurifier",3),c(1,"Air Purifier"),s()),e&2){let t=_();u("service",t.service)}}function Mp(e,n){if(e&1&&(a(0,"app-lightbulb",2),c(1,"Lightbulb"),s()),e&2){let t=_();u("service",t.service)}}function wp(e,n){if(e&1&&(a(0,"app-lightsensor",2),c(1,"Light Sensor"),s()),e&2){let t=_();u("service",t.service)}}function kp(e,n){if(e&1&&(a(0,"app-lockmechanism",2),c(1,"Lock Mechanism"),s()),e&2){let t=_();u("service",t.service)}}function Ep(e,n){if(e&1&&(a(0,"app-temperaturesensor",2),c(1,"Temperature Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Ip(e,n){if(e&1&&(a(0,"app-garagedooropener",2),c(1,"Garage Door Opener"),s()),e&2){let t=_();u("service",t.service)}}function Vp(e,n){if(e&1&&(a(0,"app-motionsensor",2),c(1,"Motion Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Dp(e,n){if(e&1&&(a(0,"app-occupancysensor",2),c(1,"Occupancy Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Pp(e,n){if(e&1&&(a(0,"app-contactsensor",2),c(1,"Contact Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Ap(e,n){if(e&1&&(a(0,"app-humiditysensor",2),c(1,"Humidity Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Bp(e,n){if(e&1&&(a(0,"app-airqualitysensor",2),c(1,"Air Quality Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Hp(e,n){if(e&1&&(a(0,"app-windowcovering",2),c(1,"Window Covering"),s()),e&2){let t=_();u("service",t.service)}}function Rp(e,n){if(e&1&&(a(0,"app-window",2),c(1,"Window"),s()),e&2){let t=_();u("service",t.service)}}function Fp(e,n){if(e&1&&(a(0,"app-door",2),c(1,"Door"),s()),e&2){let t=_();u("service",t.service)}}function Np(e,n){if(e&1&&(a(0,"app-television",2),c(1,"Television"),s()),e&2){let t=_();u("service",t.service)}}function Op(e,n){if(e&1&&(a(0,"app-battery",2),c(1,"Battery"),s()),e&2){let t=_();u("service",t.service)}}function Gp(e,n){if(e&1&&(a(0,"app-battery",2),c(1,"Battery"),s()),e&2){let t=_();u("service",t.service)}}function Lp(e,n){if(e&1&&(a(0,"app-speaker",2),c(1,"Speaker"),s()),e&2){let t=_();u("service",t.service)}}function jp(e,n){if(e&1&&(a(0,"app-securitysystem",2),c(1,"Security System"),s()),e&2){let t=_();u("service",t.service)}}function Wp(e,n){if(e&1&&(a(0,"app-leaksensor",2),c(1,"Leak Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Up(e,n){if(e&1&&(a(0,"app-smokesensor",2),c(1,"Smoke Sensor"),s()),e&2){let t=_();u("service",t.service)}}function $p(e,n){if(e&1&&(a(0,"app-carbonmonoxidesensor",2),c(1,"Carbon Monoxide Sensor"),s()),e&2){let t=_();u("service",t.service)}}function zp(e,n){if(e&1&&(a(0,"app-carbondioxidesensor",2),c(1,"Carbon Dioxide Sensor"),s()),e&2){let t=_();u("service",t.service)}}function qp(e,n){if(e&1&&(a(0,"app-valve",2),c(1,"Valve"),s()),e&2){let t=_();u("service",t.service)}}function Xp(e,n){if(e&1&&(a(0,"app-irrigationsystem",2),c(1,"Irrigation System"),s()),e&2){let t=_();u("service",t.service)}}function Kp(e,n){if(e&1&&(a(0,"app-heatercooler",2),c(1,"Heater Cooler"),s()),e&2){let t=_();u("service",t.service)}}function Yp(e,n){if(e&1&&(a(0,"app-humidifierdehumidifier",2),c(1,"Humidifier Dehumidifier"),s()),e&2){let t=_();u("service",t.service)}}function Zp(e,n){if(e&1&&(a(0,"app-statelessprogrammableswitch",2),c(1,"Stateless Programmable Switch"),s()),e&2){let t=_();u("service",t.service)}}function Qp(e,n){if(e&1&&(a(0,"app-unknown",2),c(1),s()),e&2){let t=_();u("service",t.service),r(),x(t.service.humanType)}}var Fh=(()=>{class e{$accessories=N(lo);service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-accessory-tile"]],inputs:{service:"service"},decls:37,vars:3,consts:[["href","javascript:void(0)",1,"manage-accessory-button"],[1,"fas","fa-fw","fa-spin","fa-sync-alt","refreshing-accessory-status-icon","grey-text"],[3,"service"],[1,"w-100",3,"service"],["href","javascript:void(0)",1,"manage-accessory-button",3,"click"],[1,"fas","fa-fw","fa-bars","grey-text"]],template:function(o,i){if(o&1&&(mn(0),M(1,hp,2,0,"a",0)(2,Cp,1,0,"i",1)(3,_p,2,1,"app-switch",2)(4,xp,2,1,"app-thermostat",2)(5,Sp,2,1,"app-outlet",2)(6,yp,2,1,"app-fan",3)(7,bp,2,1,"app-fanv2",3)(8,Tp,2,1,"app-airpurifier",3)(9,Mp,2,1,"app-lightbulb",2)(10,wp,2,1,"app-lightsensor",2)(11,kp,2,1,"app-lockmechanism",2)(12,Ep,2,1,"app-temperaturesensor",2)(13,Ip,2,1,"app-garagedooropener",2)(14,Vp,2,1,"app-motionsensor",2)(15,Dp,2,1,"app-occupancysensor",2)(16,Pp,2,1,"app-contactsensor",2)(17,Ap,2,1,"app-humiditysensor",2)(18,Bp,2,1,"app-airqualitysensor",2)(19,Hp,2,1,"app-windowcovering",2)(20,Rp,2,1,"app-window",2)(21,Fp,2,1,"app-door",2)(22,Np,2,1,"app-television",2)(23,Op,2,1,"app-battery",2)(24,Gp,2,1,"app-battery",2)(25,Lp,2,1,"app-speaker",2)(26,jp,2,1,"app-securitysystem",2)(27,Wp,2,1,"app-leaksensor",2)(28,Up,2,1,"app-smokesensor",2)(29,$p,2,1,"app-carbonmonoxidesensor",2)(30,zp,2,1,"app-carbondioxidesensor",2)(31,qp,2,1,"app-valve",2)(32,Xp,2,1,"app-irrigationsystem",2)(33,Kp,2,1,"app-heatercooler",2)(34,Yp,2,1,"app-humidifierdehumidifier",2)(35,Zp,2,1,"app-statelessprogrammableswitch",2)(36,Qp,2,2,"app-unknown",2),un()),o&2){let l;r(),h(i.$accessories.readyForControl?1:-1),r(),h(i.$accessories.readyForControl?-1:2),r(),h((l=i.service.type)==="Switch"?3:l==="Thermostat"?4:l==="Outlet"?5:l==="Fan"?6:l==="Fanv2"?7:l==="AirPurifier"?8:l==="Lightbulb"?9:l==="LightSensor"?10:l==="LockMechanism"?11:l==="TemperatureSensor"?12:l==="GarageDoorOpener"?13:l==="MotionSensor"?14:l==="OccupancySensor"?15:l==="ContactSensor"?16:l==="HumiditySensor"?17:l==="AirQualitySensor"?18:l==="WindowCovering"?19:l==="Window"?20:l==="Door"?21:l==="Television"?22:l==="Battery"?23:l==="BatteryService"?24:l==="Speaker"?25:l==="SecuritySystem"?26:l==="LeakSensor"?27:l==="SmokeSensor"?28:l==="CarbonMonoxideSensor"?29:l==="CarbonDioxideSensor"?30:l==="Valve"?31:l==="IrrigationSystem"?32:l==="HeaterCooler"?33:l==="HumidifierDehumidifier"?34:l==="StatelessProgrammableSwitch"?35:36)}},dependencies:[dr,fr,nr,Fo,Lo,Eo,Qo,Jo,er,ur,jo,tr,ir,Ao,qo,Io,Sr,_r,Ho,mr,Vo,cr,rr,Ko,ar,Po,Do,hr,Xo,Uo,zo,pr,gr],encapsulation:2})}return e})();export{Bi as a,hd as b,Cd as c,$e as d,so as e,lo as f,Wm as g,ko as h,Eo as i,Io as j,Do as k,Po as l,Ao as m,Bo as n,Ho as o,Ro as p,Go as q,jo as r,Wo as s,$o as t,Xo as u,Ko as v,Zo as w,Qo as x,Jo as y,er as z,tr as A,ir as B,nr as C,or as D,rr as E,ar as F,lr as G,cr as H,pr as I,dr as J,mr as K,vr as L,gr as M,hr as N,Cr as O,_r as P,xr as Q,Sr as R,Fh as S};
|
|
1
|
+
import{a as wn}from"./chunk-HG2QB6Y6.js";import{m as ve,n as pe}from"./chunk-AU2REXCU.js";import{a as hn,b as Cn,c as _n,e as _e,l as xe,y as ue}from"./chunk-LZIWKREV.js";import{a as Mn}from"./chunk-XU7GHNFE.js";import{c as Tn}from"./chunk-OW57Y4JF.js";import{b as bn}from"./chunk-2WHZVNIL.js";import{h as Sn,k as yn}from"./chunk-5ONHAKZR.js";import{a as gn,e as ai}from"./chunk-HYGERTMR.js";import{a as xn,b as A}from"./chunk-TOHNQM4M.js";import{$c as B,Ac as m,Bc as v,Ca as We,Cc as ge,Da as an,Fa as ki,G as en,H as Pt,Ha as ot,Jb as I,K as tn,Kb as u,M as Te,Ma as sn,Mb as dn,Pb as h,Q as De,Rb as Ei,Sb as Ii,Sc as vn,Tb as Vi,Ub as a,Vb as s,Vc as fn,Wb as f,X as nn,Xb as mn,Yb as un,_b as Ce,a as Yi,b as Zi,ba as on,bc as S,cc as _,e as Je,fa as rn,g as Vr,ga as it,gb as r,h as Qt,ha as Ct,hd as Fe,i as wi,jb as ln,kb as ti,kd as ri,la as qe,lb as ii,ld as At,ma as N,mb as ke,mc as c,n as ce,nc as x,ob as cn,oc as y,pc as te,qc as ni,r as Qi,rc as re,s as Ji,sc as ae,ta as nt,tb as k,tc as se,ua as Z,ub as _t,uc as oi,va as Q,vb as xt,w as Jt,wb as pn,wc as J,x as ei,xc as H,yc as Ue,zb as M}from"./chunk-276OSEZQ.js";var En=Je((Jp,kn)=>{kn.exports=function(n,t){return Array.prototype.slice.call(n,t)}});var Vn=Je((ed,In)=>{var Dr=typeof setImmediate=="function",Di;Dr?Di=function(e){setImmediate(e)}:Di=function(e){setTimeout(e,0)};In.exports=Di});var Pn=Je((td,Dn)=>{"use strict";var Pr=Vn();Dn.exports=function(n,t,o){n&&Pr(function(){n.apply(o||null,t||[])})}});var Hn=Je((id,Bn)=>{"use strict";var An=En(),Ar=Pn();Bn.exports=function(n,t){var o=t||{},i={};return n===void 0&&(n={}),n.on=function(l,p){return i[l]?i[l].push(p):i[l]=[p],n},n.once=function(l,p){return p._once=!0,n.on(l,p),n},n.off=function(l,p){var b=arguments.length;if(b===1)delete i[l];else if(b===0)i={};else{var w=i[l];if(!w)return n;w.splice(w.indexOf(p),1)}return n},n.emit=function(){var l=An(arguments);return n.emitterSnapshot(l.shift()).apply(this,l)},n.emitterSnapshot=function(l){var p=(i[l]||[]).slice(0);return function(){var b=An(arguments),w=this||n;if(l==="error"&&o.throws!==!1&&!p.length)throw b.length===1?b[0]:b;return p.forEach(function(L){o.async?Ar(L,b,w):L.apply(w,b),L._once&&n.off(l,L)}),n}},n}});var Nn=Je((nd,Fn)=>{var Rn=global.CustomEvent;function Br(){try{var e=new Rn("cat",{detail:{foo:"bar"}});return e.type==="cat"&&e.detail.foo==="bar"}catch{}return!1}Fn.exports=Br()?Rn:typeof document<"u"&&typeof document.createEvent=="function"?function(n,t){var o=document.createEvent("CustomEvent");return t?o.initCustomEvent(n,t.bubbles,t.cancelable,t.detail):o.initCustomEvent(n,!1,!1,void 0),o}:function(n,t){var o=document.createEventObject();return o.type=n,t?(o.bubbles=!!t.bubbles,o.cancelable=!!t.cancelable,o.detail=t.detail):(o.bubbles=!1,o.cancelable=!1,o.detail=void 0),o}});var Ln=Je((od,Gn)=>{"use strict";var On=[],Pi="",Hr=/^on/;for(Pi in global)Hr.test(Pi)&&On.push(Pi.slice(2));Gn.exports=On});var zn=Je((rd,$n)=>{"use strict";var Rr=Nn(),Fr=Ln(),si=global.document,jn=Nr,Wn=Gr,Bt=[];global.addEventListener||(jn=Or,Wn=Lr);$n.exports={add:jn,remove:Wn,fabricate:jr};function Nr(e,n,t,o){return e.addEventListener(n,t,o)}function Or(e,n,t){return e.attachEvent("on"+n,Ur(e,n,t))}function Gr(e,n,t,o){return e.removeEventListener(n,t,o)}function Lr(e,n,t){var o=Un(e,n,t);if(o)return e.detachEvent("on"+n,o)}function jr(e,n,t){var o=Fr.indexOf(n)===-1?l():i();e.dispatchEvent?e.dispatchEvent(o):e.fireEvent("on"+n,o);function i(){var p;return si.createEvent?(p=si.createEvent("Event"),p.initEvent(n,!0,!0)):si.createEventObject&&(p=si.createEventObject()),p}function l(){return new Rr(n,{detail:t})}}function Wr(e,n,t){return function(i){var l=i||global.event;l.target=l.target||l.srcElement,l.preventDefault=l.preventDefault||function(){l.returnValue=!1},l.stopPropagation=l.stopPropagation||function(){l.cancelBubble=!0},l.which=l.which||l.keyCode,t.call(e,l)}}function Ur(e,n,t){var o=Un(e,n,t)||Wr(e,n,t);return Bt.push({wrapper:o,element:e,type:n,fn:t}),o}function Un(e,n,t){var o=$r(e,n,t);if(o){var i=Bt[o].wrapper;return Bt.splice(o,1),i}}function $r(e,n,t){var o,i;for(o=0;o<Bt.length;o++)if(i=Bt[o],i.element===e&&i.type===n&&i.fn===t)return o}});var Yn=Je((ad,Kn)=>{"use strict";var qn={},zr="(?:^|\\s)",qr="(?:\\s|$)";function Xn(e){var n=qn[e];return n?n.lastIndex=0:qn[e]=n=new RegExp(zr+e+qr,"g"),n}function Xr(e,n){var t=e.className;t.length?Xn(n).test(t)||(e.className+=" "+n):e.className=n}function Kr(e,n){e.className=e.className.replace(Xn(n)," ").trim()}Kn.exports={add:Xr,rm:Kr}});var ao=Je((sd,ro)=>{"use strict";var Yr=Hn(),St=zn(),rt=Yn(),yt=document,Ze=yt.documentElement;function Zr(e,n){var t=arguments.length;t===1&&Array.isArray(e)===!1&&(n=e,e=[]);var o,i,l,p,b,w,V,L,X,z,O,fe=null,Y,R=n||{};R.moves===void 0&&(R.moves=eo),R.accepts===void 0&&(R.accepts=eo),R.invalid===void 0&&(R.invalid=jt),R.containers===void 0&&(R.containers=e||[]),R.isContainer===void 0&&(R.isContainer=Jr),R.copy===void 0&&(R.copy=!1),R.copySortSource===void 0&&(R.copySortSource=!1),R.revertOnSpill===void 0&&(R.revertOnSpill=!1),R.removeOnSpill===void 0&&(R.removeOnSpill=!1),R.direction===void 0&&(R.direction="vertical"),R.ignoreInputTextSelection===void 0&&(R.ignoreInputTextSelection=!0),R.mirrorContainer===void 0&&(R.mirrorContainer=yt.body);var le=Yr({containers:R.containers,start:_i,end:ft,cancel:Ut,remove:Tt,destroy:vt,canMove:Ci,dragging:!1});return R.removeOnSpill===!0&&le.on("over",kt).on("out",Et),et(),le;function Ge(T){return le.containers.indexOf(T)!==-1||R.isContainer(T)}function et(T){var j=T?"remove":"add";Ht(Ze,j,"mousedown",ze),Ht(Ze,j,"mouseup",bt)}function Ye(T){var j=T?"remove":"add";Ht(Ze,j,"mousemove",hi)}function lt(T){var j=T?"remove":"add";St[j](Ze,"selectstart",Gt),St[j](Ze,"click",Gt)}function vt(){et(!0),bt({})}function Gt(T){Y&&T.preventDefault()}function ze(T){w=T.clientX,V=T.clientY;var j=Zn(T)!==1||T.metaKey||T.ctrlKey;if(!j){var q=T.target,ee=ct(q);ee&&(Y=ee,Ye(),T.type==="mousedown"&&(no(q)?q.focus():T.preventDefault()))}}function hi(T){if(Y){if(Zn(T)===0){bt({});return}if(!(T.clientX!==void 0&&Math.abs(T.clientX-w)<=(R.slideFactorX||0)&&T.clientY!==void 0&&Math.abs(T.clientY-V)<=(R.slideFactorY||0))){if(R.ignoreInputTextSelection){var j=at("clientX",T)||0,q=at("clientY",T)||0,ee=yt.elementFromPoint(j,q);if(no(ee))return}var Ae=Y;Ye(!0),lt(),ft(),Lt(Ae);var Me=Qr(l);p=at("pageX",T)-Me.left,b=at("pageY",T)-Me.top,rt.add(z||l,"gu-transit"),zt(),wt(T)}}}function ct(T){if(!(le.dragging&&o)&&!Ge(T)){for(var j=T;Ne(T)&&Ge(Ne(T))===!1;)if(R.invalid(T,j)||(T=Ne(T),!T))return;var q=Ne(T);if(q&&!R.invalid(T,j)){var ee=R.moves(T,q,j,Rt(T));if(ee)return{item:T,source:q}}}}function Ci(T){return!!ct(T)}function _i(T){var j=ct(T);j&&Lt(j)}function Lt(T){xi(T.item,T.source)&&(z=T.item.cloneNode(!0),le.emit("cloned",z,T.item,"copy")),i=T.source,l=T.item,L=X=Rt(T.item),le.dragging=!0,le.emit("drag",l,i)}function jt(){return!1}function ft(){if(le.dragging){var T=z||l;gt(T,Ne(T))}}function Wt(){Y=!1,Ye(!0),lt(!0)}function bt(T){if(Wt(),!!le.dragging){var j=z||l,q=at("clientX",T)||0,ee=at("clientY",T)||0,Ae=Jn(o,q,ee),Me=$t(Ae,q,ee);Me&&(z&&R.copySortSource||!z||Me!==i)?gt(j,Me):R.removeOnSpill?Tt():Ut()}}function gt(T,j){var q=Ne(T);z&&R.copySortSource&&j===i&&q.removeChild(l),ht(j)?le.emit("cancel",T,i,i):le.emit("drop",T,j,i,X),Mt()}function Tt(){if(le.dragging){var T=z||l,j=Ne(T);j&&j.removeChild(T),le.emit(z?"cancel":"remove",T,j,i),Mt()}}function Ut(T){if(le.dragging){var j=arguments.length>0?T:R.revertOnSpill,q=z||l,ee=Ne(q),Ae=ht(ee);Ae===!1&&j&&(z?ee&&ee.removeChild(z):i.insertBefore(q,L)),Ae||j?le.emit("cancel",q,i,i):le.emit("drop",q,ee,i,X),Mt()}}function Mt(){var T=z||l;Wt(),Qe(),T&&rt.rm(T,"gu-transit"),O&&clearTimeout(O),le.dragging=!1,fe&&le.emit("out",T,fe,i),le.emit("dragend",T),i=l=z=L=X=O=fe=null}function ht(T,j){var q;return j!==void 0?q=j:o?q=X:q=Rt(z||l),T===i&&q===L}function $t(T,j,q){for(var ee=T;ee&&!Ae();)ee=Ne(ee);return ee;function Ae(){var Me=Ge(ee);if(Me===!1)return!1;var tt=qt(ee,T),Ee=It(ee,tt,j,q),je=ht(ee,Ee);return je?!0:R.accepts(l,ee,i,Ee)}}function wt(T){if(!o)return;T.preventDefault();var j=at("clientX",T)||0,q=at("clientY",T)||0,ee=j-p,Ae=q-b;o.style.left=ee+"px",o.style.top=Ae+"px";var Me=z||l,tt=Jn(o,j,q),Ee=$t(tt,j,q),je=Ee!==null&&Ee!==fe;(je||Ee===null)&&(Xt(),fe=Ee,Vt());var Re=Ne(Me);if(Ee===i&&z&&!R.copySortSource){Re&&Re.removeChild(Me);return}var Ie,oe=qt(Ee,tt);if(oe!==null)Ie=It(Ee,oe,j,q);else if(R.revertOnSpill===!0&&!z)Ie=L,Ee=i;else{z&&Re&&Re.removeChild(Me);return}(Ie===null&&je||Ie!==Me&&Ie!==Rt(Me))&&(X=Ie,Ee.insertBefore(Me,Ie),le.emit("shadow",Me,Ee,i));function Le(Kt){le.emit(Kt,Me,fe,i)}function Vt(){je&&Le("over")}function Xt(){fe&&Le("out")}}function kt(T){rt.rm(T,"gu-hide")}function Et(T){le.dragging&&rt.add(T,"gu-hide")}function zt(){if(!o){var T=l.getBoundingClientRect();o=l.cloneNode(!0),o.style.width=to(T)+"px",o.style.height=io(T)+"px",rt.rm(o,"gu-transit"),rt.add(o,"gu-mirror"),R.mirrorContainer.appendChild(o),Ht(Ze,"add","mousemove",wt),rt.add(R.mirrorContainer,"gu-unselectable"),le.emit("cloned",o,l,"mirror")}}function Qe(){o&&(rt.rm(R.mirrorContainer,"gu-unselectable"),Ht(Ze,"remove","mousemove",wt),Ne(o).removeChild(o),o=null)}function qt(T,j){for(var q=j;q!==T&&Ne(q)!==T;)q=Ne(q);return q===Ze?null:q}function It(T,j,q,ee){var Ae=R.direction==="horizontal",Me=j!==T?Ee():tt();return Me;function tt(){var Re=T.children.length,Ie,oe,Le;for(Ie=0;Ie<Re;Ie++)if(oe=T.children[Ie],Le=oe.getBoundingClientRect(),Ae&&Le.left+Le.width/2>q||!Ae&&Le.top+Le.height/2>ee)return oe;return null}function Ee(){var Re=j.getBoundingClientRect();return je(Ae?q>Re.left+to(Re)/2:ee>Re.top+io(Re)/2)}function je(Re){return Re?Rt(j):j}}function xi(T,j){return typeof R.copy=="boolean"?R.copy:R.copy(T,j)}}function Ht(e,n,t,o){var i={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},l={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},p={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};global.navigator.pointerEnabled?St[n](e,l[t],o):global.navigator.msPointerEnabled?St[n](e,p[t],o):(St[n](e,i[t],o),St[n](e,t,o))}function Zn(e){if(e.touches!==void 0)return e.touches.length;if(e.which!==void 0&&e.which!==0)return e.which;if(e.buttons!==void 0)return e.buttons;var n=e.button;if(n!==void 0)return n&1?1:n&2?3:n&4?2:0}function Qr(e){var n=e.getBoundingClientRect();return{left:n.left+Qn("scrollLeft","pageXOffset"),top:n.top+Qn("scrollTop","pageYOffset")}}function Qn(e,n){return typeof global[n]<"u"?global[n]:Ze.clientHeight?Ze[e]:yt.body[e]}function Jn(e,n,t){e=e||{};var o=e.className||"",i;return e.className+=" gu-hide",i=yt.elementFromPoint(n,t),e.className=o,i}function Jr(){return!1}function eo(){return!0}function to(e){return e.width||e.right-e.left}function io(e){return e.height||e.bottom-e.top}function Ne(e){return e.parentNode===yt?null:e.parentNode}function no(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.tagName==="SELECT"||oo(e)}function oo(e){return!e||e.contentEditable==="false"?!1:e.contentEditable==="true"?!0:oo(Ne(e))}function Rt(e){return e.nextElementSibling||n();function n(){var t=e;do t=t.nextSibling;while(t&&t.nodeType!==1);return t}}function ea(e){return e.targetTouches&&e.targetTouches.length?e.targetTouches[0]:e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e}function at(e,n){var t=ea(n),o={pageX:"clientX",pageY:"clientY"};return e in o&&!(e in t)&&o[e]in t&&(e=o[e]),t[e]}ro.exports=Zr});var Ri=Vr(ao(),1),Ai=class{constructor(n,t,o){this.name=n,this.drake=t,this.options=o,this.initEvents=!1}},ne=function(e){return e.Cancel="cancel",e.Cloned="cloned",e.Drag="drag",e.DragEnd="dragend",e.Drop="drop",e.Out="out",e.Over="over",e.Remove="remove",e.Shadow="shadow",e.DropModel="dropModel",e.RemoveModel="removeModel",e}(ne||{}),ta=Object.keys(ne).map(e=>ne[e]),ia=Ri.default||Ri,Ft=class{constructor(n=ia){this.build=n}},dt=(e,n,t)=>o=>o.pipe(Pt(({event:i,name:l})=>i===e&&(n===void 0||l===n)),ei(({name:i,args:l})=>t(i,l))),na=(e,[n,t,o])=>({name:e,el:n,container:t,source:o}),Bi=(()=>{let n=class n{constructor(o){this.drakeFactory=o,this.groups={},this.dispatch$=new ce,this.elContainerSource=i=>l=>this.dispatch$.pipe(dt(i,l,na)),this.cancel=this.elContainerSource(ne.Cancel),this.remove=this.elContainerSource(ne.Remove),this.shadow=this.elContainerSource(ne.Shadow),this.over=this.elContainerSource(ne.Over),this.out=this.elContainerSource(ne.Out),this.drag=i=>this.dispatch$.pipe(dt(ne.Drag,i,(l,[p,b])=>({name:l,el:p,source:b}))),this.dragend=i=>this.dispatch$.pipe(dt(ne.DragEnd,i,(l,[p])=>({name:l,el:p}))),this.drop=i=>this.dispatch$.pipe(dt(ne.Drop,i,(l,[p,b,w,V])=>({name:l,el:p,target:b,source:w,sibling:V}))),this.cloned=i=>this.dispatch$.pipe(dt(ne.Cloned,i,(l,[p,b,w])=>({name:l,clone:p,original:b,cloneType:w}))),this.dropModel=i=>this.dispatch$.pipe(dt(ne.DropModel,i,(l,[p,b,w,V,L,X,z,O,fe])=>({name:l,el:p,target:b,source:w,sibling:V,item:L,sourceModel:X,targetModel:z,sourceIndex:O,targetIndex:fe}))),this.removeModel=i=>this.dispatch$.pipe(dt(ne.RemoveModel,i,(l,[p,b,w,V,L,X])=>({name:l,el:p,container:b,source:w,item:V,sourceModel:L,sourceIndex:X}))),(this.drakeFactory===null||this.drakeFactory===void 0)&&(this.drakeFactory=new Ft)}add(o){if(this.find(o.name))throw new Error('Group named: "'+o.name+'" already exists.');return this.groups[o.name]=o,this.handleModels(o),this.setupEvents(o),o}find(o){return this.groups[o]}destroy(o){let i=this.find(o);i&&(i.drake&&i.drake.destroy(),delete this.groups[o])}createGroup(o,i){return this.add(new Ai(o,this.drakeFactory.build([],i),i))}handleModels({name:o,drake:i,options:l}){let p,b,w;i.on("remove",(V,L,X)=>{if(!i.models)return;let z=i.models[i.containers.indexOf(X)];z=z.slice(0);let O=z.splice(b,1)[0];this.dispatch$.next({event:ne.RemoveModel,name:o,args:[V,L,X,O,z,b]})}),i.on("drag",(V,L)=>{i.models&&(p=V,b=this.domIndexOf(V,L))}),i.on("drop",(V,L,X,z)=>{if(!i.models||!L)return;w=this.domIndexOf(V,L);let O=i.models[i.containers.indexOf(X)],fe=i.models[i.containers.indexOf(L)],Y;if(L===X)O=O.slice(0),Y=O.splice(b,1)[0],O.splice(w,0,Y),fe=O;else{let R=p!==V;if(Y=O[b],R){if(!l.copyItem)throw new Error("If you have enabled `copy` on a group, you must provide a `copyItem` function.");Y=l.copyItem(Y)}if(R||(O=O.slice(0),O.splice(b,1)),fe=fe.slice(0),fe.splice(w,0,Y),R)try{L.removeChild(V)}catch{}}this.dispatch$.next({event:ne.DropModel,name:o,args:[V,L,X,z,Y,O,fe,b,w]})})}setupEvents(o){if(o.initEvents)return;o.initEvents=!0;let i=o.name,l=this,p=b=>{switch(b){case ne.Drag:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.Drop:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.DragEnd:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.Cancel:case ne.Remove:case ne.Shadow:case ne.Over:case ne.Out:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.Cloned:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.DropModel:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;case ne.RemoveModel:o.drake.on(b,(...w)=>{this.dispatch$.next({event:b,name:i,args:w})});break;default:break}};ta.forEach(p)}domIndexOf(o,i){if(i)return Array.prototype.indexOf.call(i.children,o)}};n.\u0275fac=function(i){return new(i||n)(qe(Ft,8))},n.\u0275prov=it({token:n,factory:n.\u0275fac,providedIn:"root"});let e=n;return e})(),hd=(()=>{let n=class n{get container(){return this.el&&this.el.nativeElement}constructor(o,i){this.el=o,this.dragulaService=i,this.dragulaModelChange=new We}ngOnChanges(o){var i;if(o&&o.dragula){let{previousValue:l,currentValue:p,firstChange:b}=o.dragula,w=!!l,V=!!p;w&&this.teardown(l),V&&this.setup()}else if(o&&o.dragulaModel){let{previousValue:l,currentValue:p,firstChange:b}=o.dragulaModel,w=(i=this.group)==null?void 0:i.drake;if(this.dragula&&w){w.models=w.models||[];let V=w.models.indexOf(l);V!==-1?(w.models.splice(V,1),p&&w.models.splice(V,0,p)):p&&w.models.push(p)}}}setup(){var l;let o=p=>{var b,w,V;this.dragulaModel&&((b=p.drake)!=null&&b.models?(V=(w=p.drake)==null?void 0:w.models)==null||V.push(this.dragulaModel):p.drake&&(p.drake.models=[this.dragulaModel]))};if(!this.dragula)return;let i=this.dragulaService.find(this.dragula);if(!i){let p={};i=this.dragulaService.createGroup(this.dragula,p)}o(i),(l=i.drake)==null||l.containers.push(this.container),this.subscribe(this.dragula),this.group=i}subscribe(o){this.subs=new wi,this.subs.add(this.dragulaService.dropModel(o).subscribe(({source:i,target:l,sourceModel:p,targetModel:b})=>{i===this.el.nativeElement?this.dragulaModelChange.emit(p):l===this.el.nativeElement&&this.dragulaModelChange.emit(b)})),this.subs.add(this.dragulaService.removeModel(o).subscribe(({source:i,sourceModel:l})=>{i===this.el.nativeElement&&this.dragulaModelChange.emit(l)}))}teardown(o){var l,p;this.subs&&this.subs.unsubscribe();let i=this.dragulaService.find(o);if(i){let b=(l=i.drake)==null?void 0:l.containers.indexOf(this.el.nativeElement);if(b!==-1&&((p=i.drake)==null||p.containers.splice(b,1)),this.dragulaModel&&i.drake&&i.drake.models){let w=i.drake.models.indexOf(this.dragulaModel);w!==-1&&i.drake.models.splice(w,1)}}}ngOnDestroy(){this.dragula&&this.teardown(this.dragula)}};n.\u0275fac=function(i){return new(i||n)(ke(ot),ke(Bi))},n.\u0275dir=xt({type:n,selectors:[["","dragula",""]],inputs:{dragula:"dragula",dragulaModel:"dragulaModel"},outputs:{dragulaModelChange:"dragulaModelChange"},standalone:!1,features:[nt]});let e=n;return e})(),Cd=(()=>{let n=class n{static forRoot(){return{ngModule:n,providers:[Bi]}}};n.\u0275fac=function(i){return new(i||n)},n.\u0275mod=_t({type:n}),n.\u0275inj=Ct({providers:[Bi]});let e=n;return e})(),_d=new Ft((e,n)=>new Hi(e,n)),Hi=class{constructor(n=[],t={},o){this.containers=n,this.options=t,this.models=o,this.emitter$=new ce,this.subs=new wi,this.dragging=!1}on(n,t){this.subs.add(this.emitter$.pipe(Pt(({eventType:o})=>o===n)).subscribe(({eventType:o,args:i})=>{if(o===ne.Drag){let l=Array.from(i),p=l[0],b=l[1];t(p,b);return}if(o===ne.Drop){let l=Array.from(i),p=l[0],b=l[1],w=l[2],V=l[3];t(p,b,w,V);return}if(o===ne.Remove){let l=Array.from(i),p=l[0],b=l[1],w=l[2];t(p,b,w);return}t(i)}))}start(n){this.dragging=!0}end(){this.dragging=!1}cancel(n){this.dragging=!1}canMove(n){return this.options.accepts?this.options.accepts(n):!1}remove(){this.dragging=!1}destroy(){this.subs.unsubscribe()}emit(n,...t){this.emitter$.next({eventType:n,args:t})}};var $e=(()=>{class e{$settings=N(bn);constructor(){}transform(t,o=this.$settings.env.temperatureUnits){return o==="f"?t*1.8+32:t}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=pn({name:"convertTemp",type:e,pure:!0})}return e})();function oa(e,n){if(e&1&&c(0),e&2){let t=_().$implicit;y(" ",t.value,"% ")}}function ra(e,n){if(e&1&&(c(0),m(1,"convertTemp")),e&2){let t=_().$implicit;y(" ",v(1,1,t.value),"\xB0 ")}}function aa(e,n){if(e&1&&c(0),e&2){let t=_().$implicit;y(" ",t.value," ")}}function sa(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),s(),a(3,"span",20),M(4,oa,1,1)(5,ra,2,3)(6,aa,1,1),s()()),e&2){let t,o=n.$implicit;r(2),x(o.description),r(2),h((t=o.unit)==="percentage"?4:t==="celsius"?5:6)}}function la(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),m(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=_(2);r(2),x(v(3,2,"child_bridge.config.platform")),r(3),x(t.matchedCachedAccessory.platform)}}function ca(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),m(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=_(2);r(2),x(v(3,2,"child_bridge.config.accessory")),r(3),x(t.matchedCachedAccessory.accessory)}}function pa(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),m(3,"translate"),s(),a(4,"span",20),c(5),s()(),M(6,la,6,4,"li",19)(7,ca,6,4,"li",19)),e&2){let t=_();r(2),x(v(3,4,"accessories.plugin")),r(3),x(t.matchedCachedAccessory.plugin),r(),h(t.matchedCachedAccessory.platform?6:-1),r(),h(t.matchedCachedAccessory.accessory?7:-1)}}function da(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),s(),a(3,"span",20),c(4),s()()),e&2){let t=n.$implicit;r(2),x(t.key),r(2),x(t.value)}}function ma(e,n){if(e&1&&(a(0,"li",19)(1,"span",11),c(2),m(3,"translate"),s(),a(4,"span",20),c(5),s()()),e&2){let t=_();r(2),x(v(3,2,"accessories.bridge_name")),r(3),x(t.matchedCachedAccessory.bridge)}}function ua(e,n){if(e&1){let t=Ce();a(0,"li",19)(1,"span",22),c(2,"UUID"),s(),a(3,"span",20),c(4),s()(),a(5,"li",27)(6,"span",11),c(7),m(8,"translate"),s(),a(9,"button",28),S("click",function(){Z(t);let i=_();return Q(i.removeSingleCachedAccessories())}),f(10,"i",29),s()()}if(e&2){let t=_();r(4),x(t.matchedCachedAccessory.UUID),r(3),x(v(8,2,"accessories.button_remove"))}}var so=(()=>{class e{$activeModal=N(ve);$modal=N(pe);service;accessoryCache;pairingCache;accessoryInformation;matchedCachedAccessory=null;constructor(){}ngOnInit(){this.accessoryInformation=Object.entries(this.service.accessoryInformation).map(([t,o])=>({key:t,value:o})),this.matchedCachedAccessory=this.matchToCachedAccessory()}matchToCachedAccessory(){let t=this.service.instance.username,o=this.pairingCache.find(i=>i._username===t);if(o){let i=o._main?"cachedAccessories":`cachedAccessories.${o._id}`,l=this.accessoryCache.filter(p=>p.$cacheFile===i);if(l.length){let p=this.service.accessoryInformation.Name,b=this.service.accessoryInformation["Serial Number"],w=l.filter(V=>{let L=V.services.find(O=>O.constructorName==="AccessoryInformation"),X=L.characteristics.find(O=>O.displayName==="Name"),z=L.characteristics.find(O=>O.displayName==="Serial Number");return X.value===p&&z.value===b});if(w.length===1)return Zi(Yi({},w[0]),{bridge:o.name})}}}removeSingleCachedAccessories(){this.$activeModal.close();let t=this.$modal.open(wn,{size:"lg",backdrop:"static"});t.componentInstance.selectedBridge=this.service.instance.username.replaceAll(":","")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["ng-component"]],inputs:{service:"service",accessoryCache:"accessoryCache",pairingCache:"pairingCache"},decls:95,vars:59,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"list-group","list-group-box","mb-3"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","id","form-name","autocomplete","off",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text"],["type","checkbox","id","hide-accessory",1,"rendux-input",3,"ngModelChange","ngModel"],["for","hide-accessory",1,"rendux-label","ms-3"],["type","checkbox","id","show-on-dashboard",1,"rendux-input","mb-0",3,"ngModelChange","ngModel"],["for","show-on-dashboard",1,"rendux-label","ms-3"],[1,"list-group-item"],[1,"mb-0","text-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-left","flex-column","flex-md-row"],[1,"text-start","text-md-end","grey-text","font-monospace"],[1,"list-group","list-group-box","mb-0"],[1,"text-start","font-monospace"],[1,"modal-footer","justify-content-between"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-right"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),c(3),s(),a(4,"button",3),m(5,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(6,"div",4)(7,"ul",5)(8,"li",6)(9,"label",7),c(10),m(11,"translate"),s(),a(12,"div",8)(13,"input",9),S("ngModelChange",function(p){return i.service.customName=p}),s()()(),a(14,"li",10)(15,"span",11),c(16),m(17,"translate"),s(),a(18,"div",12)(19,"input",13),m(20,"translate"),se("ngModelChange",function(p){return ae(i.service.hidden,p)||(i.service.hidden=p),p}),s(),f(21,"label",14),s()(),a(22,"li",10)(23,"span",11),c(24),m(25,"translate"),s(),a(26,"div",12)(27,"input",15),m(28,"translate"),se("ngModelChange",function(p){return ae(i.service.onDashboard,p)||(i.service.onDashboard=p),p}),s(),f(29,"label",16),s()()(),a(30,"ul",5)(31,"li",17)(32,"h6",18),c(33),m(34,"translate"),s()(),a(35,"li",19)(36,"span",11),c(37),m(38,"translate"),s(),a(39,"span",20),c(40),s()(),a(41,"li",19)(42,"span",11),c(43),m(44,"translate"),s(),a(45,"span",20),c(46),s()(),Ii(47,sa,7,2,"li",19,Ei),s(),a(49,"ul",21)(50,"li",17)(51,"h6",18),c(52),m(53,"translate"),s()(),M(54,pa,8,6),Ii(55,da,5,2,"li",19,Ei),a(57,"li",19)(58,"span",11),c(59),m(60,"translate"),s(),a(61,"span",20),c(62),s()(),M(63,ma,6,4,"li",19),a(64,"li",19)(65,"span",11),c(66),m(67,"translate"),s(),a(68,"span",20),c(69),s()(),a(70,"li",19)(71,"span",11),c(72),m(73,"translate"),s(),a(74,"span",20),c(75),s()(),a(76,"li",19)(77,"span",22),c(78,"aid"),s(),a(79,"span",20),c(80),s()(),a(81,"li",19)(82,"span",22),c(83,"iid"),s(),a(84,"span",20),c(85),s()(),M(86,ua,11,4),s()(),a(87,"div",23),f(88,"div",11),a(89,"div",24)(90,"button",25),m(91,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),c(92),m(93,"translate"),s()(),f(94,"div",26),s()()),o&2&&(r(3),x(i.service.customName||i.service.serviceName),r(),I("aria-label",v(5,29,"form.button_close")),r(6),x(v(11,31,"accessories.custom_name")),r(3),u("ngModel",i.service.customName||i.service.serviceName),r(3),x(v(17,33,"accessories.hide_this_accessory")),r(3),re("ngModel",i.service.hidden),I("aria-label",v(20,35,"accessories.hide_this_accessory")),r(5),x(v(25,37,"accessories.show_on_dashboard")),r(3),re("ngModel",i.service.onDashboard),I("aria-label",v(28,39,"accessories.show_on_dashboard")),r(6),x(v(34,41,"accessories.service_info")),r(4),x(v(38,43,"accessories.service")),r(3),x(i.service.humanType),r(3),x(v(44,45,"accessories.name")),r(3),x(i.service.serviceName),r(),Vi(i.service.serviceCharacteristics),r(5),x(v(53,47,"accessories.accessory_info")),r(2),h(i.matchedCachedAccessory?54:-1),r(),Vi(i.accessoryInformation),r(4),x(v(60,49,"accessories.bridge_username")),r(3),x(i.service.instance.username),r(),h(i.matchedCachedAccessory?63:-1),r(3),x(v(67,51,"accessories.bridge_ip")),r(3),x(i.service.instance.ipAddress),r(3),x(v(73,53,"accessories.bridge_port")),r(3),x(i.service.instance.port),r(5),x(i.service.aid),r(5),x(i.service.iid),r(),h(i.matchedCachedAccessory?86:-1),r(4),I("aria-label",v(91,55,"form.button_close")),r(2),y(" ",v(93,57,"form.button_close")," "))},dependencies:[ue,_n,Cn,_e,xe,A,$e],encapsulation:2})}return e})();var lo=(()=>{class e{$api=N(yn);$auth=N(Tn);$modal=N(pe);$toastr=N(Sn);$translate=N(xn);$ws=N(Mn);layoutSaved=new ce;accessoryData=new ce;readyForControl=!1;accessoryLayout;accessories={services:[]};rooms=[];io;roomsOrdered=!1;hiddenTypes=["InputSource","CameraRTPStreamManagement","ProtocolInformation"];accessoryCache=[];pairingCache=[];constructor(){Jt(this.$api.get("/server/cached-accessories")).then(t=>{this.accessoryCache=t}).catch(t=>console.error(t)),Jt(this.$api.get("/server/pairings")).then(t=>{this.pairingCache=t}).catch(t=>console.error(t))}showAccessoryInformation(t){let o=this.$modal.open(so,{size:"lg",backdrop:"static"});return o.componentInstance.service=t,o.componentInstance.accessoryCache=this.accessoryCache,o.componentInstance.pairingCache=this.pairingCache,o.result.then(()=>this.saveLayout()).catch(()=>this.saveLayout()),!1}stop(){this.io.end(),this.rooms=[],this.accessories={services:[]},this.roomsOrdered=!1,delete this.accessoryLayout}start(){return Qt(this,null,function*(){this.readyForControl=!1,this.io=this.$ws.connectToNamespace("accessories"),yield this.loadLayout(),this.io.connected?(this.io.socket.emit("get-accessories"),setTimeout(()=>{this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")})},1e3)):this.io.connected.subscribe(()=>{this.io.socket.emit("get-accessories")}),this.io.socket.on("accessories-data",t=>{this.parseServices(t),this.generateHelpers(),this.sortIntoRooms(),this.roomsOrdered||(this.orderRooms(),this.applyCustomAttributes(),this.roomsOrdered=!0),this.accessoryData.next(t)}),this.io.socket.on("accessories-reload-required",()=>Qt(this,null,function*(){this.stop(),yield this.start()})),this.io.socket.on("accessory-control-failure",t=>{console.error(t),this.$toastr.error(t,this.$translate.instant("toast.title_error"))}),this.io.socket.on("accessories-ready-for-control",()=>{this.readyForControl=!0})})}saveLayout(){this.accessoryLayout=this.rooms.map(t=>({name:t.name,services:t.services.map(o=>({uniqueId:o.uniqueId,aid:o.aid,iid:o.iid,uuid:o.uuid,customName:o.customName||void 0,hidden:o.hidden||void 0,onDashboard:o.onDashboard||void 0}))})).filter(t=>t.services.length),this.io.request("save-layout",{user:this.$auth.user.username,layout:this.accessoryLayout}).subscribe({next:()=>this.layoutSaved.next(void 0),error:t=>{console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}loadLayout(){return Qt(this,null,function*(){this.accessoryLayout=yield Jt(this.io.request("get-layout",{user:this.$auth.user.username})),this.rooms=this.accessoryLayout.map(t=>({name:t.name,services:[]}))})}parseServices(t){if(!this.accessories.services.length){this.accessories.services=t;return}t.forEach(o=>{let i=this.accessories.services.find(l=>l.uniqueId===o.uniqueId);i?Object.assign(i,o):this.accessories.services.push(o)})}sortIntoRooms(){this.accessories.services.forEach(t=>{if(this.hiddenTypes.includes(t.type))return;if(t.linked&&(t.linkedServices={},t.linked.forEach(i=>{t.linkedServices[i]=this.accessories.services.find(l=>l.aid===t.aid&&l.iid===i&&l.instance.username===t.instance.username)})),!this.rooms.find(i=>i.services.find(l=>l.uniqueId===t.uniqueId))){let i=this.accessoryLayout.find(l=>l.services.find(p=>p.uniqueId===t.uniqueId));if(i)this.rooms.find(l=>l.name===i.name).services.push(t);else{let l=this.rooms.find(p=>p.name==="Default Room");l?l.services.push(t):this.rooms.push({name:"Default Room",services:[t]})}}})}orderRooms(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.sort((i,l)=>{let p=o.services.findIndex(w=>w.uniqueId===i.uniqueId),b=o.services.findIndex(w=>w.uniqueId===l.uniqueId);return p<b?-1:p>b?1:0})})}applyCustomAttributes(){this.rooms.forEach(t=>{let o=this.accessoryLayout.find(i=>i.name===t.name);t.services.forEach(i=>{let l=o.services.find(p=>p.uniqueId===i.uniqueId);Object.assign(i,l)})})}generateHelpers(){this.accessories.services.forEach(t=>{t.getCharacteristic||(t.getCharacteristic=o=>{let i=t.serviceCharacteristics.find(l=>l.type===o);return i?(i.setValue=l=>new Promise(p=>(this.readyForControl||p(void 0),this.io.socket.emit("accessory-control",{set:{uniqueId:t.uniqueId,aid:t.aid,siid:t.iid,iid:i.iid,value:l}}),p(void 0))),i):null})})}static \u0275fac=function(o){return new(o||e)};static \u0275prov=it({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var mt=function(){function e(){}return e}();var li=function(){function e(n){this._ranScripts={},this._renderer=n.createRenderer(null,null)}return e.prototype.insertEl=function(n,t,o,i,l){if(i&&!l){var p=n._prevSVG&&n._prevSVG.parentNode;p&&this._renderer.removeChild(p,n._prevSVG),t.innerHTML=""}l?this._renderer.insertBefore(t,o,t.firstChild):this._renderer.appendChild(t,o),o.nodeName==="svg"&&(n._prevSVG=o)},e.prototype.evalScripts=function(n,t,o){for(var i=n.querySelectorAll("script"),l=[],p=0;p<i.length;p++){var b=i[p].getAttribute("type");if(!b||b==="application/ecmascript"||b==="application/javascript"){var w=i[p].innerText||i[p].textContent;l.push(w),this._renderer.removeChild(i[p].parentNode,i[p])}}if(l.length>0&&(o==="always"||o==="once"&&!this._ranScripts[t])){for(var p=0;p<l.length;p++)new Function(l[p])(window);this._ranScripts[t]=!0}},e.\u0275fac=function(t){return new(t||e)(qe(ti))},e.\u0275prov=it({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();var Fi=function(){function e(n,t){this._inlineSVGService=n,this._el=t}return e.prototype.ngAfterViewInit=function(){this._updateContent()},e.prototype.ngOnChanges=function(n){n.content&&this._updateContent()},e.prototype._updateContent=function(){this._inlineSVGService.insertEl(this.context,this._el.nativeElement,this.content,this.replaceContents,this.prepend)},e.\u0275fac=function(t){return new(t||e)(ke(li),ke(ot))},e.\u0275cmp=k({type:e,selectors:[["inline-svg"]],inputs:{context:"context",content:"content",replaceContents:"replaceContents",prepend:"prepend"},features:[nt],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0}),e}();var Nt=function(){function e(n,t,o,i,l,p){this._appBase=n,this._location=t,this._config=o,this._http=o&&!o.bypassHttpClientInterceptorChain?i:new ai(l),this._renderer=p.createRenderer(null,null),this.setBaseUrl(),e._cache||(e._cache=new Map),e._inProgressReqs||(e._inProgressReqs=new Map)}return e.prototype.getSVG=function(n,t,o){var i=this;o===void 0&&(o=!0);var l=(t?this.getAbsoluteUrl(n):n).replace(/#.+$/,"");if(o&&e._cache.has(l))return Qi(this._cloneSVG(e._cache.get(l)));if(e._inProgressReqs.has(l))return e._inProgressReqs.get(l);var p=this._http.get(l,{responseType:"text"}).pipe(on(function(){e._inProgressReqs.delete(l)}),tn(function(b){return e._inProgressReqs.delete(l),Ji(b.message)}),nn(),ei(function(b){var w=i._svgElementFromString(b);return e._cache.set(l,w),i._cloneSVG(w)}));return e._inProgressReqs.set(l,p),p},e.prototype.setBaseUrl=function(){this._config?this._baseUrl=this._config.baseUrl:this._appBase!==null?this._baseUrl=this._appBase:this._location!==null&&(this._baseUrl=this._location.getBaseHrefFromDOM())},e.prototype.getAbsoluteUrl=function(n){this._baseUrl&&!/^https?:\/\//i.test(n)&&(n=this._baseUrl+n,n.indexOf("//")===0&&(n=n.substring(1)));var t=this._renderer.createElement("BASE");return t.href=n,t.href},e.prototype._svgElementFromString=function(n){var t=this._renderer.createElement("DIV");t.innerHTML=n;var o=t.querySelector("svg");if(!o)throw new Error("No SVG found in loaded contents");return o},e.prototype._cloneSVG=function(n){return n.cloneNode(!0)},e.\u0275fac=function(t){return new(t||e)(qe(fn,8),qe(vn,8),qe(mt,8),qe(ai),qe(gn),qe(ti))},e.\u0275prov=it({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();function mo(e){return e.charAt(0)==="#"||e.indexOf(".svg#")>-1}function uo(){return typeof SVGRect<"u"}function vo(e,n,t){var o=n.querySelector('[id="'.concat(t,'"]'));if(!o)throw new Error('Symbol "'.concat(t,'" not found'));var i=e.createElement("svg","svg");e.appendChild(i,o);var l=e.createElement("use","svg");return e.setAttribute(l,"href","#".concat(t),"xlink"),e.appendChild(i,l),i}function Ni(e,n){for(var t=0;t<n.length;t++){var o=e.getAttribute(n[t]);o&&e.removeAttribute(n[t])}for(var i=e.getElementsByTagName("*"),t=0;t<i.length;t++)Ni(i[t],n)}function fo(e,n){for(var t in n)e.setAttribute(t,n[t])}var U=function(){function e(n,t,o,i,l,p,b,w){this._el=n,this._viewContainerRef=t,this._resolver=o,this._svgCache=i,this._renderer=l,this._inlineSVGService=p,this._config=b,this.platformId=w,this.resolveSVGUrl=!0,this.replaceContents=!0,this.prepend=!1,this.injectComponent=!1,this.cacheSVG=!0,this.forceEvalStyles=!1,this.evalScripts="always",this.onSVGInserted=new We,this.onSVGFailed=new We,this._supportsSVG=uo(),!At(this.platformId)&&!this._supportsSVG&&this._fail("Embed SVG are not supported by this browser")}return e.prototype.ngOnInit=function(){!this._isValidPlatform()||this._isSSRDisabled()||this._insertSVG()},e.prototype.ngOnChanges=function(n){if(!(!this._isValidPlatform()||this._isSSRDisabled())){var t=!!n.setSVGAttributes;(n.inlineSVG||t)&&this._insertSVG(t)}},e.prototype.ngOnDestroy=function(){this._subscription&&this._subscription.unsubscribe()},e.prototype._insertSVG=function(n){var t=this;if(n===void 0&&(n=!1),!(!At(this.platformId)&&!this._supportsSVG)){if(!this.inlineSVG){this._fail("No URL passed to [inlineSVG]");return}!n&&this.inlineSVG===this._prevUrl||(this._prevUrl=this.inlineSVG,this._subscription=this._svgCache.getSVG(this.inlineSVG,this.resolveSVGUrl,this.cacheSVG).subscribe(function(o){if(mo(t.inlineSVG)){var i=t.inlineSVG.split("#")[1];o=vo(t._renderer,o,i)}t._processSvg(o)},function(o){t._fail(o)}))}},e.prototype._processSvg=function(n){if(n){if(this.removeSVGAttributes&&ri(this.platformId)&&Ni(n,this.removeSVGAttributes),this.setSVGAttributes&&fo(n,this.setSVGAttributes),this.onSVGLoaded&&(n=this.onSVGLoaded(n,this._el.nativeElement)),this._insertEl(n),ri(this.platformId)&&this._inlineSVGService.evalScripts(n,this.inlineSVG,this.evalScripts),this.forceEvalStyles){var t=n.querySelectorAll("style");Array.from(t).forEach(function(o){return o.textContent+=""})}this.onSVGInserted.emit(n)}},e.prototype._insertEl=function(n){if(this.injectComponent){if(!this._svgComp){var t=this._resolver.resolveComponentFactory(Fi);this._svgComp=this._viewContainerRef.createComponent(t)}this._svgComp.instance.context=this,this._svgComp.instance.replaceContents=this.replaceContents,this._svgComp.instance.prepend=this.prepend,this._svgComp.instance.content=n,this._renderer.appendChild(this._el.nativeElement,this._svgComp.injector.get(Fi)._el.nativeElement)}else this._inlineSVGService.insertEl(this,this._el.nativeElement,n,this.replaceContents,this.prepend)},e.prototype._fail=function(n){if(this.onSVGFailed.emit(n),this.fallbackImgUrl){var t=this._renderer.createElement("IMG");this._renderer.setAttribute(t,"src",this.fallbackImgUrl),this._insertEl(t)}else this.fallbackSVG&&this.fallbackSVG!==this.inlineSVG&&(this.inlineSVG=this.fallbackSVG,this._insertSVG())},e.prototype._isValidPlatform=function(){return At(this.platformId)||ri(this.platformId)},e.prototype._isSSRDisabled=function(){return At(this.platformId)&&this._config&&this._config.clientOnly},e.\u0275fac=function(t){return new(t||e)(ke(ot),ke(cn),ke(ln),ke(Nt),ke(ii),ke(li),ke(mt,8),ke(sn))},e.\u0275dir=xt({type:e,selectors:[["","inlineSVG",""]],inputs:{inlineSVG:"inlineSVG",resolveSVGUrl:"resolveSVGUrl",replaceContents:"replaceContents",prepend:"prepend",injectComponent:"injectComponent",cacheSVG:"cacheSVG",setSVGAttributes:"setSVGAttributes",removeSVGAttributes:"removeSVGAttributes",forceEvalStyles:"forceEvalStyles",evalScripts:"evalScripts",fallbackImgUrl:"fallbackImgUrl",fallbackSVG:"fallbackSVG",onSVGLoaded:"onSVGLoaded"},outputs:{onSVGInserted:"onSVGInserted",onSVGFailed:"onSVGFailed"},features:[oi([Nt]),nt]}),e}();var $=function(){function e(){}return e.forRoot=function(n){return{ngModule:e,providers:[{provide:mt,useValue:n}]}},e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=_t({type:e}),e.\u0275inj=Ct({}),e}();var ut=function(e){return e.Range="range",e.Steps="steps",e.Positions="positions",e.Count="count",e.Values="values",e}(ut||{}),Oe=function(e){return e[e.None=-1]="None",e[e.NoValue=0]="NoValue",e[e.LargeValue=1]="LargeValue",e[e.SmallValue=2]="SmallValue",e}(Oe||{});function ga(e){return pi(e)&&typeof e.from=="function"}function pi(e){return typeof e=="object"&&typeof e.to=="function"}function go(e){e.parentElement.removeChild(e)}function Oi(e){return e!=null}function ho(e){e.preventDefault()}function ha(e){return e.filter(function(n){return this[n]?!1:this[n]=!0},{})}function Ca(e,n){return Math.round(e/n)*n}function _a(e,n){var t=e.getBoundingClientRect(),o=e.ownerDocument,i=o.documentElement,l=So(o);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(l.x=0),n?t.top+l.y-i.clientTop:t.left+l.x-i.clientLeft}function Ke(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}function Co(e,n,t){t>0&&(He(e,n),setTimeout(function(){ci(e,n)},t))}function _o(e){return Math.max(Math.min(e,100),0)}function di(e){return Array.isArray(e)?e:[e]}function xa(e){e=String(e);var n=e.split(".");return n.length>1?n[1].length:0}function He(e,n){e.classList&&!/\s/.test(n)?e.classList.add(n):e.className+=" "+n}function ci(e,n){e.classList&&!/\s/.test(n)?e.classList.remove(n):e.className=e.className.replace(new RegExp("(^|\\b)"+n.split(" ").join("|")+"(\\b|$)","gi")," ")}function Sa(e,n){return e.classList?e.classList.contains(n):new RegExp("\\b"+n+"\\b").test(e.className)}function So(e){var n=window.pageXOffset!==void 0,t=(e.compatMode||"")==="CSS1Compat",o=n?window.pageXOffset:t?e.documentElement.scrollLeft:e.body.scrollLeft,i=n?window.pageYOffset:t?e.documentElement.scrollTop:e.body.scrollTop;return{x:o,y:i}}function ya(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function ba(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,n)}catch{}return e}function Ta(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function Li(e,n){return 100/(n-e)}function Gi(e,n,t){return n*100/(e[t+1]-e[t])}function Ma(e,n){return Gi(e,e[0]<0?n+Math.abs(e[0]):n-e[0],0)}function wa(e,n){return n*(e[1]-e[0])/100+e[0]}function Ot(e,n){for(var t=1;e>=n[t];)t+=1;return t}function ka(e,n,t){if(t>=e.slice(-1)[0])return 100;var o=Ot(t,e),i=e[o-1],l=e[o],p=n[o-1],b=n[o];return p+Ma([i,l],t)/Li(p,b)}function Ea(e,n,t){if(t>=100)return e.slice(-1)[0];var o=Ot(t,n),i=e[o-1],l=e[o],p=n[o-1],b=n[o];return wa([i,l],(t-p)*Li(p,b))}function Ia(e,n,t,o){if(o===100)return o;var i=Ot(o,e),l=e[i-1],p=e[i];return t?o-l>(p-l)/2?p:l:n[i-1]?e[i-1]+Ca(o-e[i-1],n[i-1]):o}var Va=function(){function e(n,t,o){this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[o||!1],this.xNumSteps=[!1],this.snap=t;var i,l=[];for(Object.keys(n).forEach(function(p){l.push([di(n[p]),p])}),l.sort(function(p,b){return p[0][0]-b[0][0]}),i=0;i<l.length;i++)this.handleEntryPoint(l[i][1],l[i][0]);for(this.xNumSteps=this.xSteps.slice(0),i=0;i<this.xNumSteps.length;i++)this.handleStepPoint(i,this.xNumSteps[i])}return e.prototype.getDistance=function(n){for(var t=[],o=0;o<this.xNumSteps.length-1;o++)t[o]=Gi(this.xVal,n,o);return t},e.prototype.getAbsoluteDistance=function(n,t,o){var i=0;if(n<this.xPct[this.xPct.length-1])for(;n>this.xPct[i+1];)i++;else n===this.xPct[this.xPct.length-1]&&(i=this.xPct.length-2);!o&&n===this.xPct[i+1]&&i++,t===null&&(t=[]);var l,p=1,b=t[i],w=0,V=0,L=0,X=0;for(o?l=(n-this.xPct[i])/(this.xPct[i+1]-this.xPct[i]):l=(this.xPct[i+1]-n)/(this.xPct[i+1]-this.xPct[i]);b>0;)w=this.xPct[i+1+X]-this.xPct[i+X],t[i+X]*p+100-l*100>100?(V=w*l,p=(b-100*l)/t[i+X],l=1):(V=t[i+X]*w/100*p,p=0),o?(L=L-V,this.xPct.length+X>=1&&X--):(L=L+V,this.xPct.length-X>=1&&X++),b=t[i+X]*p;return n+L},e.prototype.toStepping=function(n){return n=ka(this.xVal,this.xPct,n),n},e.prototype.fromStepping=function(n){return Ea(this.xVal,this.xPct,n)},e.prototype.getStep=function(n){return n=Ia(this.xPct,this.xSteps,this.snap,n),n},e.prototype.getDefaultStep=function(n,t,o){var i=Ot(n,this.xPct);return(n===100||t&&n===this.xPct[i-1])&&(i=Math.max(i-1,1)),(this.xVal[i]-this.xVal[i-1])/o},e.prototype.getNearbySteps=function(n){var t=Ot(n,this.xPct);return{stepBefore:{startValue:this.xVal[t-2],step:this.xNumSteps[t-2],highestStep:this.xHighestCompleteStep[t-2]},thisStep:{startValue:this.xVal[t-1],step:this.xNumSteps[t-1],highestStep:this.xHighestCompleteStep[t-1]},stepAfter:{startValue:this.xVal[t],step:this.xNumSteps[t],highestStep:this.xHighestCompleteStep[t]}}},e.prototype.countStepDecimals=function(){var n=this.xNumSteps.map(xa);return Math.max.apply(null,n)},e.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},e.prototype.convert=function(n){return this.getStep(this.toStepping(n))},e.prototype.handleEntryPoint=function(n,t){var o;if(n==="min"?o=0:n==="max"?o=100:o=parseFloat(n),!Ke(o)||!Ke(t[0]))throw new Error("noUiSlider: 'range' value isn't numeric.");this.xPct.push(o),this.xVal.push(t[0]);var i=Number(t[1]);o?this.xSteps.push(isNaN(i)?!1:i):isNaN(i)||(this.xSteps[0]=i),this.xHighestCompleteStep.push(0)},e.prototype.handleStepPoint=function(n,t){if(t){if(this.xVal[n]===this.xVal[n+1]){this.xSteps[n]=this.xHighestCompleteStep[n]=this.xVal[n];return}this.xSteps[n]=Gi([this.xVal[n],this.xVal[n+1]],t,0)/Li(this.xPct[n],this.xPct[n+1]);var o=(this.xVal[n+1]-this.xVal[n])/this.xNumSteps[n],i=Math.ceil(Number(o.toFixed(3))-1),l=this.xVal[n]+this.xNumSteps[n]*i;this.xHighestCompleteStep[n]=l}},e}(),xo={to:function(e){return e===void 0?"":e.toFixed(2)},from:Number},Da={target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",touchArea:"touch-area",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",connects:"connects",ltr:"ltr",rtl:"rtl",textDirectionLtr:"txt-dir-ltr",textDirectionRtl:"txt-dir-rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},st={tooltips:".__tooltips",aria:".__aria"};function Pa(e,n){if(!Ke(n))throw new Error("noUiSlider: 'step' is not numeric.");e.singleStep=n}function Aa(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");e.keyboardPageMultiplier=n}function Ba(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");e.keyboardMultiplier=n}function Ha(e,n){if(!Ke(n))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");e.keyboardDefaultStep=n}function Ra(e,n){if(typeof n!="object"||Array.isArray(n))throw new Error("noUiSlider: 'range' is not an object.");if(n.min===void 0||n.max===void 0)throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'.");e.spectrum=new Va(n,e.snap||!1,e.singleStep)}function Fa(e,n){if(n=di(n),!Array.isArray(n)||!n.length)throw new Error("noUiSlider: 'start' option is incorrect.");e.handles=n.length,e.start=n}function Na(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");e.snap=n}function Oa(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");e.animate=n}function Ga(e,n){if(typeof n!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");e.animationDuration=n}function yo(e,n){var t=[!1],o;if(n==="lower"?n=[!0,!1]:n==="upper"&&(n=[!1,!0]),n===!0||n===!1){for(o=1;o<e.handles;o++)t.push(n);t.push(!1)}else{if(!Array.isArray(n)||!n.length||n.length!==e.handles+1)throw new Error("noUiSlider: 'connect' option doesn't match handle count.");t=n}e.connect=t}function La(e,n){switch(n){case"horizontal":e.ort=0;break;case"vertical":e.ort=1;break;default:throw new Error("noUiSlider: 'orientation' option is invalid.")}}function bo(e,n){if(!Ke(n))throw new Error("noUiSlider: 'margin' option must be numeric.");n!==0&&(e.margin=e.spectrum.getDistance(n))}function ja(e,n){if(!Ke(n))throw new Error("noUiSlider: 'limit' option must be numeric.");if(e.limit=e.spectrum.getDistance(n),!e.limit||e.handles<2)throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.")}function Wa(e,n){var t;if(!Ke(n)&&!Array.isArray(n))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(Array.isArray(n)&&!(n.length===2||Ke(n[0])||Ke(n[1])))throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.");if(n!==0){for(Array.isArray(n)||(n=[n,n]),e.padding=[e.spectrum.getDistance(n[0]),e.spectrum.getDistance(n[1])],t=0;t<e.spectrum.xNumSteps.length-1;t++)if(e.padding[0][t]<0||e.padding[1][t]<0)throw new Error("noUiSlider: 'padding' option must be a positive number(s).");var o=n[0]+n[1],i=e.spectrum.xVal[0],l=e.spectrum.xVal[e.spectrum.xVal.length-1];if(o/(l-i)>1)throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range.")}}function Ua(e,n){switch(n){case"ltr":e.dir=0;break;case"rtl":e.dir=1;break;default:throw new Error("noUiSlider: 'direction' option was not recognized.")}}function $a(e,n){if(typeof n!="string")throw new Error("noUiSlider: 'behaviour' must be a string containing options.");var t=n.indexOf("tap")>=0,o=n.indexOf("drag")>=0,i=n.indexOf("fixed")>=0,l=n.indexOf("snap")>=0,p=n.indexOf("hover")>=0,b=n.indexOf("unconstrained")>=0,w=n.indexOf("invert-connects")>=0,V=n.indexOf("drag-all")>=0,L=n.indexOf("smooth-steps")>=0;if(i){if(e.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");bo(e,e.start[1]-e.start[0])}if(w&&e.handles!==2)throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles");if(b&&(e.margin||e.limit))throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit");e.events={tap:t||l,drag:o,dragAll:V,smoothSteps:L,fixed:i,snap:l,hover:p,unconstrained:b,invertConnects:w}}function za(e,n){if(n!==!1)if(n===!0||pi(n)){e.tooltips=[];for(var t=0;t<e.handles;t++)e.tooltips.push(n)}else{if(n=di(n),n.length!==e.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");n.forEach(function(o){if(typeof o!="boolean"&&!pi(o))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),e.tooltips=n}}function qa(e,n){if(n.length!==e.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");e.handleAttributes=n}function Xa(e,n){if(!pi(n))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");e.ariaFormat=n}function Ka(e,n){if(!ga(n))throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods.");e.format=n}function Ya(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean.");e.keyboardSupport=n}function Za(e,n){e.documentElement=n}function Qa(e,n){if(typeof n!="string"&&n!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");e.cssPrefix=n}function Ja(e,n){if(typeof n!="object")throw new Error("noUiSlider: 'cssClasses' must be an object.");typeof e.cssPrefix=="string"?(e.cssClasses={},Object.keys(n).forEach(function(t){e.cssClasses[t]=e.cssPrefix+n[t]})):e.cssClasses=n}function To(e){var n={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:xo,format:xo},t={step:{r:!1,t:Pa},keyboardPageMultiplier:{r:!1,t:Aa},keyboardMultiplier:{r:!1,t:Ba},keyboardDefaultStep:{r:!1,t:Ha},start:{r:!0,t:Fa},connect:{r:!0,t:yo},direction:{r:!0,t:Ua},snap:{r:!1,t:Na},animate:{r:!1,t:Oa},animationDuration:{r:!1,t:Ga},range:{r:!0,t:Ra},orientation:{r:!1,t:La},margin:{r:!1,t:bo},limit:{r:!1,t:ja},padding:{r:!1,t:Wa},behaviour:{r:!0,t:$a},ariaFormat:{r:!1,t:Xa},format:{r:!1,t:Ka},tooltips:{r:!1,t:za},keyboardSupport:{r:!0,t:Ya},documentElement:{r:!1,t:Za},cssPrefix:{r:!0,t:Qa},cssClasses:{r:!0,t:Ja},handleAttributes:{r:!1,t:qa}},o={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:Da,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(t).forEach(function(w){if(!Oi(e[w])&&o[w]===void 0){if(t[w].r)throw new Error("noUiSlider: '"+w+"' is required.");return}t[w].t(n,Oi(e[w])?e[w]:o[w])}),n.pips=e.pips;var i=document.createElement("div"),l=i.style.msTransform!==void 0,p=i.style.transform!==void 0;n.transformRule=p?"transform":l?"msTransform":"webkitTransform";var b=[["left","top"],["right","bottom"]];return n.style=b[n.dir][n.ort],n}function es(e,n,t){var o=ya(),i=Ta(),l=i&&ba(),p=e,b,w,V,L,X,z,O=n.spectrum,fe=[],Y=[],R=[],le=0,Ge={},et=!1,Ye=e.ownerDocument,lt=n.documentElement||Ye.documentElement,vt=Ye.body,Gt=Ye.dir==="rtl"||n.ort===1?0:100;function ze(d,g){var C=Ye.createElement("div");return g&&He(C,g),d.appendChild(C),C}function hi(d,g){var C=ze(d,n.cssClasses.origin),E=ze(C,n.cssClasses.handle);if(ze(E,n.cssClasses.touchArea),E.setAttribute("data-handle",String(g)),n.keyboardSupport&&(E.setAttribute("tabindex","0"),E.addEventListener("keydown",function(P){return tt(P,g)})),n.handleAttributes!==void 0){var D=n.handleAttributes[g];Object.keys(D).forEach(function(P){E.setAttribute(P,D[P])})}return E.setAttribute("role","slider"),E.setAttribute("aria-orientation",n.ort?"vertical":"horizontal"),g===0?He(E,n.cssClasses.handleLower):g===n.handles-1&&He(E,n.cssClasses.handleUpper),C.handle=E,C}function ct(d,g){return g?ze(d,n.cssClasses.connect):!1}function Ci(d,g){w=ze(g,n.cssClasses.connects),V=[],L=[],L.push(ct(w,d[0]));for(var C=0;C<n.handles;C++)V.push(hi(g,C)),R[C]=C,L.push(ct(w,d[C+1]))}function _i(d){He(d,n.cssClasses.target),n.dir===0?He(d,n.cssClasses.ltr):He(d,n.cssClasses.rtl),n.ort===0?He(d,n.cssClasses.horizontal):He(d,n.cssClasses.vertical);var g=getComputedStyle(d).direction;return g==="rtl"?He(d,n.cssClasses.textDirectionRtl):He(d,n.cssClasses.textDirectionLtr),ze(d,n.cssClasses.base)}function Lt(d,g){return!n.tooltips||!n.tooltips[g]?!1:ze(d.firstChild,n.cssClasses.tooltip)}function jt(){return p.hasAttribute("disabled")}function ft(d){var g=V[d];return g.hasAttribute("disabled")}function Wt(d){d!=null?(V[d].setAttribute("disabled",""),V[d].handle.removeAttribute("tabindex")):(p.setAttribute("disabled",""),V.forEach(function(g){g.handle.removeAttribute("tabindex")}))}function bt(d){d!=null?(V[d].removeAttribute("disabled"),V[d].handle.setAttribute("tabindex","0")):(p.removeAttribute("disabled"),V.forEach(function(g){g.removeAttribute("disabled"),g.handle.setAttribute("tabindex","0")}))}function gt(){z&&(Ie("update"+st.tooltips),z.forEach(function(d){d&&go(d)}),z=null)}function Tt(){gt(),z=V.map(Lt),je("update"+st.tooltips,function(d,g,C){if(!(!z||!n.tooltips)&&z[g]!==!1){var E=d[g];n.tooltips[g]!==!0&&(E=n.tooltips[g].to(C[g])),z[g].innerHTML=E}})}function Ut(){Ie("update"+st.aria),je("update"+st.aria,function(d,g,C,E,D){R.forEach(function(P){var W=V[P],F=Le(Y,P,0,!0,!0,!0),de=Le(Y,P,100,!0,!0,!0),me=D[P],Se=String(n.ariaFormat.to(C[P]));F=O.fromStepping(F).toFixed(1),de=O.fromStepping(de).toFixed(1),me=O.fromStepping(me).toFixed(1),W.children[0].setAttribute("aria-valuemin",F),W.children[0].setAttribute("aria-valuemax",de),W.children[0].setAttribute("aria-valuenow",me),W.children[0].setAttribute("aria-valuetext",Se)})})}function Mt(d){if(d.mode===ut.Range||d.mode===ut.Steps)return O.xVal;if(d.mode===ut.Count){if(d.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var g=d.values-1,C=100/g,E=[];g--;)E[g]=g*C;return E.push(100),ht(E,d.stepped)}return d.mode===ut.Positions?ht(d.values,d.stepped):d.mode===ut.Values?d.stepped?d.values.map(function(D){return O.fromStepping(O.getStep(O.toStepping(D)))}):d.values:[]}function ht(d,g){return d.map(function(C){return O.fromStepping(g?O.getStep(C):C)})}function $t(d){function g(me,Se){return Number((me+Se).toFixed(7))}var C=Mt(d),E={},D=O.xVal[0],P=O.xVal[O.xVal.length-1],W=!1,F=!1,de=0;return C=ha(C.slice().sort(function(me,Se){return me-Se})),C[0]!==D&&(C.unshift(D),W=!0),C[C.length-1]!==P&&(C.push(P),F=!0),C.forEach(function(me,Se){var ye,ie,we,Be=me,Ve=C[Se+1],Pe,yi,bi,Ti,qi,Mi,Xi,Ki=d.mode===ut.Steps;for(Ki&&(ye=O.xNumSteps[Se]),ye||(ye=Ve-Be),Ve===void 0&&(Ve=Be),ye=Math.max(ye,1e-7),ie=Be;ie<=Ve;ie=g(ie,ye)){for(Pe=O.toStepping(ie),yi=Pe-de,qi=yi/(d.density||1),Mi=Math.round(qi),Xi=yi/Mi,we=1;we<=Mi;we+=1)bi=de+we*Xi,E[bi.toFixed(5)]=[O.fromStepping(bi),0];Ti=C.indexOf(ie)>-1?Oe.LargeValue:Ki?Oe.SmallValue:Oe.NoValue,!Se&&W&&ie!==Ve&&(Ti=0),ie===Ve&&F||(E[Pe.toFixed(5)]=[ie,Ti]),de=Pe}}),E}function wt(d,g,C){var E,D,P=Ye.createElement("div"),W=(E={},E[Oe.None]="",E[Oe.NoValue]=n.cssClasses.valueNormal,E[Oe.LargeValue]=n.cssClasses.valueLarge,E[Oe.SmallValue]=n.cssClasses.valueSub,E),F=(D={},D[Oe.None]="",D[Oe.NoValue]=n.cssClasses.markerNormal,D[Oe.LargeValue]=n.cssClasses.markerLarge,D[Oe.SmallValue]=n.cssClasses.markerSub,D),de=[n.cssClasses.valueHorizontal,n.cssClasses.valueVertical],me=[n.cssClasses.markerHorizontal,n.cssClasses.markerVertical];He(P,n.cssClasses.pips),He(P,n.ort===0?n.cssClasses.pipsHorizontal:n.cssClasses.pipsVertical);function Se(ie,we){var Be=we===n.cssClasses.value,Ve=Be?de:me,Pe=Be?W:F;return we+" "+Ve[n.ort]+" "+Pe[ie]}function ye(ie,we,Be){if(Be=g?g(we,Be):Be,Be!==Oe.None){var Ve=ze(P,!1);Ve.className=Se(Be,n.cssClasses.marker),Ve.style[n.style]=ie+"%",Be>Oe.NoValue&&(Ve=ze(P,!1),Ve.className=Se(Be,n.cssClasses.value),Ve.setAttribute("data-value",String(we)),Ve.style[n.style]=ie+"%",Ve.innerHTML=String(C.to(we)))}}return Object.keys(d).forEach(function(ie){ye(ie,d[ie][0],d[ie][1])}),P}function kt(){X&&(go(X),X=null)}function Et(d){kt();var g=$t(d),C=d.filter,E=d.format||{to:function(D){return String(Math.round(D))}};return X=p.appendChild(wt(g,C,E)),X}function zt(){var d=b.getBoundingClientRect(),g="offset"+["Width","Height"][n.ort];return n.ort===0?d.width||b[g]:d.height||b[g]}function Qe(d,g,C,E){var D=function(W){var F=qt(W,E.pageOffset,E.target||g);if(!F||jt()&&!E.doNotReject||Sa(p,n.cssClasses.tap)&&!E.doNotReject||d===o.start&&F.buttons!==void 0&&F.buttons>1||E.hover&&F.buttons)return!1;l||F.preventDefault(),F.calcPoint=F.points[n.ort],C(F,E)},P=[];return d.split(" ").forEach(function(W){g.addEventListener(W,D,l?{passive:!0}:!1),P.push([W,D])}),P}function qt(d,g,C){var E=d.type.indexOf("touch")===0,D=d.type.indexOf("mouse")===0,P=d.type.indexOf("pointer")===0,W=0,F=0;if(d.type.indexOf("MSPointer")===0&&(P=!0),d.type==="mousedown"&&!d.buttons&&!d.touches)return!1;if(E){var de=function(ye){var ie=ye.target;return ie===C||C.contains(ie)||d.composed&&d.composedPath().shift()===C};if(d.type==="touchstart"){var me=Array.prototype.filter.call(d.touches,de);if(me.length>1)return!1;W=me[0].pageX,F=me[0].pageY}else{var Se=Array.prototype.find.call(d.changedTouches,de);if(!Se)return!1;W=Se.pageX,F=Se.pageY}}return g=g||So(Ye),(D||P)&&(W=d.clientX+g.x,F=d.clientY+g.y),d.pageOffset=g,d.points=[W,F],d.cursor=D||P,d}function It(d){var g=d-_a(b,n.ort),C=g*100/zt();return C=_o(C),n.dir?100-C:C}function xi(d){var g=100,C=!1;return V.forEach(function(E,D){if(!ft(D)){var P=Y[D],W=Math.abs(P-d),F=W===100&&g===100,de=W<g,me=W<=g&&d>P;(de||me||F)&&(C=D,g=W)}}),C}function T(d,g){d.type==="mouseout"&&d.target.nodeName==="HTML"&&d.relatedTarget===null&&q(d,g)}function j(d,g){if(navigator.appVersion.indexOf("MSIE 9")===-1&&d.buttons===0&&g.buttonsProperty!==0)return q(d,g);var C=(n.dir?-1:1)*(d.calcPoint-g.startCalcPoint),E=C*100/g.baseSize;Xt(C>0,E,g.locations,g.handleNumbers,g.connect)}function q(d,g){g.handle&&(ci(g.handle,n.cssClasses.active),le-=1),g.listeners.forEach(function(C){lt.removeEventListener(C[0],C[1])}),le===0&&(ci(p,n.cssClasses.drag),Si(),d.cursor&&(vt.style.cursor="",vt.removeEventListener("selectstart",ho))),n.events.smoothSteps&&(g.handleNumbers.forEach(function(C){pt(C,Y[C],!0,!0,!1,!1)}),g.handleNumbers.forEach(function(C){oe("update",C)})),g.handleNumbers.forEach(function(C){oe("change",C),oe("set",C),oe("end",C)})}function ee(d,g){if(!g.handleNumbers.some(ft)){var C;if(g.handleNumbers.length===1){var E=V[g.handleNumbers[0]];C=E.children[0],le+=1,He(C,n.cssClasses.active)}d.stopPropagation();var D=[],P=Qe(o.move,lt,j,{target:d.target,handle:C,connect:g.connect,listeners:D,startCalcPoint:d.calcPoint,baseSize:zt(),pageOffset:d.pageOffset,handleNumbers:g.handleNumbers,buttonsProperty:d.buttons,locations:Y.slice()}),W=Qe(o.end,lt,q,{target:d.target,handle:C,listeners:D,doNotReject:!0,handleNumbers:g.handleNumbers}),F=Qe("mouseout",lt,T,{target:d.target,handle:C,listeners:D,doNotReject:!0,handleNumbers:g.handleNumbers});D.push.apply(D,P.concat(W,F)),d.cursor&&(vt.style.cursor=getComputedStyle(d.target).cursor,V.length>1&&He(p,n.cssClasses.drag),vt.addEventListener("selectstart",ho,!1)),g.handleNumbers.forEach(function(de){oe("start",de)})}}function Ae(d){d.stopPropagation();var g=It(d.calcPoint),C=xi(g);C!==!1&&(n.events.snap||Co(p,n.cssClasses.tap,n.animationDuration),pt(C,g,!0,!0),Si(),oe("slide",C,!0),oe("update",C,!0),n.events.snap?ee(d,{handleNumbers:[C]}):(oe("change",C,!0),oe("set",C,!0)))}function Me(d){var g=It(d.calcPoint),C=O.getStep(g),E=O.fromStepping(C);Object.keys(Ge).forEach(function(D){D.split(".")[0]==="hover"&&Ge[D].forEach(function(P){P.call(Zt,E)})})}function tt(d,g){if(jt()||ft(g))return!1;var C=["Left","Right"],E=["Down","Up"],D=["PageDown","PageUp"],P=["Home","End"];n.dir&&!n.ort?C.reverse():n.ort&&!n.dir&&(E.reverse(),D.reverse());var W=d.key.replace("Arrow",""),F=W===D[0],de=W===D[1],me=W===E[0]||W===C[0]||F,Se=W===E[1]||W===C[1]||de,ye=W===P[0],ie=W===P[1];if(!me&&!Se&&!ye&&!ie)return!0;d.preventDefault();var we;if(Se||me){var Be=me?0:1,Ve=$i(g),Pe=Ve[Be];if(Pe===null)return!1;Pe===!1&&(Pe=O.getDefaultStep(Y[g],me,n.keyboardDefaultStep)),de||F?Pe*=n.keyboardPageMultiplier:Pe*=n.keyboardMultiplier,Pe=Math.max(Pe,1e-7),Pe=(me?-1:1)*Pe,we=fe[g]+Pe}else ie?we=n.spectrum.xVal[n.spectrum.xVal.length-1]:we=n.spectrum.xVal[0];return pt(g,O.toStepping(we),!0,!0),oe("slide",g),oe("update",g),oe("change",g),oe("set",g),!1}function Ee(d){d.fixed||V.forEach(function(g,C){Qe(o.start,g.children[0],ee,{handleNumbers:[C]})}),d.tap&&Qe(o.start,b,Ae,{}),d.hover&&Qe(o.move,b,Me,{hover:!0}),d.drag&&L.forEach(function(g,C){if(!(g===!1||C===0||C===L.length-1)){var E=V[C-1],D=V[C],P=[g],W=[E,D],F=[C-1,C];He(g,n.cssClasses.draggable),d.fixed&&(P.push(E.children[0]),P.push(D.children[0])),d.dragAll&&(W=V,F=R),P.forEach(function(de){Qe(o.start,de,ee,{handles:W,handleNumbers:F,connect:g})})}})}function je(d,g){Ge[d]=Ge[d]||[],Ge[d].push(g),d.split(".")[0]==="update"&&V.forEach(function(C,E){oe("update",E)})}function Re(d){return d===st.aria||d===st.tooltips}function Ie(d){var g=d&&d.split(".")[0],C=g?d.substring(g.length):d;Object.keys(Ge).forEach(function(E){var D=E.split(".")[0],P=E.substring(D.length);(!g||g===D)&&(!C||C===P)&&(!Re(P)||C===P)&&delete Ge[E]})}function oe(d,g,C){Object.keys(Ge).forEach(function(E){var D=E.split(".")[0];d===D&&Ge[E].forEach(function(P){P.call(Zt,fe.map(n.format.to),g,fe.slice(),C||!1,Y.slice(),Zt)})})}function Le(d,g,C,E,D,P,W){var F;return V.length>1&&!n.events.unconstrained&&(E&&g>0&&(F=O.getAbsoluteDistance(d[g-1],n.margin,!1),C=Math.max(C,F)),D&&g<V.length-1&&(F=O.getAbsoluteDistance(d[g+1],n.margin,!0),C=Math.min(C,F))),V.length>1&&n.limit&&(E&&g>0&&(F=O.getAbsoluteDistance(d[g-1],n.limit,!1),C=Math.min(C,F)),D&&g<V.length-1&&(F=O.getAbsoluteDistance(d[g+1],n.limit,!0),C=Math.max(C,F))),n.padding&&(g===0&&(F=O.getAbsoluteDistance(0,n.padding[0],!1),C=Math.max(C,F)),g===V.length-1&&(F=O.getAbsoluteDistance(100,n.padding[1],!0),C=Math.min(C,F))),W||(C=O.getStep(C)),C=_o(C),C===d[g]&&!P?!1:C}function Vt(d,g){var C=n.ort;return(C?g:d)+", "+(C?d:g)}function Xt(d,g,C,E,D){var P=C.slice(),W=E[0],F=n.events.smoothSteps,de=[!d,d],me=[d,!d];E=E.slice(),d&&E.reverse(),E.length>1?E.forEach(function(ye,ie){var we=Le(P,ye,P[ye]+g,de[ie],me[ie],!1,F);we===!1?g=0:(g=we-P[ye],P[ye]=we)}):de=me=[!0];var Se=!1;E.forEach(function(ye,ie){Se=pt(ye,C[ye]+g,de[ie],me[ie],!1,F)||Se}),Se&&(E.forEach(function(ye){oe("update",ye),oe("slide",ye)}),D!=null&&oe("drag",W))}function Kt(d,g){return n.dir?100-d-g:d}function yr(d,g){Y[d]=g,fe[d]=O.fromStepping(g);var C=Kt(g,0)-Gt,E="translate("+Vt(C+"%","0")+")";if(V[d].style[n.transformRule]=E,n.events.invertConnects&&Y.length>1){var D=Y.every(function(P,W,F){return W===0||P>=F[W-1]});if(et!==!D){Er();return}}Dt(d),Dt(d+1),et&&(Dt(d-1),Dt(d+2))}function Si(){R.forEach(function(d){var g=Y[d]>50?-1:1,C=3+(V.length+g*d);V[d].style.zIndex=String(C)})}function pt(d,g,C,E,D,P){return D||(g=Le(Y,d,g,C,E,!1,P)),g===!1?!1:(yr(d,g),!0)}function Dt(d){if(L[d]){var g=Y.slice();et&&g.sort(function(F,de){return F-de});var C=0,E=100;d!==0&&(C=g[d-1]),d!==L.length-1&&(E=g[d]);var D=E-C,P="translate("+Vt(Kt(C,D)+"%","0")+")",W="scale("+Vt(D/100,"1")+")";L[d].style[n.transformRule]=P+" "+W}}function Wi(d,g){return d===null||d===!1||d===void 0||(typeof d=="number"&&(d=String(d)),d=n.format.from(d),d!==!1&&(d=O.toStepping(d)),d===!1||isNaN(d))?Y[g]:d}function Yt(d,g,C){var E=di(d),D=Y[0]===void 0;g=g===void 0?!0:g,n.animate&&!D&&Co(p,n.cssClasses.tap,n.animationDuration),R.forEach(function(F){pt(F,Wi(E[F],F),!0,!1,C)});var P=R.length===1?0:1;if(D&&O.hasNoSize()&&(C=!0,Y[0]=0,R.length>1)){var W=100/(R.length-1);R.forEach(function(F){Y[F]=F*W})}for(;P<R.length;++P)R.forEach(function(F){pt(F,Y[F],!0,!0,C)});Si(),R.forEach(function(F){oe("update",F),E[F]!==null&&g&&oe("set",F)})}function br(d){Yt(n.start,d)}function Tr(d,g,C,E){if(d=Number(d),!(d>=0&&d<R.length))throw new Error("noUiSlider: invalid handle number, got: "+d);pt(d,Wi(g,d),!0,!0,E),oe("update",d),C&&oe("set",d)}function Ui(d){if(d===void 0&&(d=!1),d)return fe.length===1?fe[0]:fe.slice(0);var g=fe.map(n.format.to);return g.length===1?g[0]:g}function Mr(){for(Ie(st.aria),Ie(st.tooltips),Object.keys(n.cssClasses).forEach(function(d){ci(p,n.cssClasses[d])});p.firstChild;)p.removeChild(p.firstChild);delete p.noUiSlider}function $i(d){var g=Y[d],C=O.getNearbySteps(g),E=fe[d],D=C.thisStep.step,P=null;if(n.snap)return[E-C.stepBefore.startValue||null,C.stepAfter.startValue-E||null];D!==!1&&E+D>C.stepAfter.startValue&&(D=C.stepAfter.startValue-E),E>C.thisStep.startValue?P=C.thisStep.step:C.stepBefore.step===!1?P=!1:P=E-C.stepBefore.highestStep,g===100?D=null:g===0&&(P=null);var W=O.countStepDecimals();return D!==null&&D!==!1&&(D=Number(D.toFixed(W))),P!==null&&P!==!1&&(P=Number(P.toFixed(W))),[P,D]}function wr(){return R.map($i)}function kr(d,g){var C=Ui(),E=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];E.forEach(function(P){d[P]!==void 0&&(t[P]=d[P])});var D=To(t);E.forEach(function(P){d[P]!==void 0&&(n[P]=D[P])}),O=D.spectrum,n.margin=D.margin,n.limit=D.limit,n.padding=D.padding,n.pips?Et(n.pips):kt(),n.tooltips?Tt():gt(),Y=[],Yt(Oi(d.start)?d.start:C,g),d.connect&&zi()}function zi(){for(;w.firstChild;)w.removeChild(w.firstChild);for(var d=0;d<=n.handles;d++)L[d]=ct(w,n.connect[d]),Dt(d);Ee({drag:n.events.drag,fixed:!0})}function Er(){et=!et,yo(n,n.connect.map(function(d){return!d})),zi()}function Ir(){b=_i(p),Ci(n.connect,b),Ee(n.events),Yt(n.start),n.pips&&Et(n.pips),n.tooltips&&Tt(),Ut()}Ir();var Zt={destroy:Mr,steps:wr,on:je,off:Ie,get:Ui,set:Yt,setHandle:Tr,reset:br,disable:Wt,enable:bt,__moveHandles:function(d,g,C){Xt(d,g,Y,C)},options:t,updateOptions:kr,target:p,removePips:kt,removeTooltips:gt,getPositions:function(){return Y.slice()},getTooltips:function(){return z},getOrigins:function(){return V},pips:Et};return Zt}function Mo(e,n){if(!e||!e.nodeName)throw new Error("noUiSlider: create requires a single element, got: "+e);if(e.noUiSlider)throw new Error("noUiSlider: Slider was already initialized.");var t=To(n),o=es(e,t,n);return e.noUiSlider=o,o}var ji=class{to(n){return String(parseFloat(parseFloat(String(n)).toFixed(2)))}from(n){return parseFloat(n)}},be=(()=>{class e{constructor(t,o,i){this.ngZone=t,this.el=o,this.renderer=i,this.handles=[],this.config={},this.change=new We(!0),this.update=new We(!0),this.slide=new We(!0),this.set=new We(!0),this.start=new We(!0),this.end=new We(!0),this.onChange=Function.prototype,this.cleanups=[],this.eventHandler=(l,p,b,w)=>{let V=this.toValues(p),L=!1;if(this.value===void 0){this.value=V;return}Array.isArray(V)&&this.value[b]!=V[b]&&(L=!0),!Array.isArray(V)&&this.value!=V&&(L=!0),L&&this.ngZone.run(()=>{l.observers.length>0&&l.emit(V),this.onChange(V)}),Array.isArray(V)?this.value[b]=V[b]:this.value=V},this.defaultKeyHandler=l=>{let p=this.slider.steps(),b=parseInt(l.target.getAttribute("data-handle")),w=1,V=1,L=0,X=0;switch(l.which){case 34:V=this.config.pageSteps;break;case 40:case 37:w=-1,L=p[b][0],l.preventDefault();break;case 33:V=this.config.pageSteps;break;case 38:case 39:L=p[b][1],l.preventDefault();break;default:break}X=w*V*L;let z;Array.isArray(this.value)?(z=[...this.value],z[b]=z[b]+X):z=this.value+X,this.slider.set(z)}}ngOnChanges(t){this.slider&&(t.min||t.max||t.step||t.range)&&this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.updateOptions({range:Object.assign({},{min:this.min,max:this.max},this.range||{}),step:this.step})})})}ngOnDestroy(){var t;for(this.slider.destroy();this.cleanups.length;)(t=this.cleanups.pop())==null||t()}toValues(t){let o=t.map(this.config.format.from);return o.length==1?o[0]:o}writeValue(t){this.slider?this.ngZone.runOutsideAngular(()=>{setTimeout(()=>{this.slider.set(t)})}):t!==null&&(this.value=t,this.createSlider(t))}registerOnChange(t){this.onChange=t}registerOnTouched(t){}setDisabledState(t){t?this.renderer.setAttribute(this.el.nativeElement.childNodes[0],"disabled","true"):this.renderer.removeAttribute(this.el.nativeElement.childNodes[0],"disabled")}createSlider(t){let o=JSON.parse(JSON.stringify({behaviour:this.behaviour,connect:this.connect,limit:this.limit,start:t,step:this.step,pageSteps:this.pageSteps,keyboard:this.keyboard,onKeydown:this.onKeydown,range:this.range||this.config.range||{min:this.min,max:this.max},tooltips:this.tooltips,snap:this.snap,animate:this.animate}));if(o.tooltips=this.tooltips||this.config.tooltips,o.format=this.format||this.config.format||new ji,this.ngZone.runOutsideAngular(()=>{this.slider=Mo(this.el.nativeElement.querySelector("div"),Object.assign(this.config,o))}),this.handles=[].slice.call(this.el.nativeElement.querySelectorAll(".noUi-handle")),this.config.keyboard){this.config.pageSteps===void 0&&(this.config.pageSteps=10);for(let i of this.handles){i.setAttribute("tabindex",0);let l=this.config.onKeydown||this.defaultKeyHandler;this.ngZone.runOutsideAngular(()=>{this.cleanups.push(this.renderer.listen(i,"keydown",l),this.renderer.listen(i,"click",()=>{i.focus()}))})}}this.slider.on("set",(i,l,p)=>{this.eventHandler(this.set,i,l,p)}),this.slider.on("update",(i,l,p)=>{this.update.observers.length>0&&this.ngZone.run(()=>{this.update.emit(this.toValues(i))})}),this.slider.on("change",(i,l,p)=>{this.change.observers.length>0&&this.ngZone.run(()=>{this.change.emit(this.toValues(i))})}),this.slider.on("slide",(i,l,p)=>{this.eventHandler(this.slide,i,l,p)}),this.slider.on("start",(i,l,p)=>{this.start.observers.length>0&&this.ngZone.run(()=>{this.start.emit(this.toValues(i))})}),this.slider.on("end",(i,l,p)=>{this.end.observers.length>0&&this.ngZone.run(()=>{this.end.emit(this.toValues(i))})})}}return e.\u0275fac=function(t){return new(t||e)(ke(an),ke(ot),ke(ii))},e.\u0275cmp=k({type:e,selectors:[["nouislider"]],hostVars:2,hostBindings:function(t,o){t&2&&dn("ng2-nouislider",!0)},inputs:{disabled:"disabled",behaviour:"behaviour",connect:"connect",limit:"limit",min:"min",max:"max",snap:"snap",animate:"animate",range:"range",step:"step",format:"format",pageSteps:"pageSteps",config:"config",keyboard:"keyboard",onKeydown:"onKeydown",tooltips:"tooltips"},outputs:{change:"change",update:"update",slide:"slide",set:"set",start:"start",end:"end"},features:[oi([{provide:hn,useExisting:rn(()=>e),multi:!0}]),nt],decls:1,vars:1,template:function(t,o){t&1&&f(0,"div"),t&2&&I("disabled",o.disabled?!0:void 0)},styles:["[_nghost-%COMP%]{display:block;margin-top:1rem;margin-bottom:1rem}"]}),e})(),Wm=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=_t({type:e}),e.\u0275inj=Ct({imports:[be]}),e})();var wo=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function is(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),s(),a(3,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=_();r(),te("",v(2,6,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,"%"),r(2),u("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),re("ngModel",t.targetRotationSpeed.value)}}var ko=(()=>{class e{$activeModal=N(ve);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new ce;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetMode=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetMode=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadRotationSpeed()}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=100)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-airpurifier-manage"]],inputs:{service:"service"},decls:26,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Air Purifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,is,4,8),s(),f(25,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,8,"form.button_close")),r(4),x(v(8,10,"menu.label_status")),r(5),u("ngClass",H(16,wo,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,12,"accessories.control.off")," "),r(6),u("ngClass",H(19,wo,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,14,"accessories.control.on")," "),r(4),h(i.targetRotationSpeed?24:-1))},dependencies:[ue,_e,xe,be,A,B],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var K=(()=>{class e{duration=350;longclick=ki();shortclick=ki();downTimeout;done=!1;constructor(){}onEnter(t){this.shortclick.emit(t)}onMouseUp(t){clearTimeout(this.downTimeout),this.done||(this.done=!0,this.shortclick.emit(t))}onTouchEnd(t){clearTimeout(this.downTimeout),t.preventDefault(),t.stopPropagation(),this.done||(this.done=!0,this.shortclick.emit(t))}onMouseDown(t){t instanceof MouseEvent&&t.button!==0||(this.done=!1,t instanceof TouchEvent&&(t.preventDefault(),t.stopPropagation()),this.downTimeout=setTimeout(()=>{this.done||(this.done=!0,this.longclick.emit(t))},this.duration))}onMouseMove(){this.done=!0,clearTimeout(this.downTimeout)}ngOnDestroy(){clearTimeout(this.downTimeout)}static \u0275fac=function(o){return new(o||e)};static \u0275dir=xt({type:e,selectors:[["","appLongclick",""]],hostBindings:function(o,i){o&1&&S("keyup.enter",function(p){return i.onEnter(p)})("mouseup",function(p){return i.onMouseUp(p)})("touchend",function(p){return i.onTouchEnd(p)})("touchstart",function(p){return i.onMouseDown(p)})("mousedown",function(p){return i.onMouseDown(p)})("mousemove",function(p){return i.onMouseMove(p)})("touchmove",function(p){return i.onMouseMove(p)})},inputs:{duration:"duration"},outputs:{longclick:"longclick",shortclick:"shortclick"}})}return e})();var ns=(e,n)=>({"switch-on":e,"switch-off":n});function os(e,n){if(e&1&&(f(0,"div",4),m(1,"translate")),e&2){let t=_();u("innerText",v(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function rs(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=_();r(),y("",t.service.values.RotationSpeed,"%")}}var Eo=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed&&this.service.getCharacteristic("RotationSpeed").setValue(100)}onLongClick(){let t=this.$modal.open(ko,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-airpurifier"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,os,2,3,"div",4)(6,rs,2,1,"div",5),s()()),o&2&&(u("ngClass",H(6,ns,i.service.values.Active,!i.service.values.Active)),r(2),u("inlineSVG","/assets/hap-icons/airpurifier.svg"),I("aria-label","Air Purifier"),r(2),x(i.service.customName||i.service.serviceName),r(),h(!i.service.values.RotationSpeed||!i.service.values.Active?5:-1),r(),h(i.service.values.RotationSpeed&&i.service.values.Active?6:-1))},dependencies:[K,B,$,U,A],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var as=e=>({"switch-on":e}),ss=(e,n)=>({"grey-text":e,"red-text":n}),Io=(()=>{class e{service;labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-airqualitysensor"]],inputs:{service:"service"},decls:7,vars:11,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"ngClass"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(u("ngClass",J(6,as,i.service.values.AirQuality>3)),r(2),u("inlineSVG","/assets/hap-icons/airquality.svg"),I("aria-label","Switch"),r(2),x(i.service.customName||i.service.serviceName),r(),u("ngClass",H(8,ss,i.service.values.AirQuality<4,i.service.values.AirQuality>3)),r(),y(" ",i.labels[i.service.values.AirQuality]," "))},dependencies:[B,$,U],encapsulation:2})}return e})();var ls=e=>({lowbattery:e});function cs(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.battery_notcharging")))}function ps(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.battery_charging")))}function ds(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.battery_notchargeable")))}var Vo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-battery"]],inputs:{service:"service"},decls:9,vars:11,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"batterylevel-circle",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),m(3,"number"),a(4,"div",3),c(5),s(),M(6,cs,3,3,"div",4)(7,ps,3,3,"div",4)(8,ds,3,3,"div",4),s()()),o&2&&(r(2),u("innerText",ge(3,6,i.service.values.BatteryLevel||0,"1.0-0")+"%")("ngClass",J(9,ls,i.service.values.StatusLowBattery===1)),r(3),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.ChargingState===0?6:-1),r(),h(i.service.values.ChargingState===1?7:-1),r(),h(i.service.values.ChargingState===2?8:-1))},dependencies:[B,Fe,A],styles:[".batterylevel-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;padding:6% 0;border-radius:50%;font-size:16px;line-height:35px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.batterylevel-circle[_ngcontent-%COMP%]{width:31px;font-size:10px;margin-bottom:7px;line-height:20px}}.lowbattery[_ngcontent-%COMP%]{background-color:#f80;color:#fff}"]})}return e})();var ms=(e,n)=>({"switch-on":e,"switch-off":n});function us(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function vs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var Do=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-carbondioxidesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,us,3,3,"div",4)(6,vs,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,ms,i.service.values.CarbonDioxideDetected,!i.service.values.CarbonDioxideDetected)),r(2),u("inlineSVG","/assets/hap-icons/smokesensor.svg"),I("aria-label","Carbon Dioxide Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.CarbonDioxideDetected?5:-1),r(),h(i.service.values.CarbonDioxideDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var fs=(e,n)=>({"switch-on":e,"switch-off":n});function gs(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function hs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var Po=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-carbonmonoxidesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,gs,3,3,"div",4)(6,hs,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,fs,i.service.values.CarbonMonoxideDetected,!i.service.values.CarbonMonoxideDetected)),r(2),u("inlineSVG","/assets/hap-icons/smokesensor.svg"),I("aria-label","Carbon Monoxide Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.CarbonMonoxideDetected?5:-1),r(),h(i.service.values.CarbonMonoxideDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var Cs=(e,n)=>({"switch-on":e,"switch-off":n});function _s(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/contactsensor-open.svg"),I("aria-label","Switch"))}function xs(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/contactsensor-closed.svg"),I("aria-label","Switch"))}function Ss(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.open")))}function ys(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.closed")))}var Ao=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-contactsensor"]],inputs:{service:"service"},decls:8,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),M(2,_s,1,2,"div",2)(3,xs,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,Ss,3,3,"div",4)(7,ys,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,Cs,i.service.values.ContactSensorState,!i.service.values.ContactSensorState)),r(2),h(i.service.values.ContactSensorState?2:-1),r(),h(i.service.values.ContactSensorState?-1:3),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.ContactSensorState?6:-1),r(),h(i.service.values.ContactSensorState?-1:7))},dependencies:[B,$,U,A],styles:["body.dark-mode .switch-off svg .contact_sensor_split_line{fill:#2b2b2b}"]})}return e})();function bs(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function Ts(e,n){if(e&1&&(c(0),m(1,"translate"),a(2,"span",8),c(3),s()),e&2){let t=_(2);y(" ",v(1,2,"accessories.control.open")," "),r(3),y(" (",t.service.values.CurrentPosition,"%)")}}function Ms(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function ws(e,n){if(e&1&&M(0,bs,2,3)(1,Ts,4,4)(2,Ms,2,3),e&2){let t=_();h(t.service.values.CurrentPosition===0?0:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?1:-1),r(),h(t.service.values.CurrentPosition===100?2:-1)}}function ks(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.opening"),"... ")}function Es(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closing"),"... ")}var Bo=(()=>{class e{$activeModal=N(ve);service;targetMode;targetPosition;targetPositionChanged=new ce;constructor(){this.targetPositionChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-door-manage"]],inputs:{service:"service"},decls:17,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mb-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"],[1,"grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6",5),c(7),m(8,"translate"),M(9,ws,3,3)(10,ks,2,3)(11,Es,2,3),s(),a(12,"h6"),c(13),m(14,"translate"),s(),a(15,"nouislider",6),se("ngModelChange",function(p){return ae(i.targetPosition.value,p)||(i.targetPosition.value=p),p}),S("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),f(16,"div",7),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,12,"form.button_close")),r(4),y(" ",v(8,14,"menu.label_status"),": "),r(2),h(i.service.values.PositionState===2?9:-1),r(),h(i.service.values.PositionState===1?10:-1),r(),h(i.service.values.PositionState===0?11:-1),r(2),te("",v(14,16,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),u("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),re("ngModel",i.targetPosition.value))},dependencies:[be,ue,_e,xe,A],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var Is=e=>({"window-on":e});function Vs(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/door-closed.svg"),I("aria-label","Door"))}function Ds(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/door-open.svg"),I("aria-label","Door"))}function Ps(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function As(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.CurrentPosition,"% ")}}function Bs(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function Hs(e,n){if(e&1&&(a(0,"div",4),M(1,Ps,2,3)(2,As,1,1)(3,Bs,2,3),s()),e&2){let t=_();r(),h(t.service.values.CurrentPosition===0?1:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),h(t.service.values.CurrentPosition===100?3:-1)}}function Rs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.opening"),"..."))}function Fs(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.closing"),"..."))}var Ho=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Bo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-door"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Vs,1,2,"div",2)(3,Ds,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,Hs,4,3,"div",4)(7,Rs,3,3,"div",5)(8,Fs,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,Is,i.service.values.TargetPosition)),r(2),h(i.service.values.TargetPosition?-1:2),r(),h(i.service.values.TargetPosition?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.PositionState===2?6:-1),r(),h(i.service.values.PositionState===1?7:-1),r(),h(i.service.values.PositionState===0?8:-1))},dependencies:[K,B,$,U,A],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var mi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Ns(e,n){e&1&&c(0,"%")}function Os(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),M(3,Ns,1,0),s(),a(4,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=_();r(),te(" ",v(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,""),r(2),h(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),u("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),re("ngModel",t.targetRotationSpeed.value)}}function Gs(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),s(),a(3,"div",14)(4,"button",6),S("click",function(i){return Z(t),_().setRotationDirection(0),Q(i.target.blur())}),a(5,"div",7),f(6,"i",8),s(),c(7),m(8,"translate"),a(9,"div",9),f(10,"i",10),s()(),a(11,"button",6),S("click",function(i){return Z(t),_().setRotationDirection(1),Q(i.target.blur())}),a(12,"div",7),f(13,"i",8),s(),c(14),m(15,"translate"),a(16,"div",9),f(17,"i",10),s()()()}if(e&2){let t=_();r(),x(v(2,5,"accessories.control.rotation_direction")),r(5),u("ngClass",H(11,mi,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),y(" ",v(8,7,"accessories.control.rotation_clockwise")," "),r(6),u("ngClass",H(14,mi,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),y(" ",v(15,9,"accessories.control.rotation_c_clockwise")," ")}}var Ro=(()=>{class e{$activeModal=N(ve);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new ce;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadRotationSpeed(),this.service.serviceCharacteristics.find(t=>t.type==="RotationDirection")&&(this.hasRotationDirection=!0)}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t){this.service.getCharacteristic("RotationDirection").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-fan-manage"]],inputs:{service:"service"},decls:27,vars:23,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(!1),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(!0),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,Os,5,9)(25,Gs,18,17),s(),f(26,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,9,"form.button_close")),r(4),x(v(8,11,"menu.label_status")),r(5),u("ngClass",H(17,mi,!i.targetMode,i.targetMode)),r(),y(" ",v(14,13,"accessories.control.off")," "),r(6),u("ngClass",H(20,mi,i.targetMode,!i.targetMode)),r(),y(" ",v(21,15,"accessories.control.on")," "),r(4),h(i.targetRotationSpeed?24:-1),r(),h(i.hasRotationDirection?25:-1))},dependencies:[ue,_e,xe,be,A,B],encapsulation:2})}return e})();var Ls=e=>({"switch-on":e}),js=(e,n)=>({spin:e,"spin-counter":n});function Ws(e,n){e&1&&f(0,"img",2)}function Us(e,n){if(e&1&&f(0,"img",3),e&2){let t=_();u("ngClass",H(1,js,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function $s(e,n){if(e&1&&(f(0,"div",5),m(1,"translate")),e&2){let t=_();u("innerText",v(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function zs(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=_();r(),te("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit,"")}}var Fo=(()=>{class e{$modal=N(pe);service;rotationSpeedUnit="";hasRotationDirection=!1;constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%"),this.service.serviceCharacteristics.find(o=>o.type==="RotationDirection")&&(this.hasRotationDirection=!0)}onClick(){if(this.service.getCharacteristic("On").setValue(!this.service.values.On),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open(Ro,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-fan"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Ws,1,0,"img",2)(3,Us,1,4,"img",3),a(4,"div",4),c(5),s(),M(6,$s,2,3,"div",5)(7,zs,2,2,"div",6),s()()),o&2&&(u("ngClass",J(6,Ls,i.service.values.On)),r(2),h(i.service.values.On?-1:2),r(),h(i.service.values.On?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(!i.service.values.RotationSpeed||!i.service.values.On?6:-1),r(),h(i.service.values.RotationSpeed&&i.service.values.On?7:-1))},dependencies:[K,B,A],encapsulation:2})}return e})();var No=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),Oo=(e,n)=>({"btn-primary":e,"btn-elegant":n});function qs(e,n){e&1&&c(0,"%")}function Xs(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),M(3,qs,1,0),s(),a(4,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=_();r(),te(" ",v(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,""),r(2),h(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),u("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),re("ngModel",t.targetRotationSpeed.value)}}function Ks(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),s(),a(3,"div",14)(4,"button",15),S("click",function(){Z(t);let i=_();return Q(i.setRotationDirection(0))}),c(5),m(6,"translate"),s(),a(7,"button",15),S("click",function(){Z(t);let i=_();return Q(i.setRotationDirection(1))}),c(8),m(9,"translate"),s()()}if(e&2){let t=_();r(),x(v(2,5,"accessories.control.rotation_direction")),r(3),u("ngClass",H(11,Oo,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),y(" ",v(6,7,"accessories.control.rotation_clockwise")," "),r(2),u("ngClass",H(14,Oo,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),y(" ",v(9,9,"accessories.control.rotation_c_clockwise")," ")}}var Go=(()=>{class e{$activeModal=N(ve);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new ce;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetMode=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetMode=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadRotationSpeed(),this.service.serviceCharacteristics.find(t=>t.type==="RotationDirection")&&(this.hasRotationDirection=!0)}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep,unit:t.unit})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode),this.targetMode&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}setRotationDirection(t){this.service.getCharacteristic("RotationDirection").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-fanv2-manage"]],inputs:{service:"service"},decls:27,vars:23,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Fan Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","px-0","py-3",3,"click","ngClass"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,Xs,5,9)(25,Ks,10,17),s(),f(26,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,9,"form.button_close")),r(4),x(v(8,11,"menu.label_status")),r(5),u("ngClass",H(17,No,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,13,"accessories.control.off")," "),r(6),u("ngClass",H(20,No,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,15,"accessories.control.on")," "),r(4),h(i.targetRotationSpeed?24:-1),r(),h(i.hasRotationDirection?25:-1))},dependencies:[ue,_e,xe,be,A,B],encapsulation:2})}return e})();var Ys=e=>({"switch-on":e}),Zs=(e,n)=>({spin:e,"spin-counter":n});function Qs(e,n){e&1&&f(0,"img",2)}function Js(e,n){if(e&1&&f(0,"img",3),e&2){let t=_();u("ngClass",H(1,Zs,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function el(e,n){if(e&1&&(f(0,"div",5),m(1,"translate")),e&2){let t=_();u("innerText",v(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function tl(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=_();r(),te("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit,"")}}var Lo=(()=>{class e{$modal=N(pe);service;rotationSpeedUnit="";hasRotationDirection=!1;constructor(){}ngOnInit(){let t=this.service.serviceCharacteristics.find(o=>o.type==="RotationSpeed");t&&t.unit==="percentage"&&(this.rotationSpeedUnit="%"),this.service.serviceCharacteristics.find(o=>o.type==="RotationDirection")&&(this.hasRotationDirection=!0)}onClick(){if(this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1),!this.service.values.On&&"RotationSpeed"in this.service.values&&!this.service.values.RotationSpeed){let t=this.service.getCharacteristic("RotationSpeed");t.setValue(t.maxValue)}}onLongClick(){let t=this.$modal.open(Go,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-fanv2"]],inputs:{service:"service"},decls:8,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],["src","/assets/hap-icons/fan-off.svg","alt","Fan",1,"accessory-img"],["src","/assets/hap-icons/fan-on.svg","alt","Fan",1,"accessory-img",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Qs,1,0,"img",2)(3,Js,1,4,"img",3),a(4,"div",4),c(5),s(),M(6,el,2,3,"div",5)(7,tl,2,2,"div",6),s()()),o&2&&(u("ngClass",J(6,Ys,i.service.values.Active)),r(2),h(i.service.values.Active?-1:2),r(),h(i.service.values.Active?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(!i.service.values.RotationSpeed||!i.service.values.Active?6:-1),r(),h(i.service.values.RotationSpeed&&i.service.values.Active?7:-1))},dependencies:[K,B,A],encapsulation:2})}return e})();var il=e=>({"switch-on":e}),nl=(e,n)=>({"red-text":e,"grey-text":n});function ol(e,n){if(e&1&&(f(0,"div",4),m(1,"translate")),e&2){let t=_();u("innerText",v(1,2,t.service.values.CurrentDoorState?"accessories.control.closed":"accessories.control.open"))("ngClass",H(4,nl,!t.service.values.CurrentDoorState,t.service.values.CurrentDoorState))}}function rl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.opening"),"..."))}function al(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.closing"),"..."))}function sl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.stopped")))}var jo=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("TargetDoorState").setValue(this.service.values.TargetDoorState?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-garagedooropener"]],inputs:{service:"service"},decls:9,vars:10,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label",3,"innerText","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,ol,2,7,"div",4)(6,rl,3,3,"div",5)(7,al,3,3,"div",5)(8,sl,3,3,"div",5),s()()),o&2&&(u("ngClass",J(8,il,i.service.values.CurrentDoorState===0||i.service.values.CurrentDoorState===2)),r(2),u("inlineSVG","/assets/hap-icons/garagedoor.svg"),I("aria-label","Garage Door"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.CurrentDoorState<2?5:-1),r(),h(i.service.values.CurrentDoorState===2?6:-1),r(),h(i.service.values.CurrentDoorState===3?7:-1),r(),h(i.service.values.CurrentDoorState===4?8:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var ll=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),ui=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function cl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),m(3,"convertTemp"),m(4,"number"),m(5,"convertTemp"),m(6,"number"),s(),a(7,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.autoTemp,i)||(l.autoTemp=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onTemperatureStateChange())}),s()}if(e&2){let t=_(2);r(),ni(" ",v(2,7,"accessories.control.target"),": ",ge(4,11,v(3,9,t.autoTemp[0]),"1.0-1"),"\xB0 - ",ge(6,16,v(5,14,t.autoTemp[1]),"1.0-1"),"\xB0 "),r(6),u("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),re("ngModel",t.autoTemp)}}function pl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),m(3,"convertTemp"),m(4,"number"),s(),a(5,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onTemperatureStateChange())}),s()}if(e&2){let t=_(2);r(),te("",v(2,6,"accessories.control.target"),": ",ge(4,10,v(3,8,t.targetHeatingTemp),"1.0-1"),"\xB0"),r(4),u("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),re("ngModel",t.targetHeatingTemp)}}function dl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),m(3,"convertTemp"),m(4,"number"),s(),a(5,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onTemperatureStateChange())}),s()}if(e&2){let t=_(2);r(),te("",v(2,6,"accessories.control.target"),": ",ge(4,10,v(3,8,t.targetCoolingTemp),"1.0-1"),"\xB0"),r(4),u("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),re("ngModel",t.targetCoolingTemp)}}function ml(e,n){if(e&1&&M(0,cl,8,19)(1,pl,6,13)(2,dl,6,13),e&2){let t,o=_();h((t=o.targetMode)===0?0:t===1?1:t===2?2:-1)}}var Wo=(()=>{class e{$activeModal=N(ve);service;targetMode;targetTemperatureChanged=new ce;CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;constructor(){this.targetTemperatureChanged.pipe(Te(300)).subscribe(()=>{switch(this.targetMode){case 0:this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.autoTemp[0]),this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.autoTemp[1]);break;case 1:this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp);break;case 2:this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp);break}})}ngOnInit(){this.targetMode=this.service.values.Active?this.service.values.TargetHeaterCoolerState:"off",this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.loadTargetTemperature()}loadTargetTemperature(){var t,o;this.targetCoolingTemp=(t=this.service.getCharacteristic("CoolingThresholdTemperature"))==null?void 0:t.value,this.targetHeatingTemp=(o=this.service.getCharacteristic("HeatingThresholdTemperature"))==null?void 0:o.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}setTargetMode(t){this.targetMode=t,this.targetMode==="off"?this.service.getCharacteristic("Active").setValue(0):(this.service.getCharacteristic("Active").value===0&&this.service.getCharacteristic("Active").setValue(1),this.service.getCharacteristic("TargetHeaterCoolerState").setValue(this.targetMode)),this.loadTargetTemperature()}onTemperatureStateChange(){this.targetTemperatureChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-heatercooler-manage"]],inputs:{service:"service"},decls:40,vars:44,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"temperature-circle","mb-3",3,"innerText","ngClass"],["role","group","aria-label","Heater Cooler Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),f(6,"div",5),m(7,"convertTemp"),m(8,"number"),a(9,"div",6)(10,"button",7),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",8),f(12,"i",9),s(),c(13),m(14,"translate"),a(15,"div",10),f(16,"i",11),s()(),a(17,"button",7),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",8),f(19,"i",9),s(),c(20),m(21,"translate"),a(22,"div",10),f(23,"i",11),s()(),a(24,"button",7),S("click",function(p){return i.setTargetMode(2),p.target.blur()}),a(25,"div",8),f(26,"i",9),s(),c(27),m(28,"translate"),a(29,"div",10),f(30,"i",11),s()(),a(31,"button",7),S("click",function(p){return i.setTargetMode("off"),p.target.blur()}),a(32,"div",8),f(33,"i",9),s(),c(34),m(35,"translate"),a(36,"div",10),f(37,"i",11),s()()(),M(38,ml,3,1),s(),f(39,"div",12),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,13,"form.button_close")),r(3),u("innerText",ge(8,17,v(7,15,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",Ue(28,ll,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),r(6),u("ngClass",H(32,ui,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,20,"accessories.control.auto")," "),r(6),u("ngClass",H(35,ui,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,22,"accessories.control.heat")," "),r(6),u("ngClass",H(38,ui,i.targetMode===2,i.targetMode!==2)),r(),y(" ",v(28,24,"accessories.control.cool")," "),r(6),u("ngClass",H(41,ui,i.targetMode==="off",i.targetMode!=="off")),r(),y(" ",v(35,26,"accessories.control.off")," "),r(4),h(i.service.values.Active===1&&i.HeatingThresholdTemperature&&i.CoolingThresholdTemperature?38:-1))},dependencies:[B,ue,_e,xe,be,Fe,A,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var ul=e=>({"switch-on":e}),vl=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function fl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function gl(e,n){if(e&1&&(c(0),m(1,"convertTemp"),m(2,"number")),e&2){let t=_(2);y(" ",ge(2,3,v(1,1,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0 ")}}function hl(e,n){if(e&1&&(c(0),m(1,"convertTemp"),m(2,"number")),e&2){let t=_(2);y(" ",ge(2,3,v(1,1,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0 ")}}function Cl(e,n){if(e&1&&(c(0),m(1,"convertTemp"),m(2,"number"),m(3,"convertTemp"),m(4,"number")),e&2){let t=_(2);te(" ",ge(2,4,v(1,2,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0-",ge(4,9,v(3,7,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0 ")}}function _l(e,n){if(e&1&&(a(0,"div",4),M(1,gl,3,6)(2,hl,3,6)(3,Cl,5,12),s()),e&2){let t,o=_();r(),h((t=o.service.values.TargetHeaterCoolerState)===1?1:t===2?2:t===0?3:-1)}}function xl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.on")))}var Uo=(()=>{class e{$modal=N(pe);service;model=1;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(Wo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-heatercooler"]],inputs:{service:"service"},decls:10,vars:18,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s(),M(7,fl,3,3,"div",4)(8,_l,4,1,"div",4)(9,xl,3,3,"div",4),s()()),o&2&&(u("ngClass",J(12,ul,i.service.values.Active===1)),r(2),u("innerText",ge(4,9,v(3,7,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",Ue(14,vl,i.service.values.CurrentHeaterCoolerState===3&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState===2&&i.service.values.Active===1,i.service.values.CurrentHeaterCoolerState<2&&i.service.values.Active===1)),r(4),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.Active===0?7:-1),r(),h(i.service.values.Active===1&&i.service.getCharacteristic("CoolingThresholdTemperature")&&i.service.getCharacteristic("HeatingThresholdTemperature")?8:-1),r(),h(i.service.values.Active===1&&(!i.service.getCharacteristic("CoolingThresholdTemperature")||!i.service.getCharacteristic("HeatingThresholdTemperature"))?9:-1))},dependencies:[K,B,Fe,A,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Sl=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t}),vi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function yl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),s(),a(3,"nouislider",14),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.autoHumidity,i)||(l.autoHumidity=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onHumidityStateChange())}),s()}if(e&2){let t=_(2);r(),ni("",v(2,7,"accessories.control.target"),": ",t.autoHumidity[0],"% - ",t.autoHumidity[1],"%"),r(2),u("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),re("ngModel",t.autoHumidity)}}function bl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),s(),a(3,"nouislider",14),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.targetHumidifierHumidity,i)||(l.targetHumidifierHumidity=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onHumidityStateChange())}),s()}if(e&2){let t=_(2);r(),te("",v(2,6,"accessories.control.target"),": ",t.targetHumidifierHumidity,"%"),r(2),u("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityHumidifierThreshold.maxValue)("step",t.RelativeHumidityHumidifierThreshold.minStep),re("ngModel",t.targetHumidifierHumidity)}}function Tl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),s(),a(3,"nouislider",14),se("ngModelChange",function(i){Z(t);let l=_(2);return ae(l.targetDehumidifierHumidity,i)||(l.targetDehumidifierHumidity=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_(2);return Q(i.onHumidityStateChange())}),s()}if(e&2){let t=_(2);r(),te("",v(2,6,"accessories.control.target"),": ",t.targetDehumidifierHumidity,"%"),r(2),u("min",t.RelativeHumidityDehumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),re("ngModel",t.targetDehumidifierHumidity)}}function Ml(e,n){if(e&1&&M(0,yl,4,9)(1,bl,4,8)(2,Tl,4,8),e&2){let t,o=_();h((t=o.targetMode)===0?0:t===1?1:t===2?2:-1)}}var $o=(()=>{class e{$activeModal=N(ve);service;targetMode;targetHumidityChanged=new ce;RelativeHumidityDehumidifierThreshold;RelativeHumidityHumidifierThreshold;targetDehumidifierHumidity;targetHumidifierHumidity;autoHumidity;constructor(){this.targetHumidityChanged.pipe(Te(300)).subscribe(()=>{switch(this.targetMode){case 0:this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.autoHumidity[0]),this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.autoHumidity[1]);break;case 1:this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.targetHumidifierHumidity);break;case 2:this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.targetDehumidifierHumidity);break}})}ngOnInit(){this.targetMode=this.service.values.Active?this.service.values.TargetHumidifierDehumidifierState:"off",this.RelativeHumidityDehumidifierThreshold=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"),this.RelativeHumidityHumidifierThreshold=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.loadTargetHumidity()}loadTargetHumidity(){var t,o;this.targetDehumidifierHumidity=(t=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"))==null?void 0:t.value,this.targetHumidifierHumidity=(o=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"))==null?void 0:o.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity]}setTargetMode(t){this.targetMode=t,this.targetMode==="off"?this.service.getCharacteristic("Active").setValue(0):(this.service.getCharacteristic("Active").value===0&&this.service.getCharacteristic("Active").setValue(1),this.service.getCharacteristic("TargetHumidifierDehumidifierState").setValue(this.targetMode)),this.loadTargetHumidity()}onHumidityStateChange(){this.targetHumidityChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-humidifierdehumidifier-manage"]],inputs:{service:"service"},decls:39,vars:39,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"humidity-drop","mb-3",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],["role","group","aria-label","Humidifier Dehumidifier Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5),f(7,"div",6),s(),a(8,"div",7)(9,"button",8),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(10,"div",9),f(11,"i",10),s(),c(12),m(13,"translate"),a(14,"div",11),f(15,"i",12),s()(),a(16,"button",8),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(17,"div",9),f(18,"i",10),s(),c(19),m(20,"translate"),a(21,"div",11),f(22,"i",12),s()(),a(23,"button",8),S("click",function(p){return i.setTargetMode(2),p.target.blur()}),a(24,"div",9),f(25,"i",10),s(),c(26),m(27,"translate"),a(28,"div",11),f(29,"i",12),s()(),a(30,"button",8),S("click",function(p){return i.setTargetMode("off"),p.target.blur()}),a(31,"div",9),f(32,"i",10),s(),c(33),m(34,"translate"),a(35,"div",11),f(36,"i",12),s()()(),M(37,Ml,3,1),s(),f(38,"div",13),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,13,"form.button_close")),r(3),u("ngClass",Ue(23,Sl,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),r(),u("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(4),u("ngClass",H(27,vi,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(13,15,"accessories.control.auto")," "),r(6),u("ngClass",H(30,vi,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(20,17,"accessories.control.humidifying")," "),r(6),u("ngClass",H(33,vi,i.targetMode===2,i.targetMode!==2)),r(),y(" ",v(27,19,"accessories.control.dehumidifying")," "),r(6),u("ngClass",H(36,vi,i.targetMode==="off",i.targetMode!=="off")),r(),y(" ",v(34,21,"accessories.control.off")," "),r(4),h(i.service.values.Active===1&&i.RelativeHumidityHumidifierThreshold&&i.RelativeHumidityDehumidifierThreshold?37:-1))},dependencies:[B,ue,_e,xe,be,A],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}.humidifying[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.dehumidifying[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var wl=e=>({"switch-on":e}),kl=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t});function El(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function Il(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% ")}}function Vl(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function Dl(e,n){if(e&1&&c(0),e&2){let t=_(2);te(" ",t.service.values.RelativeHumidityHumidifierThreshold,"%-",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function Pl(e,n){if(e&1&&(a(0,"div",5),M(1,Il,1,1)(2,Vl,1,1)(3,Dl,1,2),s()),e&2){let t,o=_();r(),h((t=o.service.values.TargetHumidifierDehumidifierState)===1?1:t===2?2:t===0?3:-1)}}function Al(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.on")))}var zo=(()=>{class e{$modal=N(pe);service;model=1;constructor(){}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open($o,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-humidifierdehumidifier"]],inputs:{service:"service"},decls:9,vars:13,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),f(3,"div",3),s(),a(4,"div",4),c(5),s(),M(6,El,3,3,"div",5)(7,Pl,4,1,"div",5)(8,Al,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,wl,i.service.values.Active===1)),r(2),u("ngClass",Ue(9,kl,i.service.values.CurrentHumidifierDehumidifierState===3&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===2&&i.service.values.Active===1,i.service.values.CurrentHumidifierDehumidifierState===1&&i.service.values.Active===1)),r(),u("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.Active===0?6:-1),r(),h(i.service.values.Active===1&&i.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")&&i.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?7:-1),r(),h(i.service.values.Active===1&&(!i.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")||!i.service.getCharacteristic("RelativeHumidityHumidifierThreshold"))?8:-1))},dependencies:[K,B,A],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}.humidifying[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.dehumidifying[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var qo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-humiditysensor"]],inputs:{service:"service"},decls:6,vars:2,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"humidity-drop","humidity-drop-collapse"],[1,"humidity-drop-text",3,"innerText"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),f(3,"div",3),s(),a(4,"div",4),c(5),s()()()),o&2&&(r(3),u("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),x(i.service.customName||i.service.serviceName))},styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:5% 55% 70%;font-size:15px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}@media (max-width: 575px){.humidity-drop-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px;margin-top:5px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg)}"]})}return e})();var Bl=(e,n)=>({"switch-on":e,"switch-off":n});function Hl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.running")))}function Rl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}var Xo=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-irrigationsystem"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","",1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,Hl,3,3,"div",4)(6,Rl,3,3,"div",4),s()()),o&2&&(u("ngClass",H(6,Bl,i.service.values.InUse,!i.service.values.InUse)),r(2),u("inlineSVG","/assets/hap-icons/irrigation-system.svg"),I("aria-label","Irrigation Valve"),r(2),y(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),h(i.service.values.InUse?5:-1),r(),h(i.service.values.InUse?-1:6))},dependencies:[K,B,$,U,A],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();var Fl=(e,n)=>({"switch-on":e,"switch-off":n});function Nl(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function Ol(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var Ko=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-leaksensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,Nl,3,3,"div",4)(6,Ol,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,Fl,i.service.values.LeakDetected,!i.service.values.LeakDetected)),r(2),u("inlineSVG","/assets/hap-icons/leaksensor.svg"),I("aria-label","Leak Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.LeakDetected?5:-1),r(),h(i.service.values.LeakDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .leak_sensor_droplet{fill:#e0e0e0} .switch-off svg .leak_sensor_trigger_lines{display:none} .switch-off svg .leak_sensor_background{fill:gray} body.dark-mode .switch-off svg .leak_sensor_droplet{fill:#2b2b2b}"]})}return e})();var Yo=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Gl(e,n){if(e&1){let t=Ce();a(0,"h6"),c(1),m(2,"translate"),s(),a(3,"nouislider",12),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetBrightness.value,i)||(l.targetBrightness.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onBrightnessStateChange())}),s()}if(e&2){let t=_();r(),te("",v(2,6,"accessories.control.brightness"),": ",t.targetBrightness.value,"%"),r(2),u("min",t.targetBrightness.min)("max",t.targetBrightness.max)("step",t.targetBrightness.step),re("ngModel",t.targetBrightness.value)}}var Zo=(()=>{class e{$activeModal=N(ve);service;targetMode;targetBrightness;targetBrightnessChanged=new ce;constructor(){this.targetBrightnessChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("Brightness").setValue(this.targetBrightness.value),this.targetBrightness.value&&!this.service.values.On?(this.targetMode=!0,this.service.getCharacteristic("On").setValue(this.targetMode)):!this.targetBrightness.value&&this.service.values.On&&(this.targetMode=!1,this.service.getCharacteristic("On").setValue(this.targetMode))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetBrightness()}loadTargetBrightness(){let t=this.service.getCharacteristic("Brightness");t&&(this.targetBrightness={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetBrightness&&!this.targetBrightness.value&&(this.targetBrightness.value=100)}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-lightbulb-manage"]],inputs:{service:"service"},decls:26,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Lightbulb Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(!1),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(!0),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,Gl,4,8),s(),f(25,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,8,"form.button_close")),r(4),x(v(8,10,"menu.label_status")),r(5),u("ngClass",H(16,Yo,!i.targetMode,i.targetMode)),r(),y(" ",v(14,12,"accessories.control.off")," "),r(6),u("ngClass",H(19,Yo,i.targetMode,!i.targetMode)),r(),y(" ",v(21,14,"accessories.control.on")," "),r(4),h(i.targetBrightness?24:-1))},dependencies:[ue,_e,xe,be,A,B],encapsulation:2})}return e})();var Ll=e=>({"light-on":e});function jl(e,n){if(e&1&&(f(0,"div",4),m(1,"translate")),e&2){let t=_();u("innerText",v(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function Wl(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=_();r(),y("",t.service.values.Brightness,"%")}}var Qo=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On),!this.service.values.On&&"Brightness"in this.service.values&&!this.service.values.Brightness&&this.service.getCharacteristic("Brightness").setValue(100)}onLongClick(){if("Brightness"in this.service.values){let t=this.$modal.open(Zo,{size:"md"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-lightbulb"]],inputs:{service:"service"},decls:7,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,jl,2,3,"div",4)(6,Wl,2,1,"div",5),s()()),o&2&&(u("ngClass",J(6,Ll,i.service.values.On)),r(2),u("inlineSVG","/assets/hap-icons/lightbulb.svg"),I("aria-label","Light Bulb"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.Brightness?-1:5),r(),h(i.service.values.Brightness?6:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();function Ul(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"number"),s()),e&2){let t=_();r(),y("",ge(2,1,t.service.values.CurrentAmbientLightLevel,"0.1-1")," lux")}}function $l(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"number"),s()),e&2){let t=_();r(),y("",ge(2,1,t.service.values.CurrentAmbientLightLevel,"1.0-0")," lux")}}var Jo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-lightsensor"]],inputs:{service:"service"},decls:7,vars:5,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,Ul,3,4,"div",4)(6,$l,3,4,"div",4),s()()),o&2&&(r(2),u("inlineSVG","/assets/hap-icons/light.svg"),I("aria-label","Light Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.CurrentAmbientLightLevel<1?5:-1),r(),h(i.service.values.CurrentAmbientLightLevel>=1?6:-1))},dependencies:[$,U,Fe],encapsulation:2})}return e})();var zl=e=>({"switch-on":e}),ql=(e,n)=>({"red-text":e,"grey-text":n});function Xl(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/lock-unlocked.svg"),I("aria-label","Unlocked"))}function Kl(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/lock-locked.svg"),I("aria-label","Locked"))}function Yl(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/unknown.svg"),I("aria-label","Error"))}function Zl(e,n){if(e&1&&(f(0,"div",4),m(1,"translate")),e&2){let t=_();u("innerText",v(1,2,t.service.values.LockCurrentState?"accessories.control.locked":"accessories.control.unlocked"))("ngClass",H(4,ql,!t.service.values.LockCurrentState,t.service.values.LockCurrentState))}}function Ql(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.jammed")))}function Jl(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.unknown")))}var er=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("LockTargetState").setValue(this.service.values.LockTargetState?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-lockmechanism"]],inputs:{service:"service"},decls:10,vars:10,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText","ngClass"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Xl,1,2,"div",2)(3,Kl,1,2,"div",2)(4,Yl,1,2,"div",2),a(5,"div",3),c(6),s(),M(7,Zl,2,7,"div",4)(8,Ql,3,3,"div",5)(9,Jl,3,3,"div",5),s()()),o&2&&(u("ngClass",J(8,zl,i.service.values.LockCurrentState===0)),r(2),h(i.service.values.LockCurrentState===0?2:-1),r(),h(i.service.values.LockCurrentState===1?3:-1),r(),h(i.service.values.LockCurrentState>1?4:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.LockCurrentState<2?7:-1),r(),h(i.service.values.LockCurrentState===2?8:-1),r(),h(i.service.values.LockCurrentState===3?9:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var ec=(e,n)=>({"switch-on":e,"switch-off":n});function tc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function ic(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var tr=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-motionsensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,tc,3,3,"div",4)(6,ic,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,ec,i.service.values.MotionDetected,!i.service.values.MotionDetected)),r(2),u("inlineSVG","/assets/hap-icons/motionsensor.svg"),I("aria-label","Motion Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.MotionDetected?5:-1),r(),h(i.service.values.MotionDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .motion_sensor_person, .switch-off svg .motion_sensor_trail_lines{fill:#e0e0e0} .switch-off svg .motion_sensor_trigger_lines{display:none} .switch-off svg .motion_sensor_background{fill:gray} body.dark-mode .switch-off svg .motion_sensor_person, body.dark-mode .switch-off svg .motion_sensor_trail_lines{fill:#2b2b2b}"]})}return e})();var nc=(e,n)=>({"switch-on":e,"switch-off":n});function oc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function rc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var ir=(()=>{class e{service;constructor(){}onClick(){console.log("short click")}onLongClick(){console.log("long clicked")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-occupancysensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,oc,3,3,"div",4)(6,rc,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,nc,i.service.values.OccupancyDetected,!i.service.values.OccupancyDetected)),r(2),u("inlineSVG","/assets/hap-icons/occupancysensor.svg"),I("aria-label","Occupancy Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.OccupancyDetected?5:-1),r(),h(i.service.values.OccupancyDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .occupancy_sensor_person{fill:#e0e0e0} .switch-off svg .occupancy_sensor_trigger_lines{display:none} .switch-off svg .occupancy_sensor_background{fill:gray} body.dark-mode .switch-off svg .occupancy_sensor_person{fill:#2b2b2b}"]})}return e})();var ac=e=>({"switch-on":e}),nr=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-outlet"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),f(5,"div",4),m(6,"translate"),s()()),o&2&&(u("ngClass",J(7,ac,i.service.values.On)),r(2),u("inlineSVG","/assets/hap-icons/outlet.svg"),I("aria-label","Outlet"),r(2),x(i.service.customName||i.service.serviceName),r(),u("innerText",v(6,5,i.service.values.On?"accessories.control.on":"accessories.control.off")))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var sc=["class","manage"],fi=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),or=(()=>{class e{$activeModal=N(ve);service;targetMode;constructor(){}ngOnInit(){this.targetMode=this.service.values.SecuritySystemTargetState}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("SecuritySystemTargetState").setValue(this.targetMode)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-securitysystem",8,"manage"]],inputs:{service:"service"},attrs:sc,decls:39,vars:35,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Security System Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()(),a(24,"button",6),S("click",function(p){return i.setTargetMode(2),p.target.blur()}),a(25,"div",7),f(26,"i",8),s(),c(27),m(28,"translate"),a(29,"div",9),f(30,"i",10),s()(),a(31,"button",6),S("click",function(p){return i.setTargetMode(3),p.target.blur()}),a(32,"div",7),f(33,"i",8),s(),c(34),m(35,"translate"),a(36,"div",9),f(37,"i",10),s()()()(),f(38,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,11,"form.button_close")),r(4),x(v(8,13,"menu.label_status")),r(5),u("ngClass",H(23,fi,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,15,"accessories.control.home")," "),r(6),u("ngClass",H(26,fi,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,17,"accessories.control.away")," "),r(6),u("ngClass",H(29,fi,i.targetMode===2,i.targetMode!==2)),r(),y(" ",v(28,19,"accessories.control.night")," "),r(6),u("ngClass",H(32,fi,i.targetMode===3,i.targetMode!==3)),r(),y(" ",v(35,21,"accessories.control.off")," "))},dependencies:[ue,A,B],encapsulation:2})}return e})();var lc=e=>({"switch-on":e});function cc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/securitysystem-active.svg"),I("aria-label","Armed"))}function pc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/securitysystem-off.svg"),I("aria-label","Disarmed"))}function dc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.home")))}function mc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.away")))}function uc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.night")))}function vc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function fc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.triggered")))}var rr=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){let t=this.$modal.open(or,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-securitysystem"]],inputs:{service:"service"},decls:11,vars:7,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){if(o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,cc,1,2,"div",2)(3,pc,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,dc,3,3,"div",4)(7,mc,3,3,"div",4)(8,uc,3,3,"div",4)(9,vc,3,3,"div",5)(10,fc,3,3,"div",5),s()()),o&2){let l;u("ngClass",J(5,lc,i.service.values.SecuritySystemCurrentState!==3)),r(2),h(i.service.values.SecuritySystemCurrentState!==3?2:-1),r(),h(i.service.values.SecuritySystemCurrentState===3?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h((l=i.service.values.SecuritySystemCurrentState)===0?6:l===1?7:l===2?8:l===3?9:l===4?10:-1)}},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var gc=(e,n)=>({"switch-on":e,"switch-off":n});function hc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.detected")))}function Cc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_detected")))}var ar=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-smokesensor"]],inputs:{service:"service"},decls:7,vars:9,consts:[[1,"accessory-box",3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,hc,3,3,"div",4)(6,Cc,3,3,"div",5),s()()),o&2&&(u("ngClass",H(6,gc,i.service.values.SmokeDetected,!i.service.values.SmokeDetected)),r(2),u("inlineSVG","/assets/hap-icons/smokesensor.svg"),I("aria-label","Smoke Sensor"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.SmokeDetected?5:-1),r(),h(i.service.values.SmokeDetected?-1:6))},dependencies:[B,$,U,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var sr=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function _c(e,n){if(e&1){let t=Ce();a(0,"h6",12),c(1),m(2,"translate"),s(),a(3,"nouislider",13),se("ngModelChange",function(i){Z(t);let l=_();return ae(l.targetVolume.value,i)||(l.targetVolume.value=i),Q(i)}),S("ngModelChange",function(){Z(t);let i=_();return Q(i.onVolumeStateChange())}),s()}if(e&2){let t=_();r(),te("",v(2,6,"accessories.control.speaker_volume"),": ",t.targetVolume.value,"%"),r(2),u("min",t.targetVolume.min)("max",t.targetVolume.max)("step",t.targetVolume.step),re("ngModel",t.targetVolume.value)}}var lr=(()=>{class e{$activeModal=N(ve);service;targetMode;targetVolume;targetVolumeChanged=new ce;constructor(){this.targetVolumeChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)})}ngOnInit(){this.targetMode=this.service.values.Mute,this.loadTargetVolume()}loadTargetVolume(){let t=this.service.getCharacteristic("Volume");t&&(this.targetVolume={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Mute").setValue(this.targetMode)}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-speaker-manage"]],inputs:{service:"service"},decls:26,vars:22,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],["role","group","aria-label","Speaker Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[1,"modal-footer"],[1,"mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6"),c(7),m(8,"translate"),s(),a(9,"div",5)(10,"button",6),S("click",function(p){return i.setTargetMode(!1),p.target.blur()}),a(11,"div",7),f(12,"i",8),s(),c(13),m(14,"translate"),a(15,"div",9),f(16,"i",10),s()(),a(17,"button",6),S("click",function(p){return i.setTargetMode(!0),p.target.blur()}),a(18,"div",7),f(19,"i",8),s(),c(20),m(21,"translate"),a(22,"div",9),f(23,"i",10),s()()(),M(24,_c,4,8),s(),f(25,"div",11),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,8,"form.button_close")),r(4),x(v(8,10,"menu.label_status")),r(5),u("ngClass",H(16,sr,!i.targetMode,i.targetMode)),r(),y(" ",v(14,12,"accessories.control.not_mute")," "),r(6),u("ngClass",H(19,sr,i.targetMode,!i.targetMode)),r(),y(" ",v(21,14,"accessories.control.mute")," "),r(4),h(i.targetVolume?24:-1))},dependencies:[ue,_e,xe,be,A,B],encapsulation:2})}return e})();var xc=e=>({"switch-on":e});function Sc(e,n){e&1&&(f(0,"div",4),m(1,"translate")),e&2&&u("innerText",v(1,1,"accessories.control.mute"))}function yc(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=_();r(),y("",t.service.values.Volume,"%")}}function bc(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.not_mute")))}var cr=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.getCharacteristic("Mute").setValue(!this.service.values.Mute)}onLongClick(){if("Volume"in this.service.values){let t=this.$modal.open(lr,{size:"md"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-speaker"]],inputs:{service:"service"},decls:8,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","red-text",3,"innerText"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,Sc,2,3,"div",4)(6,yc,2,1,"div",5)(7,bc,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,xc,!i.service.values.Mute)),r(2),u("inlineSVG","/assets/hap-icons/speaker.svg"),I("aria-label","Speaker"),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.Mute?5:-1),r(),h(i.service.values.Volume!==void 0&&!i.service.values.Mute?6:-1),r(),h(i.service.values.Volume===void 0&&!i.service.values.Mute?7:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var pr=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-statelessprogrammableswitch"]],inputs:{service:"service"},decls:5,vars:3,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s()()()),o&2&&(r(2),u("inlineSVG","/assets/hap-icons/statelessprogrammableswitch.svg"),I("aria-label","Stateless Programmable Switch"),r(2),x(i.service.customName||i.service.serviceName))},dependencies:[$,U],encapsulation:2})}return e})();var Tc=e=>({"switch-on":e}),dr=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-switch"]],inputs:{service:"service"},decls:7,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text",3,"innerText"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),f(5,"div",4),m(6,"translate"),s()()),o&2&&(u("ngClass",J(7,Tc,i.service.values.On)),r(2),u("inlineSVG","/assets/hap-icons/switch.svg"),I("aria-label","Switch"),r(2),x(i.service.customName||i.service.serviceName),r(),u("innerText",v(6,5,i.service.values.On?"accessories.control.on":"accessories.control.off")))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var Mc=e=>({"switch-on":e});function wc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function kc(e,n){if(e&1&&(a(0,"div",4),c(1),s()),e&2){let t=_();r(),x(t.channelList[t.service.values.ActiveIdentifier])}}var mr=(()=>{class e{service;channelList={};constructor(){}ngOnInit(){for(let[,t]of Object.entries(this.service.linkedServices))this.channelList[t.values.Identifier]=t.values.ConfiguredName}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-television"]],inputs:{service:"service"},decls:7,vars:8,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),M(5,wc,3,3,"div",4)(6,kc,2,1,"div",4),s()()),o&2&&(u("ngClass",J(6,Mc,i.service.values.Active)),r(2),u("inlineSVG","/assets/hap-icons/television.svg"),I("aria-label","Television"),r(2),y(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),h(i.service.values.Active?-1:5),r(),h(i.service.values.Active?6:-1))},dependencies:[K,B,$,U,A],encapsulation:2})}return e})();var ur=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-temperaturesensor"]],inputs:{service:"service"},decls:7,vars:7,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText"],[1,"accessory-label","mt-auto"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s()()()),o&2&&(r(2),u("innerText",ge(4,4,v(3,2,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"),r(4),x(i.service.customName||i.service.serviceName))},dependencies:[Fe,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}"]})}return e})();var Ec=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),gi=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),vr=(()=>{class e{$activeModal=N(ve);service;targetMode;targetTemperature;targetTemperatureChanged=new ce;constructor(){this.targetTemperatureChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("TargetTemperature").setValue(this.targetTemperature.value)})}ngOnInit(){this.targetMode=this.service.values.TargetHeatingCoolingState,this.loadTargetTemperature()}loadTargetTemperature(){let t=this.service.getCharacteristic("TargetTemperature");this.targetTemperature={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep}}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHeatingCoolingState").setValue(this.targetMode)}onTemperatureStateChange(){this.targetTemperatureChanged.next(this.targetTemperature.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-thermostat-manage"]],inputs:{service:"service"},decls:45,vars:56,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"temperature-circle","mb-3",3,"innerText","ngClass"],["role","group","aria-label","Thermostat Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-0","p-0"],["type","button",1,"btn","mb-0","mx-0","p-3","btn-control",3,"click"],[1,"float-start","primary-text"],[1,"fas","fa-fw","fa-xl",3,"ngClass"],[1,"float-end"],[1,"fas","fa-fw","fa-xl","fa-blank"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),f(6,"div",5),m(7,"convertTemp"),m(8,"number"),a(9,"div",6)(10,"button",7),S("click",function(p){return i.setTargetMode(0),p.target.blur()}),a(11,"div",8),f(12,"i",9),s(),c(13),m(14,"translate"),a(15,"div",10),f(16,"i",11),s()(),a(17,"button",7),S("click",function(p){return i.setTargetMode(1),p.target.blur()}),a(18,"div",8),f(19,"i",9),s(),c(20),m(21,"translate"),a(22,"div",10),f(23,"i",11),s()(),a(24,"button",7),S("click",function(p){return i.setTargetMode(2),p.target.blur()}),a(25,"div",8),f(26,"i",9),s(),c(27),m(28,"translate"),a(29,"div",10),f(30,"i",11),s()(),a(31,"button",7),S("click",function(p){return i.setTargetMode(3),p.target.blur()}),a(32,"div",8),f(33,"i",9),s(),c(34),m(35,"translate"),a(36,"div",10),f(37,"i",11),s()()(),a(38,"h6"),c(39),m(40,"translate"),m(41,"convertTemp"),m(42,"number"),s(),a(43,"nouislider",12),se("ngModelChange",function(p){return ae(i.targetTemperature.value,p)||(i.targetTemperature.value=p),p}),S("ngModelChange",function(){return i.onTemperatureStateChange()}),s()(),f(44,"div",13),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,18,"form.button_close")),r(3),u("innerText",ge(8,22,v(7,20,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",Ue(40,Ec,i.service.values.CurrentHeatingCoolingState===2&&i.service.values.TargetHeatingCoolingState>0,i.service.values.CurrentHeatingCoolingState===1&&i.service.values.TargetHeatingCoolingState>0,i.service.values.TargetHeatingCoolingState>0&&i.service.values.CurrentHeatingCoolingState===0)),r(6),u("ngClass",H(44,gi,i.targetMode===0,i.targetMode!==0)),r(),y(" ",v(14,25,"accessories.control.off")," "),r(6),u("ngClass",H(47,gi,i.targetMode===1,i.targetMode!==1)),r(),y(" ",v(21,27,"accessories.control.heat")," "),r(6),u("ngClass",H(50,gi,i.targetMode===2,i.targetMode!==2)),r(),y(" ",v(28,29,"accessories.control.cool")," "),r(6),u("ngClass",H(53,gi,i.targetMode===3,i.targetMode!==3)),r(),y(" ",v(35,31,"accessories.control.auto")," "),r(5),te(" ",v(40,33,"accessories.control.target"),": ",ge(42,37,v(41,35,i.targetTemperature.value),"1.0-1"),"\xB0 "),r(4),u("min",i.targetTemperature.min)("max",i.targetTemperature.max)("step",i.targetTemperature.step),re("ngModel",i.targetTemperature.value))},dependencies:[B,ue,_e,xe,be,Fe,A,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var Ic=e=>({"switch-on":e}),Vc=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function Dc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}function Pc(e,n){if(e&1&&(a(0,"div",4),c(1),m(2,"convertTemp"),m(3,"number"),s()),e&2){let t=_();r(),y(" ",ge(3,3,v(2,1,t.service.values.TargetTemperature),"1.0-1"),"\xB0 ")}}var fr=(()=>{class e{$modal=N(pe);service;model=1;constructor(){}onClick(){let t=this.$modal.open(vr,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-thermostat"]],inputs:{service:"service"},decls:9,vars:17,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"temperature-circle","temperature-circle-collapse",3,"innerText","ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),f(2,"div",2),m(3,"convertTemp"),m(4,"number"),a(5,"div",3),c(6),s(),M(7,Dc,3,3,"div",4)(8,Pc,4,6,"div",4),s()()),o&2&&(u("ngClass",J(11,Ic,i.service.values.TargetHeatingCoolingState>0)),r(2),u("innerText",ge(4,8,v(3,6,i.service.values.CurrentTemperature),"1.0-1")+"\xB0")("ngClass",Ue(13,Vc,i.service.values.CurrentHeatingCoolingState===2&&i.service.values.TargetHeatingCoolingState>0,i.service.values.CurrentHeatingCoolingState===1&&i.service.values.TargetHeatingCoolingState>0,i.service.values.TargetHeatingCoolingState>0&&i.service.values.CurrentHeatingCoolingState===0)),r(4),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.TargetHeatingCoolingState===0?7:-1),r(),h(i.service.values.TargetHeatingCoolingState?8:-1))},dependencies:[K,B,Fe,A,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:15px;text-align:center;margin-bottom:6px;background-color:gray;color:#d3d3d3}@media (max-width: 575px){.temperature-circle-collapse[_ngcontent-%COMP%]{width:31px;height:31px;line-height:31px;font-size:10px;margin-bottom:7px}}.cooling[_ngcontent-%COMP%]{background-color:#33b5e5;color:#fff}.heating[_ngcontent-%COMP%]{background-color:#f80;color:#fff}.no-current-state[_ngcontent-%COMP%]{background-color:#42d672;color:#fff;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out}"]})}return e})();var gr=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-unknown"]],inputs:{service:"service"},decls:7,vars:4,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(r(2),u("inlineSVG","/assets/hap-icons/unknown.svg"),I("aria-label","Switch"),r(2),x(i.service.customName||i.service.serviceName),r(2),x(i.service.humanType))},dependencies:[$,U],encapsulation:2})}return e})();var Ac=(e,n)=>({"switch-on":e,"switch-off":n});function Bc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/valve-generic.svg"),I("aria-label","Valve"))}function Hc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/valve-irrigation.svg"),I("aria-label","Valve"))}function Rc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/valve-showerhead.svg"),I("aria-label","Valve"))}function Fc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/valve-waterfaucet.svg"),I("aria-label","Valve"))}function Nc(e,n){if(e&1&&(a(0,"div",4),c(1),s()),e&2){let t=_();r(),x(t.remainingDuration)}}function Oc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.running")))}function Gc(e,n){e&1&&(a(0,"div",4),c(1),m(2,"translate"),s()),e&2&&(r(),x(v(2,1,"accessories.control.off")))}var hr=(()=>{class e{service;secondsActive=0;remainingDuration;remainingDurationInterval=en(1e3).pipe(Pt(()=>this.isActive()));remainingDurationSubscription;constructor(){}ngOnInit(){this.service.getCharacteristic("RemainingDuration")&&this.setupRemainingDurationCounter()}isActive(){return this.service&&this.service.values?this.service.getCharacteristic("Active").value===1?!0:(this.resetRemainingDuration(),!1):!1}setupRemainingDurationCounter(){this.remainingDurationSubscription=this.remainingDurationInterval.subscribe(()=>{this.secondsActive++;let t=this.service.getCharacteristic("RemainingDuration").value-this.secondsActive;t>0?this.remainingDuration=t<3600?new Date(t*1e3).toISOString().substring(14,19):new Date(t*1e3).toISOString().substring(11,19):this.remainingDuration=""})}resetRemainingDuration(){this.secondsActive=0,this.service.getCharacteristic("RemainingDuration")&&(this.remainingDuration="")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}ngOnDestroy(){this.remainingDurationSubscription&&this.remainingDurationSubscription.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-valve"]],inputs:{service:"service"},decls:11,vars:12,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Bc,1,2,"div",2)(3,Hc,1,2,"div",2)(4,Rc,1,2,"div",2)(5,Fc,1,2,"div",2),a(6,"div",3),c(7),s(),M(8,Nc,2,1,"div",4)(9,Oc,3,3,"div",4)(10,Gc,3,3,"div",4),s()()),o&2&&(u("ngClass",H(9,Ac,i.service.values.Active,!i.service.values.Active)),r(2),h(i.service.values.ValveType===0?2:-1),r(),h(i.service.values.ValveType===1?3:-1),r(),h(i.service.values.ValveType===2?4:-1),r(),h(i.service.values.ValveType===3?5:-1),r(2),y(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),h(i.service.values.Active&&i.remainingDuration?8:-1),r(),h(i.service.values.Active&&!i.remainingDuration?9:-1),r(),h(i.service.values.Active?-1:10))},dependencies:[K,B,$,U,A],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();function Lc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function jc(e,n){if(e&1&&(c(0),m(1,"translate"),a(2,"span",8),c(3),s()),e&2){let t=_(2);y(" ",v(1,2,"accessories.control.open")," "),r(3),y(" (",t.service.values.CurrentPosition,"%)")}}function Wc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function Uc(e,n){if(e&1&&M(0,Lc,2,3)(1,jc,4,4)(2,Wc,2,3),e&2){let t=_();h(t.service.values.CurrentPosition===0?0:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?1:-1),r(),h(t.service.values.CurrentPosition===100?2:-1)}}function $c(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.opening"),"... ")}function zc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closing"),"... ")}var Cr=(()=>{class e{$activeModal=N(ve);service;targetMode;targetPosition;targetPositionChanged=new ce;constructor(){this.targetPositionChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-window-manage"]],inputs:{service:"service"},decls:17,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mb-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"],[1,"grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6",5),c(7),m(8,"translate"),M(9,Uc,3,3)(10,$c,2,3)(11,zc,2,3),s(),a(12,"h6"),c(13),m(14,"translate"),s(),a(15,"nouislider",6),se("ngModelChange",function(p){return ae(i.targetPosition.value,p)||(i.targetPosition.value=p),p}),S("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),f(16,"div",7),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,12,"form.button_close")),r(4),y(" ",v(8,14,"menu.label_status"),": "),r(2),h(i.service.values.PositionState===2?9:-1),r(),h(i.service.values.PositionState===1?10:-1),r(),h(i.service.values.PositionState===0?11:-1),r(2),te("",v(14,16,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),u("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),re("ngModel",i.targetPosition.value))},dependencies:[be,ue,_e,xe,A],styles:[".window-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var qc=e=>({"window-on":e});function Xc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/window-closed.svg"),I("aria-label","Window"))}function Kc(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/window-open.svg"),I("aria-label","Window"))}function Yc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function Zc(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.CurrentPosition,"% ")}}function Qc(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function Jc(e,n){if(e&1&&(a(0,"div",4),M(1,Yc,2,3)(2,Zc,1,1)(3,Qc,2,3),s()),e&2){let t=_();r(),h(t.service.values.CurrentPosition===0?1:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),h(t.service.values.CurrentPosition===100?3:-1)}}function ep(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.opening"),"..."))}function tp(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.closing"),"..."))}var _r=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(Cr,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-window"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,Xc,1,2,"div",2)(3,Kc,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,Jc,4,3,"div",4)(7,ep,3,3,"div",5)(8,tp,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,qc,i.service.values.TargetPosition)),r(2),h(i.service.values.TargetPosition?-1:2),r(),h(i.service.values.TargetPosition?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.PositionState===2?6:-1),r(),h(i.service.values.PositionState===1?7:-1),r(),h(i.service.values.PositionState===0?8:-1))},dependencies:[K,B,$,U,A],styles:[".window-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function ip(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function np(e,n){if(e&1&&(c(0),m(1,"translate"),a(2,"span",8),c(3),s()),e&2){let t=_(2);y(" ",v(1,2,"accessories.control.open")," "),r(3),y(" (",t.service.values.CurrentPosition,"%)")}}function op(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function rp(e,n){if(e&1&&M(0,ip,2,3)(1,np,4,4)(2,op,2,3),e&2){let t=_();h(t.service.values.CurrentPosition===0?0:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?1:-1),r(),h(t.service.values.CurrentPosition===100?2:-1)}}function ap(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.opening"),"... ")}function sp(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closing"),"... ")}var xr=(()=>{class e{$activeModal=N(ve);service;targetMode;targetPosition;targetPositionChanged=new ce;constructor(){this.targetPositionChanged.pipe(Te(300),De()).subscribe(()=>{this.service.getCharacteristic("CurrentPosition").value<this.targetPosition.value?this.service.values.PositionState=1:this.service.getCharacteristic("CurrentPosition").value>this.targetPosition.value&&(this.service.values.PositionState=0),this.service.getCharacteristic("TargetPosition").setValue(this.targetPosition.value)})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetPosition()}loadTargetPosition(){let t=this.service.getCharacteristic("TargetPosition");t&&(this.targetPosition={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep})}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-windowcovering-manage"]],inputs:{service:"service"},decls:17,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title",3,"innerText"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","text-center","px-5"],[1,"mb-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"modal-footer"],[1,"grey-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),f(2,"h5",2),a(3,"button",3),m(4,"translate"),S("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"h6",5),c(7),m(8,"translate"),M(9,rp,3,3)(10,ap,2,3)(11,sp,2,3),s(),a(12,"h6"),c(13),m(14,"translate"),s(),a(15,"nouislider",6),se("ngModelChange",function(p){return ae(i.targetPosition.value,p)||(i.targetPosition.value=p),p}),S("ngModelChange",function(){return i.onTargetPositionChange()}),s()(),f(16,"div",7),s()),o&2&&(r(2),u("innerText",i.service.customName||i.service.serviceName),r(),I("aria-label",v(4,12,"form.button_close")),r(4),y(" ",v(8,14,"menu.label_status"),": "),r(2),h(i.service.values.PositionState===2?9:-1),r(),h(i.service.values.PositionState===1?10:-1),r(),h(i.service.values.PositionState===0?11:-1),r(2),te("",v(14,16,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),u("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),re("ngModel",i.targetPosition.value))},dependencies:[be,ue,_e,xe,A],styles:[".windowcovering-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var lp=e=>({"window-on":e});function cp(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/windowcovering-closed.svg"),I("aria-label","Window Covering"))}function pp(e,n){e&1&&f(0,"div",2),e&2&&(u("inlineSVG","/assets/hap-icons/windowcovering-open.svg"),I("aria-label","Window Covering"))}function dp(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.closed")," ")}function mp(e,n){if(e&1&&c(0),e&2){let t=_(2);y(" ",t.service.values.CurrentPosition,"% ")}}function up(e,n){e&1&&(c(0),m(1,"translate")),e&2&&y(" ",v(1,1,"accessories.control.open")," ")}function vp(e,n){if(e&1&&(a(0,"div",4),M(1,dp,2,3)(2,mp,1,1)(3,up,2,3),s()),e&2){let t=_();r(),h(t.service.values.CurrentPosition===0?1:-1),r(),h(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),h(t.service.values.CurrentPosition===100?3:-1)}}function fp(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.opening"),"..."))}function gp(e,n){e&1&&(a(0,"div",5),c(1),m(2,"translate"),s()),e&2&&(r(),y("",v(2,1,"accessories.control.closing"),"..."))}var Sr=(()=>{class e{$modal=N(pe);service;constructor(){}onClick(){this.service.values.TargetPosition?this.service.getCharacteristic("TargetPosition").setValue(0):this.service.getCharacteristic("TargetPosition").setValue(100)}onLongClick(){let t=this.$modal.open(xr,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-windowcovering"]],inputs:{service:"service"},decls:9,vars:9,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"longclick","shortclick","ngClass"],[1,"d-flex","flex-column","h-100"],[1,"accessory-svg",3,"inlineSVG"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"accessory-label","red-text"]],template:function(o,i){o&1&&(a(0,"div",0),S("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),M(2,cp,1,2,"div",2)(3,pp,1,2,"div",2),a(4,"div",3),c(5),s(),M(6,vp,4,3,"div",4)(7,fp,3,3,"div",5)(8,gp,3,3,"div",5),s()()),o&2&&(u("ngClass",J(7,lp,i.service.values.TargetPosition)),r(2),h(i.service.values.TargetPosition?-1:2),r(),h(i.service.values.TargetPosition?3:-1),r(2),x(i.service.customName||i.service.serviceName),r(),h(i.service.values.PositionState===2?6:-1),r(),h(i.service.values.PositionState===1?7:-1),r(),h(i.service.values.PositionState===0?8:-1))},dependencies:[K,B,$,U,A],styles:[".windowcovering-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function hp(e,n){if(e&1){let t=Ce();a(0,"a",4),S("click",function(){Z(t);let i=_();return Q(i.$accessories.showAccessoryInformation(i.service))}),f(1,"i",5),s()}}function Cp(e,n){e&1&&f(0,"i",1)}function _p(e,n){if(e&1&&(a(0,"app-switch",2),c(1,"Switch"),s()),e&2){let t=_();u("service",t.service)}}function xp(e,n){if(e&1&&(a(0,"app-thermostat",2),c(1,"Thermostat"),s()),e&2){let t=_();u("service",t.service)}}function Sp(e,n){if(e&1&&(a(0,"app-outlet",2),c(1,"Outlet"),s()),e&2){let t=_();u("service",t.service)}}function yp(e,n){if(e&1&&(a(0,"app-fan",3),c(1,"Fan"),s()),e&2){let t=_();u("service",t.service)}}function bp(e,n){if(e&1&&(a(0,"app-fanv2",3),c(1,"Fan"),s()),e&2){let t=_();u("service",t.service)}}function Tp(e,n){if(e&1&&(a(0,"app-airpurifier",3),c(1,"Air Purifier"),s()),e&2){let t=_();u("service",t.service)}}function Mp(e,n){if(e&1&&(a(0,"app-lightbulb",2),c(1,"Lightbulb"),s()),e&2){let t=_();u("service",t.service)}}function wp(e,n){if(e&1&&(a(0,"app-lightsensor",2),c(1,"Light Sensor"),s()),e&2){let t=_();u("service",t.service)}}function kp(e,n){if(e&1&&(a(0,"app-lockmechanism",2),c(1,"Lock Mechanism"),s()),e&2){let t=_();u("service",t.service)}}function Ep(e,n){if(e&1&&(a(0,"app-temperaturesensor",2),c(1,"Temperature Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Ip(e,n){if(e&1&&(a(0,"app-garagedooropener",2),c(1,"Garage Door Opener"),s()),e&2){let t=_();u("service",t.service)}}function Vp(e,n){if(e&1&&(a(0,"app-motionsensor",2),c(1,"Motion Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Dp(e,n){if(e&1&&(a(0,"app-occupancysensor",2),c(1,"Occupancy Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Pp(e,n){if(e&1&&(a(0,"app-contactsensor",2),c(1,"Contact Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Ap(e,n){if(e&1&&(a(0,"app-humiditysensor",2),c(1,"Humidity Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Bp(e,n){if(e&1&&(a(0,"app-airqualitysensor",2),c(1,"Air Quality Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Hp(e,n){if(e&1&&(a(0,"app-windowcovering",2),c(1,"Window Covering"),s()),e&2){let t=_();u("service",t.service)}}function Rp(e,n){if(e&1&&(a(0,"app-window",2),c(1,"Window"),s()),e&2){let t=_();u("service",t.service)}}function Fp(e,n){if(e&1&&(a(0,"app-door",2),c(1,"Door"),s()),e&2){let t=_();u("service",t.service)}}function Np(e,n){if(e&1&&(a(0,"app-television",2),c(1,"Television"),s()),e&2){let t=_();u("service",t.service)}}function Op(e,n){if(e&1&&(a(0,"app-battery",2),c(1,"Battery"),s()),e&2){let t=_();u("service",t.service)}}function Gp(e,n){if(e&1&&(a(0,"app-battery",2),c(1,"Battery"),s()),e&2){let t=_();u("service",t.service)}}function Lp(e,n){if(e&1&&(a(0,"app-speaker",2),c(1,"Speaker"),s()),e&2){let t=_();u("service",t.service)}}function jp(e,n){if(e&1&&(a(0,"app-securitysystem",2),c(1,"Security System"),s()),e&2){let t=_();u("service",t.service)}}function Wp(e,n){if(e&1&&(a(0,"app-leaksensor",2),c(1,"Leak Sensor"),s()),e&2){let t=_();u("service",t.service)}}function Up(e,n){if(e&1&&(a(0,"app-smokesensor",2),c(1,"Smoke Sensor"),s()),e&2){let t=_();u("service",t.service)}}function $p(e,n){if(e&1&&(a(0,"app-carbonmonoxidesensor",2),c(1,"Carbon Monoxide Sensor"),s()),e&2){let t=_();u("service",t.service)}}function zp(e,n){if(e&1&&(a(0,"app-carbondioxidesensor",2),c(1,"Carbon Dioxide Sensor"),s()),e&2){let t=_();u("service",t.service)}}function qp(e,n){if(e&1&&(a(0,"app-valve",2),c(1,"Valve"),s()),e&2){let t=_();u("service",t.service)}}function Xp(e,n){if(e&1&&(a(0,"app-irrigationsystem",2),c(1,"Irrigation System"),s()),e&2){let t=_();u("service",t.service)}}function Kp(e,n){if(e&1&&(a(0,"app-heatercooler",2),c(1,"Heater Cooler"),s()),e&2){let t=_();u("service",t.service)}}function Yp(e,n){if(e&1&&(a(0,"app-humidifierdehumidifier",2),c(1,"Humidifier Dehumidifier"),s()),e&2){let t=_();u("service",t.service)}}function Zp(e,n){if(e&1&&(a(0,"app-statelessprogrammableswitch",2),c(1,"Stateless Programmable Switch"),s()),e&2){let t=_();u("service",t.service)}}function Qp(e,n){if(e&1&&(a(0,"app-unknown",2),c(1),s()),e&2){let t=_();u("service",t.service),r(),x(t.service.humanType)}}var Fh=(()=>{class e{$accessories=N(lo);service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=k({type:e,selectors:[["app-accessory-tile"]],inputs:{service:"service"},decls:37,vars:3,consts:[["href","javascript:void(0)",1,"manage-accessory-button"],[1,"fas","fa-fw","fa-spin","fa-sync-alt","refreshing-accessory-status-icon","grey-text"],[3,"service"],[1,"w-100",3,"service"],["href","javascript:void(0)",1,"manage-accessory-button",3,"click"],[1,"fas","fa-fw","fa-bars","grey-text"]],template:function(o,i){if(o&1&&(mn(0),M(1,hp,2,0,"a",0)(2,Cp,1,0,"i",1)(3,_p,2,1,"app-switch",2)(4,xp,2,1,"app-thermostat",2)(5,Sp,2,1,"app-outlet",2)(6,yp,2,1,"app-fan",3)(7,bp,2,1,"app-fanv2",3)(8,Tp,2,1,"app-airpurifier",3)(9,Mp,2,1,"app-lightbulb",2)(10,wp,2,1,"app-lightsensor",2)(11,kp,2,1,"app-lockmechanism",2)(12,Ep,2,1,"app-temperaturesensor",2)(13,Ip,2,1,"app-garagedooropener",2)(14,Vp,2,1,"app-motionsensor",2)(15,Dp,2,1,"app-occupancysensor",2)(16,Pp,2,1,"app-contactsensor",2)(17,Ap,2,1,"app-humiditysensor",2)(18,Bp,2,1,"app-airqualitysensor",2)(19,Hp,2,1,"app-windowcovering",2)(20,Rp,2,1,"app-window",2)(21,Fp,2,1,"app-door",2)(22,Np,2,1,"app-television",2)(23,Op,2,1,"app-battery",2)(24,Gp,2,1,"app-battery",2)(25,Lp,2,1,"app-speaker",2)(26,jp,2,1,"app-securitysystem",2)(27,Wp,2,1,"app-leaksensor",2)(28,Up,2,1,"app-smokesensor",2)(29,$p,2,1,"app-carbonmonoxidesensor",2)(30,zp,2,1,"app-carbondioxidesensor",2)(31,qp,2,1,"app-valve",2)(32,Xp,2,1,"app-irrigationsystem",2)(33,Kp,2,1,"app-heatercooler",2)(34,Yp,2,1,"app-humidifierdehumidifier",2)(35,Zp,2,1,"app-statelessprogrammableswitch",2)(36,Qp,2,2,"app-unknown",2),un()),o&2){let l;r(),h(i.$accessories.readyForControl?1:-1),r(),h(i.$accessories.readyForControl?-1:2),r(),h((l=i.service.type)==="Switch"?3:l==="Thermostat"?4:l==="Outlet"?5:l==="Fan"?6:l==="Fanv2"?7:l==="AirPurifier"?8:l==="Lightbulb"?9:l==="LightSensor"?10:l==="LockMechanism"?11:l==="TemperatureSensor"?12:l==="GarageDoorOpener"?13:l==="MotionSensor"?14:l==="OccupancySensor"?15:l==="ContactSensor"?16:l==="HumiditySensor"?17:l==="AirQualitySensor"?18:l==="WindowCovering"?19:l==="Window"?20:l==="Door"?21:l==="Television"?22:l==="Battery"?23:l==="BatteryService"?24:l==="Speaker"?25:l==="SecuritySystem"?26:l==="LeakSensor"?27:l==="SmokeSensor"?28:l==="CarbonMonoxideSensor"?29:l==="CarbonDioxideSensor"?30:l==="Valve"?31:l==="IrrigationSystem"?32:l==="HeaterCooler"?33:l==="HumidifierDehumidifier"?34:l==="StatelessProgrammableSwitch"?35:36)}},dependencies:[dr,fr,nr,Fo,Lo,Eo,Qo,Jo,er,ur,jo,tr,ir,Ao,qo,Io,Sr,_r,Ho,mr,Vo,cr,rr,Ko,ar,Po,Do,hr,Xo,Uo,zo,pr,gr],encapsulation:2})}return e})();export{Bi as a,hd as b,Cd as c,$e as d,so as e,lo as f,Wm as g,ko as h,Eo as i,Io as j,Do as k,Po as l,Ao as m,Bo as n,Ho as o,Ro as p,Go as q,jo as r,Wo as s,$o as t,Xo as u,Ko as v,Zo as w,Qo as x,Jo as y,er as z,tr as A,ir as B,nr as C,or as D,rr as E,ar as F,lr as G,cr as H,pr as I,dr as J,mr as K,vr as L,gr as M,hr as N,Cr as O,_r as P,xr as Q,Sr as R,Fh as S};
|