homebridge-config-ui-x 5.0.0-beta.10 → 5.0.0-beta.100
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 +438 -31
- package/CONTRIBUTING.md +5 -4
- package/LICENSE +1 -1
- package/config.schema.json +55 -252
- package/dist/bin/hb-service.d.ts +2 -2
- package/dist/bin/hb-service.js +52 -51
- package/dist/bin/hb-service.js.map +1 -1
- package/dist/bin/platforms/darwin.js +3 -10
- package/dist/bin/platforms/darwin.js.map +1 -1
- package/dist/bin/platforms/win32.js +4 -2
- package/dist/bin/platforms/win32.js.map +1 -1
- package/dist/bin/standalone.js +1 -0
- package/dist/bin/standalone.js.map +1 -1
- package/dist/core/auth/auth.controller.d.ts +31 -3
- package/dist/core/auth/auth.controller.js.map +1 -1
- package/dist/core/auth/auth.module.js +1 -1
- package/dist/core/auth/auth.module.js.map +1 -1
- package/dist/core/auth/auth.service.js +10 -10
- package/dist/core/auth/auth.service.js.map +1 -1
- package/dist/core/auth/jwt.strategy.d.ts +3 -1
- package/dist/core/config/config.service.d.ts +46 -11
- package/dist/core/config/config.service.js +57 -20
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.js +2 -2
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
- package/dist/index.js +6 -77
- package/dist/index.js.map +1 -1
- package/dist/main.js +2 -1
- package/dist/main.js.map +1 -1
- package/dist/modules/accessories/accessories.controller.js +5 -5
- package/dist/modules/accessories/accessories.controller.js.map +1 -1
- package/dist/modules/accessories/accessories.service.js +8 -7
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/dist/modules/backup/backup.controller.js +7 -7
- package/dist/modules/backup/backup.controller.js.map +1 -1
- package/dist/modules/backup/backup.service.js +19 -79
- package/dist/modules/backup/backup.service.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.service.js +0 -7
- package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
- package/dist/modules/config-editor/config-editor.controller.d.ts +7 -1
- package/dist/modules/config-editor/config-editor.controller.js +36 -8
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +5 -1
- package/dist/modules/config-editor/config-editor.service.js +132 -69
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.d.ts +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +13 -11
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/log/log.gateway.d.ts +2 -1
- package/dist/modules/log/log.gateway.js.map +1 -1
- package/dist/modules/log/log.service.js +3 -3
- package/dist/modules/log/log.service.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
- package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js +1 -1
- package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js +3 -3
- package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
- package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
- package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
- package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
- package/dist/modules/platform-tools/linux/linux.service.js +2 -2
- package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.gateway.d.ts +2 -1
- package/dist/modules/platform-tools/terminal/terminal.gateway.js.map +1 -1
- package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
- package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
- package/dist/modules/plugins/plugins.controller.js +4 -4
- package/dist/modules/plugins/plugins.controller.js.map +1 -1
- package/dist/modules/plugins/plugins.service.d.ts +7 -1
- package/dist/modules/plugins/plugins.service.js +215 -127
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +33 -3
- package/dist/modules/server/server.controller.js +162 -20
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +35 -6
- package/dist/modules/server/server.service.js +265 -66
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.controller.d.ts +0 -1
- package/dist/modules/status/status.controller.js +3 -4
- package/dist/modules/status/status.controller.js.map +1 -1
- package/dist/modules/status/status.gateway.d.ts +1 -1
- package/dist/modules/status/status.service.d.ts +1 -1
- package/dist/modules/status/status.service.js +25 -41
- package/dist/modules/status/status.service.js.map +1 -1
- package/dist/modules/users/users.controller.js +7 -7
- package/dist/modules/users/users.controller.js.map +1 -1
- package/dist/self-check.js +6 -6
- package/dist/self-check.js.map +1 -1
- package/package.json +50 -43
- package/public/3rdpartylicenses.txt +218 -108
- package/public/assets/hap-icons/airpurifier.svg +49 -16
- package/public/assets/hap-icons/airquality.svg +24 -13
- package/public/assets/hap-icons/co-sensor.svg +72 -0
- package/public/assets/hap-icons/co2-sensor.svg +72 -0
- package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
- package/public/assets/hap-icons/contactsensor-open.svg +80 -2
- package/public/assets/hap-icons/door-closed.svg +32 -2
- package/public/assets/hap-icons/door-open.svg +48 -2
- package/public/assets/hap-icons/fan-off.svg +24 -13
- package/public/assets/hap-icons/fan-on.svg +24 -13
- package/public/assets/hap-icons/garagedoor.svg +24 -13
- package/public/assets/hap-icons/humidity.svg +24 -13
- package/public/assets/hap-icons/irrigation-system.svg +47 -18
- package/public/assets/hap-icons/leaksensor.svg +52 -2
- package/public/assets/hap-icons/light.svg +47 -28
- package/public/assets/hap-icons/lightbulb.svg +24 -13
- package/public/assets/hap-icons/lock-locked.svg +24 -13
- package/public/assets/hap-icons/lock-unlocked.svg +24 -13
- package/public/assets/hap-icons/motionsensor.svg +100 -2
- package/public/assets/hap-icons/occupancysensor.svg +97 -2
- package/public/assets/hap-icons/outlet.svg +24 -13
- package/public/assets/hap-icons/securitysystem-active.svg +102 -2
- package/public/assets/hap-icons/securitysystem-off.svg +68 -2
- package/public/assets/hap-icons/smokesensor.svg +42 -9
- package/public/assets/hap-icons/speaker.svg +29 -13
- package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
- package/public/assets/hap-icons/switch.svg +24 -13
- package/public/assets/hap-icons/television.svg +15 -4
- package/public/assets/hap-icons/temperature.svg +24 -13
- package/public/assets/hap-icons/unknown.svg +24 -13
- package/public/assets/hap-icons/valve-generic.svg +27 -16
- package/public/assets/hap-icons/valve-irrigation.svg +37 -21
- package/public/assets/hap-icons/valve-showerhead.svg +52 -0
- package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
- package/public/assets/hap-icons/window-closed.svg +85 -2
- package/public/assets/hap-icons/window-open.svg +136 -2
- package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
- package/public/assets/hap-icons/windowcovering-open.svg +40 -44
- package/public/assets/homebridge-color-round.svg +36 -1
- package/public/assets/homebridge-logo.svg +11 -1
- package/public/assets/mask-icon.svg +5 -1
- package/public/assets/plugin-ui-utils/ui.js +3 -0
- package/public/assets/plugin-ui-utils/ui.js.map +1 -1
- package/public/chunk-2E6EOZUJ.js +1 -0
- package/public/chunk-2EEZAGZA.js +1 -0
- package/public/chunk-2G7GNBIF.js +1 -0
- package/public/chunk-3GEFBFMQ.js +1 -0
- package/public/chunk-3VYIHHCL.js +1 -0
- package/public/chunk-45NQ4GBG.js +1 -0
- package/public/chunk-4G7RRMI2.js +1 -0
- package/public/chunk-4L2H4MMG.js +29 -0
- package/public/chunk-4LX4LX6P.js +1 -0
- package/public/chunk-4SLRCK6B.js +2 -0
- package/public/chunk-53ILAFUX.js +1 -0
- package/public/chunk-5FYL3TBQ.js +1 -0
- package/public/chunk-5PN6UJOB.js +1 -0
- package/public/chunk-6IOCCVAH.js +1 -0
- package/public/chunk-7REMZHOO.js +1 -0
- package/public/{chunk-6FLZSYP2.js → chunk-AH6LOD34.js} +1 -1
- package/public/chunk-ALG7CIS3.js +5 -0
- package/public/chunk-AQNNOWXC.js +1 -0
- package/public/chunk-B4X7IOGK.js +1 -0
- package/public/chunk-BALPGJEG.js +1 -0
- package/public/chunk-BIRWL4X3.js +1 -0
- package/public/chunk-BMCQHGMB.js +1 -0
- package/public/chunk-BNYXD34L.js +1 -0
- package/public/{chunk-EA5J2VEJ.js → chunk-BRW7C4BZ.js} +1 -1
- package/public/chunk-C6HQUAQJ.js +1 -0
- package/public/chunk-C6LXQBT3.js +1 -0
- package/public/chunk-CG7LPZUJ.js +1 -0
- package/public/chunk-CMZBGXBL.js +1 -0
- package/public/chunk-CRIZPUI6.js +8 -0
- package/public/chunk-DDFZVHUO.js +1 -0
- package/public/chunk-DQUBVCJE.js +1 -0
- package/public/{chunk-Q5NJBBHF.js → chunk-EULZTUQA.js} +1 -1
- package/public/chunk-F6PRUGSN.js +1 -0
- package/public/chunk-FD3D3FMF.js +1 -0
- package/public/chunk-FJJNRLA7.js +1 -0
- package/public/chunk-FSQ4KA4X.js +1 -0
- package/public/chunk-FXS7MG4Z.js +1 -0
- package/public/chunk-GMY5QOXR.js +7 -0
- package/public/chunk-HE2YZMXJ.js +1 -0
- package/public/chunk-HOGBMPOF.js +1 -0
- package/public/chunk-HOI6GB6V.js +1 -0
- package/public/{chunk-7EUQWCP5.js → chunk-IOWBVW62.js} +2 -2
- package/public/chunk-LCYRJQ4W.js +1 -0
- package/public/chunk-M2U64RPA.js +1 -0
- package/public/chunk-MAXJEMB2.js +1 -0
- package/public/chunk-MGEQZI52.js +1 -0
- package/public/chunk-MTSNBCD6.js +1 -0
- package/public/chunk-O752QW52.js +8 -0
- package/public/chunk-OHSRCO5R.js +1 -0
- package/public/chunk-OTJCSRHZ.js +1 -0
- package/public/chunk-PAQIQJ5I.js +1 -0
- package/public/chunk-PODF4FUD.js +1 -0
- package/public/chunk-PYWNQR2G.js +1 -0
- package/public/chunk-Q5OGHYTC.js +1 -0
- package/public/chunk-QIH36FRX.js +1 -0
- package/public/chunk-QMB5XE4Y.js +1 -0
- package/public/chunk-R3VPSO5X.js +7 -0
- package/public/chunk-RGUTUTJY.js +20 -0
- package/public/{chunk-TIVE3PVO.js → chunk-RJAFS3B2.js} +1 -1
- package/public/{chunk-QE7DO6J3.js → chunk-RNHMRKPJ.js} +2 -2
- package/public/chunk-SHP2ASKV.js +5 -0
- package/public/chunk-SMR5XBWZ.js +1 -0
- package/public/chunk-T5VLECCH.js +23 -0
- package/public/chunk-TFSUXAYX.js +1 -0
- package/public/chunk-UCO62FWN.js +1 -0
- package/public/{chunk-PIAD3JIG.js → chunk-UTAVUGTT.js} +11 -11
- package/public/{chunk-JZZQRLNW.js → chunk-UVOJ3BF7.js} +1 -1
- package/public/chunk-UVQC4EUO.js +6 -0
- package/public/chunk-VECPBVSQ.js +1 -0
- package/public/{chunk-CCUID66K.js → chunk-VHTQTL2S.js} +1 -1
- package/public/chunk-VJEUBTTK.js +1 -0
- package/public/chunk-VLX322GM.js +1 -0
- package/public/chunk-VUYAK52W.js +2 -0
- package/public/{chunk-WNWWUCCZ.js → chunk-WAA5KWIN.js} +3 -3
- package/public/chunk-WGYMALW2.js +1 -0
- package/public/chunk-WU2EPT6Y.js +1 -0
- package/public/chunk-WUMR3VEV.js +1 -0
- package/public/{chunk-BSD4FVOE.js → chunk-WZZWFCHX.js} +2 -2
- package/public/chunk-XB7KM2X2.js +1 -0
- package/public/chunk-YJ2ZKKJQ.js +1 -0
- package/public/index.html +2 -2
- package/public/main-BQGRDRA6.js +1 -0
- package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
- package/public/media/{fa-brands-400-KOKGDU7E.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
- package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
- package/public/media/{fa-regular-400-IPMAEX5Y.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
- package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
- package/public/media/{fa-solid-900-SRFFQLRM.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
- package/public/polyfills-GCAZ7JAV.js +2 -0
- package/public/styles-PKR3EGHP.css +1 -0
- package/scripts/upgrade-install-plugin.sh +1 -1
- package/public/chunk-26EWO6RG.js +0 -1
- package/public/chunk-3IX3CLER.js +0 -1
- package/public/chunk-3ZJBUXFZ.js +0 -20
- package/public/chunk-4DDKOVAZ.js +0 -1
- package/public/chunk-4IGKXTSE.js +0 -6
- package/public/chunk-4PAHKWW6.js +0 -1
- package/public/chunk-4SMDEHVB.js +0 -1
- package/public/chunk-4X4WE4X3.js +0 -1
- package/public/chunk-57O4WFHV.js +0 -1
- package/public/chunk-5LGVFGMP.js +0 -1
- package/public/chunk-6HVQYFKM.js +0 -1
- package/public/chunk-6I5NOTAK.js +0 -5
- package/public/chunk-6TCHCTXZ.js +0 -1
- package/public/chunk-7RD3ANA6.js +0 -1
- package/public/chunk-AEZNVJNA.js +0 -1
- package/public/chunk-BKUGARB4.js +0 -7
- package/public/chunk-BPMSJ2VF.js +0 -1
- package/public/chunk-C3OLDXDF.js +0 -1
- package/public/chunk-CKJ7WSCY.js +0 -1
- package/public/chunk-DW3VS3AJ.js +0 -1
- package/public/chunk-FBHAKNKK.js +0 -1
- package/public/chunk-FTBDA6VV.js +0 -1
- package/public/chunk-FX2G7EKQ.js +0 -1
- package/public/chunk-GLXDWUP7.js +0 -1
- package/public/chunk-GW3B2BTG.js +0 -1
- package/public/chunk-GZS6TFES.js +0 -1
- package/public/chunk-HFUBGIQF.js +0 -8
- package/public/chunk-HJMBSNDE.js +0 -1
- package/public/chunk-HSJSWZHD.js +0 -1
- package/public/chunk-J2ACJ2SJ.js +0 -1
- package/public/chunk-J2GVB2HH.js +0 -1
- package/public/chunk-JGA3UJQJ.js +0 -1
- package/public/chunk-JLZHU54T.js +0 -23
- package/public/chunk-JTBW4DGJ.js +0 -1
- package/public/chunk-K2S5XQH3.js +0 -1
- package/public/chunk-KQJ7ONUG.js +0 -1
- package/public/chunk-L376ASVB.js +0 -1
- package/public/chunk-MR5BBXDA.js +0 -1
- package/public/chunk-NW6AFAD7.js +0 -1
- package/public/chunk-NZNNTHFQ.js +0 -1
- package/public/chunk-ORPWYWCL.js +0 -5
- package/public/chunk-P7LFHZOY.js +0 -1
- package/public/chunk-PLAUCLPN.js +0 -1
- package/public/chunk-Q3KYLUJV.js +0 -1
- package/public/chunk-Q63MEYUW.js +0 -1
- package/public/chunk-QHPDGSZ6.js +0 -1
- package/public/chunk-RVIWX6PZ.js +0 -1
- package/public/chunk-S522GW34.js +0 -1
- package/public/chunk-SCN3MDZ7.js +0 -1
- package/public/chunk-SQXGCWUT.js +0 -1
- package/public/chunk-TCSXGQNF.js +0 -1
- package/public/chunk-TGK4ZIKS.js +0 -1
- package/public/chunk-TR6DJBRN.js +0 -1
- package/public/chunk-TXOB7R5K.js +0 -7
- package/public/chunk-UEDIA63L.js +0 -1
- package/public/chunk-UG5DK2RQ.js +0 -2
- package/public/chunk-VHDU5NZU.js +0 -1
- package/public/chunk-VHO4CUXG.js +0 -1
- package/public/chunk-VWTJUCNR.js +0 -1
- package/public/chunk-WALRIIUN.js +0 -1
- package/public/chunk-WBI25HR2.js +0 -1
- package/public/chunk-WHJOLAED.js +0 -1
- package/public/chunk-WHJSVGC7.js +0 -1
- package/public/chunk-WJD5UZP6.js +0 -32
- package/public/chunk-WZ5X6FKY.js +0 -1
- package/public/chunk-Y6JL2J5G.js +0 -1
- package/public/chunk-YPX7RY6A.js +0 -1
- package/public/chunk-YZUUWSDB.js +0 -1
- package/public/chunk-YZVODNRC.js +0 -1
- package/public/chunk-ZT23DWNL.js +0 -1
- package/public/main-T37JUFDS.js +0 -1
- package/public/media/01-RQ3S2L53.png +0 -0
- package/public/media/02-VNCG2I2A.png +0 -0
- package/public/media/03-HI42L4ZG.png +0 -0
- package/public/media/04-FJLL55LZ.png +0 -0
- package/public/media/05-V3EO6SPT.png +0 -0
- package/public/media/06-EOJZCQZN.png +0 -0
- package/public/media/07-KMKB5PBD.png +0 -0
- package/public/media/08-UQJRF6B2.png +0 -0
- package/public/media/09-2DJQFRHH.png +0 -0
- package/public/media/arrow_left-CQT7FZM7.svg +0 -4
- package/public/media/arrow_right-SBUDRR2G.svg +0 -4
- package/public/media/fa-brands-400-6PJPV6JM.woff2 +0 -0
- package/public/media/fa-regular-400-OHB6J4OK.woff2 +0 -0
- package/public/media/fa-solid-900-ABTK6BNK.woff2 +0 -0
- package/public/polyfills-C6JHVXJJ.js +0 -2
- package/public/scripts-6GVLYD7F.js +0 -62
- package/public/styles-EG5MFQEM.css +0 -1
- /package/public/assets/{bootstrap-4 → bootstrap-5}/cssframework/assets.json +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as Hn}from"./chunk-M2U64RPA.js";import{m as ce,n as ae}from"./chunk-ALG7CIS3.js";import{a as Dn,b as An,c as In,e as fe,l as he,z as le}from"./chunk-VLX322GM.js";import{a as On}from"./chunk-EULZTUQA.js";import{b as Rn}from"./chunk-RJAFS3B2.js";import{b as Ze}from"./chunk-WU2EPT6Y.js";import{k as Pn,n as Ln}from"./chunk-DQUBVCJE.js";import{a as kn,e as gi}from"./chunk-VUYAK52W.js";import{a as Vn,b as A}from"./chunk-QMB5XE4Y.js";import{$a as r,Ac as d,Bc as p,Ca as rt,Cc as ve,Fa as at,G as mn,Gb as w,H as Nt,Hb as h,Ib as C,Ja as Cn,Jc as Hi,K as un,Kb as vt,Lb as gt,M as ue,Mb as ft,Nb as m,Ob as a,Pb as s,Q as vn,Qb as v,Rb as yn,Sb as Bn,Ub as j,Wc as En,X as gn,Xa as Oi,Xb as y,Yb as g,Zc as wn,a as an,b as sn,ba as fn,bd as O,cb as _n,db as di,e as Xe,eb as pi,fa as hn,fb as Ee,g as ln,ga as ot,gc as bn,h as si,ha as bt,hb as Sn,hc as Tn,hd as st,i as Ri,jc as c,jd as Re,ka as qe,kc as S,la as H,lb as M,lc as B,mb as Tt,mc as K,n as re,nb as Mt,nc as tt,o as cn,ob as Et,oc as Mn,pc as mi,pd as vi,qc as Q,qd as Ft,r as dn,ra as L,rc as ee,s as pn,sa as R,sc as te,tb as We,ub as xn,uc as ui,w as li,wc as oe,x as ci,xc as D,yc as je}from"./chunk-R3VPSO5X.js";var Fn=Xe((fp,Nn)=>{Nn.exports=function(n,t){return Array.prototype.slice.call(n,t)}});var Un=Xe((hp,Gn)=>{var Ko=typeof setImmediate=="function",Ni;Ko?Ni=function(e){setImmediate(e)}:Ni=function(e){setTimeout(e,0)};Gn.exports=Ni});var jn=Xe((Cp,Wn)=>{"use strict";var Xo=Un();Wn.exports=function(n,t,o){n&&Xo(function(){n.apply(o||null,t||[])})}});var qn=Xe((_p,zn)=>{"use strict";var $n=Fn(),Zo=jn();zn.exports=function(n,t){var o=t||{},i={};return n===void 0&&(n={}),n.on=function(l,f){return i[l]?i[l].push(f):i[l]=[f],n},n.once=function(l,f){return f._once=!0,n.on(l,f),n},n.off=function(l,f){var b=arguments.length;if(b===1)delete i[l];else if(b===0)i={};else{var k=i[l];if(!k)return n;k.splice(k.indexOf(f),1)}return n},n.emit=function(){var l=$n(arguments);return n.emitterSnapshot(l.shift()).apply(this,l)},n.emitterSnapshot=function(l){var f=(i[l]||[]).slice(0);return function(){var b=$n(arguments),k=this||n;if(l==="error"&&o.throws!==!1&&!f.length)throw b.length===1?b[0]:b;return f.forEach(function(G){o.async?Zo(G,b,k):G.apply(k,b),G._once&&n.off(l,G)}),n}},n}});var Xn=Xe((Sp,Kn)=>{var Yn=global.CustomEvent;function Jo(){try{var e=new Yn("cat",{detail:{foo:"bar"}});return e.type==="cat"&&e.detail.foo==="bar"}catch{}return!1}Kn.exports=Jo()?Yn: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 Qn=Xe((xp,Jn)=>{"use strict";var Zn=[],Fi="",Qo=/^on/;for(Fi in global)Qo.test(Fi)&&Zn.push(Fi.slice(2));Jn.exports=Zn});var o0=Xe((yp,n0)=>{"use strict";var er=Xn(),tr=Qn(),fi=global.document,e0=ir,t0=or,Gt=[];global.addEventListener||(e0=nr,t0=rr);n0.exports={add:e0,remove:t0,fabricate:ar};function ir(e,n,t,o){return e.addEventListener(n,t,o)}function nr(e,n,t){return e.attachEvent("on"+n,lr(e,n,t))}function or(e,n,t,o){return e.removeEventListener(n,t,o)}function rr(e,n,t){var o=i0(e,n,t);if(o)return e.detachEvent("on"+n,o)}function ar(e,n,t){var o=tr.indexOf(n)===-1?l():i();e.dispatchEvent?e.dispatchEvent(o):e.fireEvent("on"+n,o);function i(){var f;return fi.createEvent?(f=fi.createEvent("Event"),f.initEvent(n,!0,!0)):fi.createEventObject&&(f=fi.createEventObject()),f}function l(){return new er(n,{detail:t})}}function sr(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 lr(e,n,t){var o=i0(e,n,t)||sr(e,n,t);return Gt.push({wrapper:o,element:e,type:n,fn:t}),o}function i0(e,n,t){var o=cr(e,n,t);if(o){var i=Gt[o].wrapper;return Gt.splice(o,1),i}}function cr(e,n,t){var o,i;for(o=0;o<Gt.length;o++)if(i=Gt[o],i.element===e&&i.type===n&&i.fn===t)return o}});var l0=Xe((Bp,s0)=>{"use strict";var r0={},dr="(?:^|\\s)",pr="(?:\\s|$)";function a0(e){var n=r0[e];return n?n.lastIndex=0:r0[e]=n=new RegExp(dr+e+pr,"g"),n}function mr(e,n){var t=e.className;t.length?a0(n).test(t)||(e.className+=" "+n):e.className=n}function ur(e,n){e.className=e.className.replace(a0(n)," ").trim()}s0.exports={add:mr,rm:ur}});var C0=Xe((bp,h0)=>{"use strict";var vr=qn(),wt=o0(),lt=l0(),kt=document,Je=kt.documentElement;function gr(e,n){var t=arguments.length;t===1&&Array.isArray(e)===!1&&(n=e,e=[]);var o,i,l,f,b,k,I,G,J,X,W,xe=null,ne,N=n||{};N.moves===void 0&&(N.moves=m0),N.accepts===void 0&&(N.accepts=m0),N.invalid===void 0&&(N.invalid=Zt),N.containers===void 0&&(N.containers=e||[]),N.isContainer===void 0&&(N.isContainer=hr),N.copy===void 0&&(N.copy=!1),N.copySortSource===void 0&&(N.copySortSource=!1),N.revertOnSpill===void 0&&(N.revertOnSpill=!1),N.removeOnSpill===void 0&&(N.removeOnSpill=!1),N.direction===void 0&&(N.direction="vertical"),N.ignoreInputTextSelection===void 0&&(N.ignoreInputTextSelection=!0),N.mirrorContainer===void 0&&(N.mirrorContainer=kt.body);var ge=vr({containers:N.containers,start:ki,end:xt,cancel:Qt,remove:At,destroy:St,canMove:wi,dragging:!1});return N.removeOnSpill===!0&&ge.on("over",Pt).on("out",Lt),it(),ge;function Ne(T){return ge.containers.indexOf(T)!==-1||N.isContainer(T)}function it(T){var $=T?"remove":"add";Ut(Je,$,"mousedown",ze),Ut(Je,$,"mouseup",Dt)}function Ke(T){var $=T?"remove":"add";Ut(Je,$,"mousemove",Ei)}function pt(T){var $=T?"remove":"add";wt[$](Je,"selectstart",Kt),wt[$](Je,"click",Kt)}function St(){it(!0),Dt({})}function Kt(T){ne&&T.preventDefault()}function ze(T){k=T.clientX,I=T.clientY;var $=c0(T)!==1||T.metaKey||T.ctrlKey;if(!$){var Z=T.target,se=mt(Z);se&&(ne=se,Ke(),T.type==="mousedown"&&(g0(Z)?Z.focus():T.preventDefault()))}}function Ei(T){if(ne){if(c0(T)===0){Dt({});return}if(!(T.clientX!==void 0&&Math.abs(T.clientX-k)<=(N.slideFactorX||0)&&T.clientY!==void 0&&Math.abs(T.clientY-I)<=(N.slideFactorY||0))){if(N.ignoreInputTextSelection){var $=ct("clientX",T)||0,Z=ct("clientY",T)||0,se=kt.elementFromPoint($,Z);if(g0(se))return}var Ie=ne;Ke(!0),pt(),xt(),Xt(Ie);var Te=fr(l);f=ct("pageX",T)-Te.left,b=ct("pageY",T)-Te.top,lt.add(X||l,"gu-transit"),ti(),Vt(T)}}}function mt(T){if(!(ge.dragging&&o)&&!Ne(T)){for(var $=T;Oe(T)&&Ne(Oe(T))===!1;)if(N.invalid(T,$)||(T=Oe(T),!T))return;var Z=Oe(T);if(Z&&!N.invalid(T,$)){var se=N.moves(T,Z,$,Wt(T));if(se)return{item:T,source:Z}}}}function wi(T){return!!mt(T)}function ki(T){var $=mt(T);$&&Xt($)}function Xt(T){Di(T.item,T.source)&&(X=T.item.cloneNode(!0),ge.emit("cloned",X,T.item,"copy")),i=T.source,l=T.item,G=J=Wt(T.item),ge.dragging=!0,ge.emit("drag",l,i)}function Zt(){return!1}function xt(){if(ge.dragging){var T=X||l;yt(T,Oe(T))}}function Jt(){ne=!1,Ke(!0),pt(!0)}function Dt(T){if(Jt(),!!ge.dragging){var $=X||l,Z=ct("clientX",T)||0,se=ct("clientY",T)||0,Ie=p0(o,Z,se),Te=ei(Ie,Z,se);Te&&(X&&N.copySortSource||!X||Te!==i)?yt($,Te):N.removeOnSpill?At():Qt()}}function yt(T,$){var Z=Oe(T);X&&N.copySortSource&&$===i&&Z.removeChild(l),Bt($)?ge.emit("cancel",T,i,i):ge.emit("drop",T,$,i,J),It()}function At(){if(ge.dragging){var T=X||l,$=Oe(T);$&&$.removeChild(T),ge.emit(X?"cancel":"remove",T,$,i),It()}}function Qt(T){if(ge.dragging){var $=arguments.length>0?T:N.revertOnSpill,Z=X||l,se=Oe(Z),Ie=Bt(se);Ie===!1&&$&&(X?se&&se.removeChild(X):i.insertBefore(Z,G)),Ie||$?ge.emit("cancel",Z,i,i):ge.emit("drop",Z,se,i,J),It()}}function It(){var T=X||l;Jt(),et(),T&<.rm(T,"gu-transit"),W&&clearTimeout(W),ge.dragging=!1,xe&&ge.emit("out",T,xe,i),ge.emit("dragend",T),i=l=X=G=J=W=xe=null}function Bt(T,$){var Z;return $!==void 0?Z=$:o?Z=J:Z=Wt(X||l),T===i&&Z===G}function ei(T,$,Z){for(var se=T;se&&!Ie();)se=Oe(se);return se;function Ie(){var Te=Ne(se);if(Te===!1)return!1;var nt=ii(se,T),we=Rt(se,nt,$,Z),Ue=Bt(se,we);return Ue?!0:N.accepts(l,se,i,we)}}function Vt(T){if(!o)return;T.preventDefault();var $=ct("clientX",T)||0,Z=ct("clientY",T)||0,se=$-f,Ie=Z-b;o.style.left=se+"px",o.style.top=Ie+"px";var Te=X||l,nt=p0(o,$,Z),we=ei(nt,$,Z),Ue=we!==null&&we!==xe;(Ue||we===null)&&(ni(),xe=we,Ot());var Le=Oe(Te);if(we===i&&X&&!N.copySortSource){Le&&Le.removeChild(Te);return}var ke,me=ii(we,nt);if(me!==null)ke=Rt(we,me,$,Z);else if(N.revertOnSpill===!0&&!X)ke=G,we=i;else{X&&Le&&Le.removeChild(Te);return}(ke===null&&Ue||ke!==Te&&ke!==Wt(Te))&&(J=ke,we.insertBefore(Te,ke),ge.emit("shadow",Te,we,i));function Fe(oi){ge.emit(oi,Te,xe,i)}function Ot(){Ue&&Fe("over")}function ni(){xe&&Fe("out")}}function Pt(T){lt.rm(T,"gu-hide")}function Lt(T){ge.dragging&<.add(T,"gu-hide")}function ti(){if(!o){var T=l.getBoundingClientRect();o=l.cloneNode(!0),o.style.width=u0(T)+"px",o.style.height=v0(T)+"px",lt.rm(o,"gu-transit"),lt.add(o,"gu-mirror"),N.mirrorContainer.appendChild(o),Ut(Je,"add","mousemove",Vt),lt.add(N.mirrorContainer,"gu-unselectable"),ge.emit("cloned",o,l,"mirror")}}function et(){o&&(lt.rm(N.mirrorContainer,"gu-unselectable"),Ut(Je,"remove","mousemove",Vt),Oe(o).removeChild(o),o=null)}function ii(T,$){for(var Z=$;Z!==T&&Oe(Z)!==T;)Z=Oe(Z);return Z===Je?null:Z}function Rt(T,$,Z,se){var Ie=N.direction==="horizontal",Te=$!==T?we():nt();return Te;function nt(){var Le=T.children.length,ke,me,Fe;for(ke=0;ke<Le;ke++)if(me=T.children[ke],Fe=me.getBoundingClientRect(),Ie&&Fe.left+Fe.width/2>Z||!Ie&&Fe.top+Fe.height/2>se)return me;return null}function we(){var Le=$.getBoundingClientRect();return Ue(Ie?Z>Le.left+u0(Le)/2:se>Le.top+v0(Le)/2)}function Ue(Le){return Le?Wt($):$}}function Di(T,$){return typeof N.copy=="boolean"?N.copy:N.copy(T,$)}}function Ut(e,n,t,o){var i={mouseup:"touchend",mousedown:"touchstart",mousemove:"touchmove"},l={mouseup:"pointerup",mousedown:"pointerdown",mousemove:"pointermove"},f={mouseup:"MSPointerUp",mousedown:"MSPointerDown",mousemove:"MSPointerMove"};global.navigator.pointerEnabled?wt[n](e,l[t],o):global.navigator.msPointerEnabled?wt[n](e,f[t],o):(wt[n](e,i[t],o),wt[n](e,t,o))}function c0(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 fr(e){var n=e.getBoundingClientRect();return{left:n.left+d0("scrollLeft","pageXOffset"),top:n.top+d0("scrollTop","pageYOffset")}}function d0(e,n){return typeof global[n]<"u"?global[n]:Je.clientHeight?Je[e]:kt.body[e]}function p0(e,n,t){e=e||{};var o=e.className||"",i;return e.className+=" gu-hide",i=kt.elementFromPoint(n,t),e.className=o,i}function hr(){return!1}function m0(){return!0}function u0(e){return e.width||e.right-e.left}function v0(e){return e.height||e.bottom-e.top}function Oe(e){return e.parentNode===kt?null:e.parentNode}function g0(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.tagName==="SELECT"||f0(e)}function f0(e){return!e||e.contentEditable==="false"?!1:e.contentEditable==="true"?!0:f0(Oe(e))}function Wt(e){return e.nextElementSibling||n();function n(){var t=e;do t=t.nextSibling;while(t&&t.nodeType!==1);return t}}function Cr(e){return e.targetTouches&&e.targetTouches.length?e.targetTouches[0]:e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:e}function ct(e,n){var t=Cr(n),o={pageX:"clientX",pageY:"clientY"};return e in o&&!(e in t)&&o[e]in t&&(e=o[e]),t[e]}h0.exports=gr});var _0=Xe(Qe=>{"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});Qe.Enums=Qe.Categories=Qe.Characteristics=Qe.Services=void 0;Qe.Services={"00000260-0000-1000-8000-0026BB765291":"AccessCode",AccessCode:"00000260-0000-1000-8000-0026BB765291","000000DA-0000-1000-8000-0026BB765291":"AccessControl",AccessControl:"000000DA-0000-1000-8000-0026BB765291","0000003E-0000-1000-8000-0026BB765291":"AccessoryInformation",AccessoryInformation:"0000003E-0000-1000-8000-0026BB765291","00000270-0000-1000-8000-0026BB765291":"AccessoryMetrics",AccessoryMetrics:"00000270-0000-1000-8000-0026BB765291","00000239-0000-1000-8000-0026BB765291":"AccessoryRuntimeInformation",AccessoryRuntimeInformation:"00000239-0000-1000-8000-0026BB765291","000000BB-0000-1000-8000-0026BB765291":"AirPurifier",AirPurifier:"000000BB-0000-1000-8000-0026BB765291","0000008D-0000-1000-8000-0026BB765291":"AirQualitySensor",AirQualitySensor:"0000008D-0000-1000-8000-0026BB765291","00000267-0000-1000-8000-0026BB765291":"AssetUpdate",AssetUpdate:"00000267-0000-1000-8000-0026BB765291","0000026A-0000-1000-8000-0026BB765291":"Assistant",Assistant:"0000026A-0000-1000-8000-0026BB765291","00000127-0000-1000-8000-0026BB765291":"AudioStreamManagement",AudioStreamManagement:"00000127-0000-1000-8000-0026BB765291","00000096-0000-1000-8000-0026BB765291":"Battery",Battery:"00000096-0000-1000-8000-0026BB765291","0000021A-0000-1000-8000-0026BB765291":"CameraOperatingMode",CameraOperatingMode:"0000021A-0000-1000-8000-0026BB765291","00000204-0000-1000-8000-0026BB765291":"CameraRecordingManagement",CameraRecordingManagement:"00000204-0000-1000-8000-0026BB765291","00000110-0000-1000-8000-0026BB765291":"CameraRTPStreamManagement",CameraRTPStreamManagement:"00000110-0000-1000-8000-0026BB765291","00000097-0000-1000-8000-0026BB765291":"CarbonDioxideSensor",CarbonDioxideSensor:"00000097-0000-1000-8000-0026BB765291","0000007F-0000-1000-8000-0026BB765291":"CarbonMonoxideSensor",CarbonMonoxideSensor:"0000007F-0000-1000-8000-0026BB765291","0000005A-0000-1000-8000-0026BB765291":"CloudRelay",CloudRelay:"0000005A-0000-1000-8000-0026BB765291","00000080-0000-1000-8000-0026BB765291":"ContactSensor",ContactSensor:"00000080-0000-1000-8000-0026BB765291","00000129-0000-1000-8000-0026BB765291":"DataStreamTransportManagement",DataStreamTransportManagement:"00000129-0000-1000-8000-0026BB765291","00000237-0000-1000-8000-0026BB765291":"Diagnostics",Diagnostics:"00000237-0000-1000-8000-0026BB765291","00000081-0000-1000-8000-0026BB765291":"Door",Door:"00000081-0000-1000-8000-0026BB765291","00000121-0000-1000-8000-0026BB765291":"Doorbell",Doorbell:"00000121-0000-1000-8000-0026BB765291","00000040-0000-1000-8000-0026BB765291":"Fan",Fan:"00000040-0000-1000-8000-0026BB765291","000000B7-0000-1000-8000-0026BB765291":"Fanv2",Fanv2:"000000B7-0000-1000-8000-0026BB765291","000000D7-0000-1000-8000-0026BB765291":"Faucet",Faucet:"000000D7-0000-1000-8000-0026BB765291","000000BA-0000-1000-8000-0026BB765291":"FilterMaintenance",FilterMaintenance:"000000BA-0000-1000-8000-0026BB765291","00000236-0000-1000-8000-0026BB765291":"FirmwareUpdate",FirmwareUpdate:"00000236-0000-1000-8000-0026BB765291","00000041-0000-1000-8000-0026BB765291":"GarageDoorOpener",GarageDoorOpener:"00000041-0000-1000-8000-0026BB765291","000000BC-0000-1000-8000-0026BB765291":"HeaterCooler",HeaterCooler:"000000BC-0000-1000-8000-0026BB765291","000000BD-0000-1000-8000-0026BB765291":"HumidifierDehumidifier",HumidifierDehumidifier:"000000BD-0000-1000-8000-0026BB765291","00000082-0000-1000-8000-0026BB765291":"HumiditySensor",HumiditySensor:"00000082-0000-1000-8000-0026BB765291","000000D9-0000-1000-8000-0026BB765291":"InputSource",InputSource:"000000D9-0000-1000-8000-0026BB765291","000000CF-0000-1000-8000-0026BB765291":"IrrigationSystem",IrrigationSystem:"000000CF-0000-1000-8000-0026BB765291","00000083-0000-1000-8000-0026BB765291":"LeakSensor",LeakSensor:"00000083-0000-1000-8000-0026BB765291","00000043-0000-1000-8000-0026BB765291":"Lightbulb",Lightbulb:"00000043-0000-1000-8000-0026BB765291","00000084-0000-1000-8000-0026BB765291":"LightSensor",LightSensor:"00000084-0000-1000-8000-0026BB765291","00000044-0000-1000-8000-0026BB765291":"LockManagement",LockManagement:"00000044-0000-1000-8000-0026BB765291","00000045-0000-1000-8000-0026BB765291":"LockMechanism",LockMechanism:"00000045-0000-1000-8000-0026BB765291","00000112-0000-1000-8000-0026BB765291":"Microphone",Microphone:"00000112-0000-1000-8000-0026BB765291","00000085-0000-1000-8000-0026BB765291":"MotionSensor",MotionSensor:"00000085-0000-1000-8000-0026BB765291","00000266-0000-1000-8000-0026BB765291":"NFCAccess",NFCAccess:"00000266-0000-1000-8000-0026BB765291","00000086-0000-1000-8000-0026BB765291":"OccupancySensor",OccupancySensor:"00000086-0000-1000-8000-0026BB765291","00000047-0000-1000-8000-0026BB765291":"Outlet",Outlet:"00000047-0000-1000-8000-0026BB765291","00000055-0000-1000-8000-0026BB765291":"Pairing",Pairing:"00000055-0000-1000-8000-0026BB765291","00000221-0000-1000-8000-0026BB765291":"PowerManagement",PowerManagement:"00000221-0000-1000-8000-0026BB765291","000000A2-0000-1000-8000-0026BB765291":"ProtocolInformation",ProtocolInformation:"000000A2-0000-1000-8000-0026BB765291","0000007E-0000-1000-8000-0026BB765291":"SecuritySystem",SecuritySystem:"0000007E-0000-1000-8000-0026BB765291","000000CC-0000-1000-8000-0026BB765291":"ServiceLabel",ServiceLabel:"000000CC-0000-1000-8000-0026BB765291","00000133-0000-1000-8000-0026BB765291":"Siri",Siri:"00000133-0000-1000-8000-0026BB765291","00000253-0000-1000-8000-0026BB765291":"SiriEndpoint",SiriEndpoint:"00000253-0000-1000-8000-0026BB765291","000000B9-0000-1000-8000-0026BB765291":"Slats",Slats:"000000B9-0000-1000-8000-0026BB765291","00000228-0000-1000-8000-0026BB765291":"SmartSpeaker",SmartSpeaker:"00000228-0000-1000-8000-0026BB765291","00000087-0000-1000-8000-0026BB765291":"SmokeSensor",SmokeSensor:"00000087-0000-1000-8000-0026BB765291","00000113-0000-1000-8000-0026BB765291":"Speaker",Speaker:"00000113-0000-1000-8000-0026BB765291","00000088-0000-1000-8000-0026BB765291":"StatefulProgrammableSwitch",StatefulProgrammableSwitch:"00000088-0000-1000-8000-0026BB765291","00000089-0000-1000-8000-0026BB765291":"StatelessProgrammableSwitch",StatelessProgrammableSwitch:"00000089-0000-1000-8000-0026BB765291","00000049-0000-1000-8000-0026BB765291":"Switch",Switch:"00000049-0000-1000-8000-0026BB765291","0000022E-0000-1000-8000-0026BB765291":"TapManagement",TapManagement:"0000022E-0000-1000-8000-0026BB765291","00000125-0000-1000-8000-0026BB765291":"TargetControl",TargetControl:"00000125-0000-1000-8000-0026BB765291","00000122-0000-1000-8000-0026BB765291":"TargetControlManagement",TargetControlManagement:"00000122-0000-1000-8000-0026BB765291","000000D8-0000-1000-8000-0026BB765291":"Television",Television:"000000D8-0000-1000-8000-0026BB765291",TelevisionSpeaker:"00000113-0000-1000-8000-0026BB765291","0000008A-0000-1000-8000-0026BB765291":"TemperatureSensor",TemperatureSensor:"0000008A-0000-1000-8000-0026BB765291","0000004A-0000-1000-8000-0026BB765291":"Thermostat",Thermostat:"0000004A-0000-1000-8000-0026BB765291","00000701-0000-1000-8000-0026BB765291":"ThreadTransport",ThreadTransport:"00000701-0000-1000-8000-0026BB765291","00000203-0000-1000-8000-0026BB765291":"TransferTransportManagement",TransferTransportManagement:"00000203-0000-1000-8000-0026BB765291","00000056-0000-1000-8000-0026BB765291":"Tunnel",Tunnel:"00000056-0000-1000-8000-0026BB765291","000000D0-0000-1000-8000-0026BB765291":"Valve",Valve:"000000D0-0000-1000-8000-0026BB765291","0000020A-0000-1000-8000-0026BB765291":"WiFiRouter",WiFiRouter:"0000020A-0000-1000-8000-0026BB765291","0000020F-0000-1000-8000-0026BB765291":"WiFiSatellite",WiFiSatellite:"0000020F-0000-1000-8000-0026BB765291","0000022A-0000-1000-8000-0026BB765291":"WiFiTransport",WiFiTransport:"0000022A-0000-1000-8000-0026BB765291","0000008B-0000-1000-8000-0026BB765291":"Window",Window:"0000008B-0000-1000-8000-0026BB765291","0000008C-0000-1000-8000-0026BB765291":"WindowCovering",WindowCovering:"0000008C-0000-1000-8000-0026BB765291"};Qe.Characteristics={"00000262-0000-1000-8000-0026BB765291":"AccessCodeControlPoint",AccessCodeControlPoint:"00000262-0000-1000-8000-0026BB765291","00000261-0000-1000-8000-0026BB765291":"AccessCodeSupportedConfiguration",AccessCodeSupportedConfiguration:"00000261-0000-1000-8000-0026BB765291","000000E5-0000-1000-8000-0026BB765291":"AccessControlLevel",AccessControlLevel:"000000E5-0000-1000-8000-0026BB765291","000000A6-0000-1000-8000-0026BB765291":"AccessoryFlags",AccessoryFlags:"000000A6-0000-1000-8000-0026BB765291","00000057-0000-1000-8000-0026BB765291":"AccessoryIdentifier",AccessoryIdentifier:"00000057-0000-1000-8000-0026BB765291","000000B0-0000-1000-8000-0026BB765291":"Active",Active:"000000B0-0000-1000-8000-0026BB765291","000000E7-0000-1000-8000-0026BB765291":"ActiveIdentifier",ActiveIdentifier:"000000E7-0000-1000-8000-0026BB765291","0000023B-0000-1000-8000-0026BB765291":"ActivityInterval",ActivityInterval:"0000023B-0000-1000-8000-0026BB765291","00000001-0000-1000-8000-0026BB765291":"AdministratorOnlyAccess",AdministratorOnlyAccess:"00000001-0000-1000-8000-0026BB765291","00000064-0000-1000-8000-0026BB765291":"AirParticulateDensity",AirParticulateDensity:"00000064-0000-1000-8000-0026BB765291","00000065-0000-1000-8000-0026BB765291":"AirParticulateSize",AirParticulateSize:"00000065-0000-1000-8000-0026BB765291","0000025B-0000-1000-8000-0026BB765291":"AirPlayEnable",AirPlayEnable:"0000025B-0000-1000-8000-0026BB765291","00000095-0000-1000-8000-0026BB765291":"AirQuality",AirQuality:"00000095-0000-1000-8000-0026BB765291","000000A4-0000-1000-8000-0026BB765291":"AppMatchingIdentifier",AppMatchingIdentifier:"000000A4-0000-1000-8000-0026BB765291","00000269-0000-1000-8000-0026BB765291":"AssetUpdateReadiness",AssetUpdateReadiness:"00000269-0000-1000-8000-0026BB765291","00000005-0000-1000-8000-0026BB765291":"AudioFeedback",AudioFeedback:"00000005-0000-1000-8000-0026BB765291","00000068-0000-1000-8000-0026BB765291":"BatteryLevel",BatteryLevel:"00000068-0000-1000-8000-0026BB765291","00000008-0000-1000-8000-0026BB765291":"Brightness",Brightness:"00000008-0000-1000-8000-0026BB765291","00000126-0000-1000-8000-0026BB765291":"ButtonEvent",ButtonEvent:"00000126-0000-1000-8000-0026BB765291","0000021D-0000-1000-8000-0026BB765291":"CameraOperatingModeIndicator",CameraOperatingModeIndicator:"0000021D-0000-1000-8000-0026BB765291","00000092-0000-1000-8000-0026BB765291":"CarbonDioxideDetected",CarbonDioxideDetected:"00000092-0000-1000-8000-0026BB765291","00000093-0000-1000-8000-0026BB765291":"CarbonDioxideLevel",CarbonDioxideLevel:"00000093-0000-1000-8000-0026BB765291","00000094-0000-1000-8000-0026BB765291":"CarbonDioxidePeakLevel",CarbonDioxidePeakLevel:"00000094-0000-1000-8000-0026BB765291","00000069-0000-1000-8000-0026BB765291":"CarbonMonoxideDetected",CarbonMonoxideDetected:"00000069-0000-1000-8000-0026BB765291","00000090-0000-1000-8000-0026BB765291":"CarbonMonoxideLevel",CarbonMonoxideLevel:"00000090-0000-1000-8000-0026BB765291","00000091-0000-1000-8000-0026BB765291":"CarbonMonoxidePeakLevel",CarbonMonoxidePeakLevel:"00000091-0000-1000-8000-0026BB765291","00000246-0000-1000-8000-0026BB765291":"CCAEnergyDetectThreshold",CCAEnergyDetectThreshold:"00000246-0000-1000-8000-0026BB765291","00000245-0000-1000-8000-0026BB765291":"CCASignalDetectThreshold",CCASignalDetectThreshold:"00000245-0000-1000-8000-0026BB765291","0000024B-0000-1000-8000-0026BB765291":"CharacteristicValueActiveTransitionCount",CharacteristicValueActiveTransitionCount:"0000024B-0000-1000-8000-0026BB765291","00000143-0000-1000-8000-0026BB765291":"CharacteristicValueTransitionControl",CharacteristicValueTransitionControl:"00000143-0000-1000-8000-0026BB765291","0000008F-0000-1000-8000-0026BB765291":"ChargingState",ChargingState:"0000008F-0000-1000-8000-0026BB765291","000000DD-0000-1000-8000-0026BB765291":"ClosedCaptions",ClosedCaptions:"000000DD-0000-1000-8000-0026BB765291","000000CE-0000-1000-8000-0026BB765291":"ColorTemperature",ColorTemperature:"000000CE-0000-1000-8000-0026BB765291","00000263-0000-1000-8000-0026BB765291":"ConfigurationState",ConfigurationState:"00000263-0000-1000-8000-0026BB765291","000000E3-0000-1000-8000-0026BB765291":"ConfiguredName",ConfiguredName:"000000E3-0000-1000-8000-0026BB765291","0000006A-0000-1000-8000-0026BB765291":"ContactSensorState",ContactSensorState:"0000006A-0000-1000-8000-0026BB765291","0000000D-0000-1000-8000-0026BB765291":"CoolingThresholdTemperature",CoolingThresholdTemperature:"0000000D-0000-1000-8000-0026BB765291","00000250-0000-1000-8000-0026BB765291":"CryptoHash",CryptoHash:"00000250-0000-1000-8000-0026BB765291","000000A9-0000-1000-8000-0026BB765291":"CurrentAirPurifierState",CurrentAirPurifierState:"000000A9-0000-1000-8000-0026BB765291","0000006B-0000-1000-8000-0026BB765291":"CurrentAmbientLightLevel",CurrentAmbientLightLevel:"0000006B-0000-1000-8000-0026BB765291","0000000E-0000-1000-8000-0026BB765291":"CurrentDoorState",CurrentDoorState:"0000000E-0000-1000-8000-0026BB765291","000000AF-0000-1000-8000-0026BB765291":"CurrentFanState",CurrentFanState:"000000AF-0000-1000-8000-0026BB765291","000000B1-0000-1000-8000-0026BB765291":"CurrentHeaterCoolerState",CurrentHeaterCoolerState:"000000B1-0000-1000-8000-0026BB765291","0000000F-0000-1000-8000-0026BB765291":"CurrentHeatingCoolingState",CurrentHeatingCoolingState:"0000000F-0000-1000-8000-0026BB765291","0000006C-0000-1000-8000-0026BB765291":"CurrentHorizontalTiltAngle",CurrentHorizontalTiltAngle:"0000006C-0000-1000-8000-0026BB765291","000000B3-0000-1000-8000-0026BB765291":"CurrentHumidifierDehumidifierState",CurrentHumidifierDehumidifierState:"000000B3-0000-1000-8000-0026BB765291","000000E0-0000-1000-8000-0026BB765291":"CurrentMediaState",CurrentMediaState:"000000E0-0000-1000-8000-0026BB765291","0000006D-0000-1000-8000-0026BB765291":"CurrentPosition",CurrentPosition:"0000006D-0000-1000-8000-0026BB765291","00000010-0000-1000-8000-0026BB765291":"CurrentRelativeHumidity",CurrentRelativeHumidity:"00000010-0000-1000-8000-0026BB765291","000000AA-0000-1000-8000-0026BB765291":"CurrentSlatState",CurrentSlatState:"000000AA-0000-1000-8000-0026BB765291","00000011-0000-1000-8000-0026BB765291":"CurrentTemperature",CurrentTemperature:"00000011-0000-1000-8000-0026BB765291","000000C1-0000-1000-8000-0026BB765291":"CurrentTiltAngle",CurrentTiltAngle:"000000C1-0000-1000-8000-0026BB765291","0000022B-0000-1000-8000-0026BB765291":"CurrentTransport",CurrentTransport:"0000022B-0000-1000-8000-0026BB765291","0000006E-0000-1000-8000-0026BB765291":"CurrentVerticalTiltAngle",CurrentVerticalTiltAngle:"0000006E-0000-1000-8000-0026BB765291","00000135-0000-1000-8000-0026BB765291":"CurrentVisibilityState",CurrentVisibilityState:"00000135-0000-1000-8000-0026BB765291","00000138-0000-1000-8000-0026BB765291":"DataStreamHAPTransport",DataStreamHAPTransport:"00000138-0000-1000-8000-0026BB765291","00000139-0000-1000-8000-0026BB765291":"DataStreamHAPTransportInterrupt",DataStreamHAPTransportInterrupt:"00000139-0000-1000-8000-0026BB765291","00000224-0000-1000-8000-0026BB765291":"DiagonalFieldOfView",DiagonalFieldOfView:"00000224-0000-1000-8000-0026BB765291","0000011D-0000-1000-8000-0026BB765291":"DigitalZoom",DigitalZoom:"0000011D-0000-1000-8000-0026BB765291","00000136-0000-1000-8000-0026BB765291":"DisplayOrder",DisplayOrder:"00000136-0000-1000-8000-0026BB765291","0000023D-0000-1000-8000-0026BB765291":"EventRetransmissionMaximum",EventRetransmissionMaximum:"0000023D-0000-1000-8000-0026BB765291","00000223-0000-1000-8000-0026BB765291":"EventSnapshotsActive",EventSnapshotsActive:"00000223-0000-1000-8000-0026BB765291","0000023E-0000-1000-8000-0026BB765291":"EventTransmissionCounters",EventTransmissionCounters:"0000023E-0000-1000-8000-0026BB765291","000000AC-0000-1000-8000-0026BB765291":"FilterChangeIndication",FilterChangeIndication:"000000AC-0000-1000-8000-0026BB765291","000000AB-0000-1000-8000-0026BB765291":"FilterLifeLevel",FilterLifeLevel:"000000AB-0000-1000-8000-0026BB765291","00000052-0000-1000-8000-0026BB765291":"FirmwareRevision",FirmwareRevision:"00000052-0000-1000-8000-0026BB765291","00000234-0000-1000-8000-0026BB765291":"FirmwareUpdateReadiness",FirmwareUpdateReadiness:"00000234-0000-1000-8000-0026BB765291","00000235-0000-1000-8000-0026BB765291":"FirmwareUpdateStatus",FirmwareUpdateStatus:"00000235-0000-1000-8000-0026BB765291","0000026C-0000-1000-8000-0026BB765291":"HardwareFinish",HardwareFinish:"0000026C-0000-1000-8000-0026BB765291","00000053-0000-1000-8000-0026BB765291":"HardwareRevision",HardwareRevision:"00000053-0000-1000-8000-0026BB765291","0000024A-0000-1000-8000-0026BB765291":"HeartBeat",HeartBeat:"0000024A-0000-1000-8000-0026BB765291","00000012-0000-1000-8000-0026BB765291":"HeatingThresholdTemperature",HeatingThresholdTemperature:"00000012-0000-1000-8000-0026BB765291","0000006F-0000-1000-8000-0026BB765291":"HoldPosition",HoldPosition:"0000006F-0000-1000-8000-0026BB765291","0000021B-0000-1000-8000-0026BB765291":"HomeKitCameraActive",HomeKitCameraActive:"0000021B-0000-1000-8000-0026BB765291","00000013-0000-1000-8000-0026BB765291":"Hue",Hue:"00000013-0000-1000-8000-0026BB765291","000000E6-0000-1000-8000-0026BB765291":"Identifier",Identifier:"000000E6-0000-1000-8000-0026BB765291","00000014-0000-1000-8000-0026BB765291":"Identify",Identify:"00000014-0000-1000-8000-0026BB765291","0000011F-0000-1000-8000-0026BB765291":"ImageMirroring",ImageMirroring:"0000011F-0000-1000-8000-0026BB765291","0000011E-0000-1000-8000-0026BB765291":"ImageRotation",ImageRotation:"0000011E-0000-1000-8000-0026BB765291","000000DC-0000-1000-8000-0026BB765291":"InputDeviceType",InputDeviceType:"000000DC-0000-1000-8000-0026BB765291","000000DB-0000-1000-8000-0026BB765291":"InputSourceType",InputSourceType:"000000DB-0000-1000-8000-0026BB765291","000000D2-0000-1000-8000-0026BB765291":"InUse",InUse:"000000D2-0000-1000-8000-0026BB765291","000000D6-0000-1000-8000-0026BB765291":"IsConfigured",IsConfigured:"000000D6-0000-1000-8000-0026BB765291","00000070-0000-1000-8000-0026BB765291":"LeakDetected",LeakDetected:"00000070-0000-1000-8000-0026BB765291","00000050-0000-1000-8000-0026BB765291":"ListPairings",ListPairings:"00000050-0000-1000-8000-0026BB765291","00000019-0000-1000-8000-0026BB765291":"LockControlPoint",LockControlPoint:"00000019-0000-1000-8000-0026BB765291","0000001D-0000-1000-8000-0026BB765291":"LockCurrentState",LockCurrentState:"0000001D-0000-1000-8000-0026BB765291","0000001C-0000-1000-8000-0026BB765291":"LockLastKnownAction",LockLastKnownAction:"0000001C-0000-1000-8000-0026BB765291","0000001A-0000-1000-8000-0026BB765291":"LockManagementAutoSecurityTimeout",LockManagementAutoSecurityTimeout:"0000001A-0000-1000-8000-0026BB765291","000000A7-0000-1000-8000-0026BB765291":"LockPhysicalControls",LockPhysicalControls:"000000A7-0000-1000-8000-0026BB765291","0000001E-0000-1000-8000-0026BB765291":"LockTargetState",LockTargetState:"0000001E-0000-1000-8000-0026BB765291","0000001F-0000-1000-8000-0026BB765291":"Logs",Logs:"0000001F-0000-1000-8000-0026BB765291","00000247-0000-1000-8000-0026BB765291":"MACRetransmissionMaximum",MACRetransmissionMaximum:"00000247-0000-1000-8000-0026BB765291","00000248-0000-1000-8000-0026BB765291":"MACTransmissionCounters",MACTransmissionCounters:"00000248-0000-1000-8000-0026BB765291","00000215-0000-1000-8000-0026BB765291":"ManagedNetworkEnable",ManagedNetworkEnable:"00000215-0000-1000-8000-0026BB765291","00000227-0000-1000-8000-0026BB765291":"ManuallyDisabled",ManuallyDisabled:"00000227-0000-1000-8000-0026BB765291","00000020-0000-1000-8000-0026BB765291":"Manufacturer",Manufacturer:"00000020-0000-1000-8000-0026BB765291","0000026D-0000-1000-8000-0026BB765291":"MatterFirmwareRevisionNumber",MatterFirmwareRevisionNumber:"0000026D-0000-1000-8000-0026BB765291","0000026E-0000-1000-8000-0026BB765291":"MatterFirmwareUpdateStatus",MatterFirmwareUpdateStatus:"0000026E-0000-1000-8000-0026BB765291","00000243-0000-1000-8000-0026BB765291":"MaximumTransmitPower",MaximumTransmitPower:"00000243-0000-1000-8000-0026BB765291","00000272-0000-1000-8000-0026BB765291":"MetricsBufferFullState",MetricsBufferFullState:"00000272-0000-1000-8000-0026BB765291","00000021-0000-1000-8000-0026BB765291":"Model",Model:"00000021-0000-1000-8000-0026BB765291","00000022-0000-1000-8000-0026BB765291":"MotionDetected",MotionDetected:"00000022-0000-1000-8000-0026BB765291","0000026B-0000-1000-8000-0026BB765291":"MultifunctionButton",MultifunctionButton:"0000026B-0000-1000-8000-0026BB765291","0000011A-0000-1000-8000-0026BB765291":"Mute",Mute:"0000011A-0000-1000-8000-0026BB765291","00000023-0000-1000-8000-0026BB765291":"Name",Name:"00000023-0000-1000-8000-0026BB765291","0000021F-0000-1000-8000-0026BB765291":"NetworkAccessViolationControl",NetworkAccessViolationControl:"0000021F-0000-1000-8000-0026BB765291","0000020C-0000-1000-8000-0026BB765291":"NetworkClientProfileControl",NetworkClientProfileControl:"0000020C-0000-1000-8000-0026BB765291","0000020D-0000-1000-8000-0026BB765291":"NetworkClientStatusControl",NetworkClientStatusControl:"0000020D-0000-1000-8000-0026BB765291","00000264-0000-1000-8000-0026BB765291":"NFCAccessControlPoint",NFCAccessControlPoint:"00000264-0000-1000-8000-0026BB765291","00000265-0000-1000-8000-0026BB765291":"NFCAccessSupportedConfiguration",NFCAccessSupportedConfiguration:"00000265-0000-1000-8000-0026BB765291","0000011B-0000-1000-8000-0026BB765291":"NightVision",NightVision:"0000011B-0000-1000-8000-0026BB765291","000000C4-0000-1000-8000-0026BB765291":"NitrogenDioxideDensity",NitrogenDioxideDensity:"000000C4-0000-1000-8000-0026BB765291","00000024-0000-1000-8000-0026BB765291":"ObstructionDetected",ObstructionDetected:"00000024-0000-1000-8000-0026BB765291","00000071-0000-1000-8000-0026BB765291":"OccupancyDetected",OccupancyDetected:"00000071-0000-1000-8000-0026BB765291","00000025-0000-1000-8000-0026BB765291":"On",On:"00000025-0000-1000-8000-0026BB765291","00000232-0000-1000-8000-0026BB765291":"OperatingStateResponse",OperatingStateResponse:"00000232-0000-1000-8000-0026BB765291","0000011C-0000-1000-8000-0026BB765291":"OpticalZoom",OpticalZoom:"0000011C-0000-1000-8000-0026BB765291","00000026-0000-1000-8000-0026BB765291":"OutletInUse",OutletInUse:"00000026-0000-1000-8000-0026BB765291","000000C3-0000-1000-8000-0026BB765291":"OzoneDensity",OzoneDensity:"000000C3-0000-1000-8000-0026BB765291","0000004F-0000-1000-8000-0026BB765291":"PairingFeatures",PairingFeatures:"0000004F-0000-1000-8000-0026BB765291","0000004C-0000-1000-8000-0026BB765291":"PairSetup",PairSetup:"0000004C-0000-1000-8000-0026BB765291","0000004E-0000-1000-8000-0026BB765291":"PairVerify",PairVerify:"0000004E-0000-1000-8000-0026BB765291","000000E4-0000-1000-8000-0026BB765291":"PasswordSetting",PasswordSetting:"000000E4-0000-1000-8000-0026BB765291","00000225-0000-1000-8000-0026BB765291":"PeriodicSnapshotsActive",PeriodicSnapshotsActive:"00000225-0000-1000-8000-0026BB765291","000000E2-0000-1000-8000-0026BB765291":"PictureMode",PictureMode:"000000E2-0000-1000-8000-0026BB765291","0000023C-0000-1000-8000-0026BB765291":"Ping",Ping:"0000023C-0000-1000-8000-0026BB765291","000000C7-0000-1000-8000-0026BB765291":"PM10Density",PM10Density:"000000C7-0000-1000-8000-0026BB765291","000000C6-0000-1000-8000-0026BB765291":"PM2_5Density",PM2_5Density:"000000C6-0000-1000-8000-0026BB765291","00000072-0000-1000-8000-0026BB765291":"PositionState",PositionState:"00000072-0000-1000-8000-0026BB765291","000000DF-0000-1000-8000-0026BB765291":"PowerModeSelection",PowerModeSelection:"000000DF-0000-1000-8000-0026BB765291","00000220-0000-1000-8000-0026BB765291":"ProductData",ProductData:"00000220-0000-1000-8000-0026BB765291","00000073-0000-1000-8000-0026BB765291":"ProgrammableSwitchEvent",ProgrammableSwitchEvent:"00000073-0000-1000-8000-0026BB765291","00000074-0000-1000-8000-0026BB765291":"ProgrammableSwitchOutputState",ProgrammableSwitchOutputState:"00000074-0000-1000-8000-0026BB765291","000000D1-0000-1000-8000-0026BB765291":"ProgramMode",ProgramMode:"000000D1-0000-1000-8000-0026BB765291","0000023F-0000-1000-8000-0026BB765291":"ReceivedSignalStrengthIndication",ReceivedSignalStrengthIndication:"0000023F-0000-1000-8000-0026BB765291","00000244-0000-1000-8000-0026BB765291":"ReceiverSensitivity",ReceiverSensitivity:"00000244-0000-1000-8000-0026BB765291","00000226-0000-1000-8000-0026BB765291":"RecordingAudioActive",RecordingAudioActive:"00000226-0000-1000-8000-0026BB765291","000000C9-0000-1000-8000-0026BB765291":"RelativeHumidityDehumidifierThreshold",RelativeHumidityDehumidifierThreshold:"000000C9-0000-1000-8000-0026BB765291","000000CA-0000-1000-8000-0026BB765291":"RelativeHumidityHumidifierThreshold",RelativeHumidityHumidifierThreshold:"000000CA-0000-1000-8000-0026BB765291","0000005E-0000-1000-8000-0026BB765291":"RelayControlPoint",RelayControlPoint:"0000005E-0000-1000-8000-0026BB765291","0000005B-0000-1000-8000-0026BB765291":"RelayEnabled",RelayEnabled:"0000005B-0000-1000-8000-0026BB765291","0000005C-0000-1000-8000-0026BB765291":"RelayState",RelayState:"0000005C-0000-1000-8000-0026BB765291","000000D4-0000-1000-8000-0026BB765291":"RemainingDuration",RemainingDuration:"000000D4-0000-1000-8000-0026BB765291","000000E1-0000-1000-8000-0026BB765291":"RemoteKey",RemoteKey:"000000E1-0000-1000-8000-0026BB765291","000000AD-0000-1000-8000-0026BB765291":"ResetFilterIndication",ResetFilterIndication:"000000AD-0000-1000-8000-0026BB765291","00000028-0000-1000-8000-0026BB765291":"RotationDirection",RotationDirection:"00000028-0000-1000-8000-0026BB765291","00000029-0000-1000-8000-0026BB765291":"RotationSpeed",RotationSpeed:"00000029-0000-1000-8000-0026BB765291","0000020E-0000-1000-8000-0026BB765291":"RouterStatus",RouterStatus:"0000020E-0000-1000-8000-0026BB765291","0000002F-0000-1000-8000-0026BB765291":"Saturation",Saturation:"0000002F-0000-1000-8000-0026BB765291","0000008E-0000-1000-8000-0026BB765291":"SecuritySystemAlarmType",SecuritySystemAlarmType:"0000008E-0000-1000-8000-0026BB765291","00000066-0000-1000-8000-0026BB765291":"SecuritySystemCurrentState",SecuritySystemCurrentState:"00000066-0000-1000-8000-0026BB765291","00000067-0000-1000-8000-0026BB765291":"SecuritySystemTargetState",SecuritySystemTargetState:"00000067-0000-1000-8000-0026BB765291","00000128-0000-1000-8000-0026BB765291":"SelectedAudioStreamConfiguration",SelectedAudioStreamConfiguration:"00000128-0000-1000-8000-0026BB765291","00000209-0000-1000-8000-0026BB765291":"SelectedCameraRecordingConfiguration",SelectedCameraRecordingConfiguration:"00000209-0000-1000-8000-0026BB765291","0000024D-0000-1000-8000-0026BB765291":"SelectedDiagnosticsModes",SelectedDiagnosticsModes:"0000024D-0000-1000-8000-0026BB765291","00000117-0000-1000-8000-0026BB765291":"SelectedRTPStreamConfiguration",SelectedRTPStreamConfiguration:"00000117-0000-1000-8000-0026BB765291","00000252-0000-1000-8000-0026BB765291":"SelectedSleepConfiguration",SelectedSleepConfiguration:"00000252-0000-1000-8000-0026BB765291","00000030-0000-1000-8000-0026BB765291":"SerialNumber",SerialNumber:"00000030-0000-1000-8000-0026BB765291","000000CB-0000-1000-8000-0026BB765291":"ServiceLabelIndex",ServiceLabelIndex:"000000CB-0000-1000-8000-0026BB765291","000000CD-0000-1000-8000-0026BB765291":"ServiceLabelNamespace",ServiceLabelNamespace:"000000CD-0000-1000-8000-0026BB765291","000000D3-0000-1000-8000-0026BB765291":"SetDuration",SetDuration:"000000D3-0000-1000-8000-0026BB765291","00000131-0000-1000-8000-0026BB765291":"SetupDataStreamTransport",SetupDataStreamTransport:"00000131-0000-1000-8000-0026BB765291","00000118-0000-1000-8000-0026BB765291":"SetupEndpoints",SetupEndpoints:"00000118-0000-1000-8000-0026BB765291","00000201-0000-1000-8000-0026BB765291":"SetupTransferTransport",SetupTransferTransport:"00000201-0000-1000-8000-0026BB765291","00000241-0000-1000-8000-0026BB765291":"SignalToNoiseRatio",SignalToNoiseRatio:"00000241-0000-1000-8000-0026BB765291","00000255-0000-1000-8000-0026BB765291":"SiriEnable",SiriEnable:"00000255-0000-1000-8000-0026BB765291","00000254-0000-1000-8000-0026BB765291":"SiriEndpointSessionStatus",SiriEndpointSessionStatus:"00000254-0000-1000-8000-0026BB765291","0000025A-0000-1000-8000-0026BB765291":"SiriEngineVersion",SiriEngineVersion:"0000025A-0000-1000-8000-0026BB765291","00000132-0000-1000-8000-0026BB765291":"SiriInputType",SiriInputType:"00000132-0000-1000-8000-0026BB765291","00000258-0000-1000-8000-0026BB765291":"SiriLightOnUse",SiriLightOnUse:"00000258-0000-1000-8000-0026BB765291","00000256-0000-1000-8000-0026BB765291":"SiriListening",SiriListening:"00000256-0000-1000-8000-0026BB765291","00000257-0000-1000-8000-0026BB765291":"SiriTouchToUse",SiriTouchToUse:"00000257-0000-1000-8000-0026BB765291","000000C0-0000-1000-8000-0026BB765291":"SlatType",SlatType:"000000C0-0000-1000-8000-0026BB765291","000000E8-0000-1000-8000-0026BB765291":"SleepDiscoveryMode",SleepDiscoveryMode:"000000E8-0000-1000-8000-0026BB765291","0000023A-0000-1000-8000-0026BB765291":"SleepInterval",SleepInterval:"0000023A-0000-1000-8000-0026BB765291","00000076-0000-1000-8000-0026BB765291":"SmokeDetected",SmokeDetected:"00000076-0000-1000-8000-0026BB765291","00000054-0000-1000-8000-0026BB765291":"SoftwareRevision",SoftwareRevision:"00000054-0000-1000-8000-0026BB765291","00000249-0000-1000-8000-0026BB765291":"StagedFirmwareVersion",StagedFirmwareVersion:"00000249-0000-1000-8000-0026BB765291","00000075-0000-1000-8000-0026BB765291":"StatusActive",StatusActive:"00000075-0000-1000-8000-0026BB765291","00000077-0000-1000-8000-0026BB765291":"StatusFault",StatusFault:"00000077-0000-1000-8000-0026BB765291","00000078-0000-1000-8000-0026BB765291":"StatusJammed",StatusJammed:"00000078-0000-1000-8000-0026BB765291","00000079-0000-1000-8000-0026BB765291":"StatusLowBattery",StatusLowBattery:"00000079-0000-1000-8000-0026BB765291","0000007A-0000-1000-8000-0026BB765291":"StatusTampered",StatusTampered:"0000007A-0000-1000-8000-0026BB765291","00000120-0000-1000-8000-0026BB765291":"StreamingStatus",StreamingStatus:"00000120-0000-1000-8000-0026BB765291","000000C5-0000-1000-8000-0026BB765291":"SulphurDioxideDensity",SulphurDioxideDensity:"000000C5-0000-1000-8000-0026BB765291","00000268-0000-1000-8000-0026BB765291":"SupportedAssetTypes",SupportedAssetTypes:"00000268-0000-1000-8000-0026BB765291","00000207-0000-1000-8000-0026BB765291":"SupportedAudioRecordingConfiguration",SupportedAudioRecordingConfiguration:"00000207-0000-1000-8000-0026BB765291","00000115-0000-1000-8000-0026BB765291":"SupportedAudioStreamConfiguration",SupportedAudioStreamConfiguration:"00000115-0000-1000-8000-0026BB765291","00000205-0000-1000-8000-0026BB765291":"SupportedCameraRecordingConfiguration",SupportedCameraRecordingConfiguration:"00000205-0000-1000-8000-0026BB765291","00000144-0000-1000-8000-0026BB765291":"SupportedCharacteristicValueTransitionConfiguration",SupportedCharacteristicValueTransitionConfiguration:"00000144-0000-1000-8000-0026BB765291","00000130-0000-1000-8000-0026BB765291":"SupportedDataStreamTransportConfiguration",SupportedDataStreamTransportConfiguration:"00000130-0000-1000-8000-0026BB765291","0000024C-0000-1000-8000-0026BB765291":"SupportedDiagnosticsModes",SupportedDiagnosticsModes:"0000024C-0000-1000-8000-0026BB765291","00000238-0000-1000-8000-0026BB765291":"SupportedDiagnosticsSnapshot",SupportedDiagnosticsSnapshot:"00000238-0000-1000-8000-0026BB765291","00000233-0000-1000-8000-0026BB765291":"SupportedFirmwareUpdateConfiguration",SupportedFirmwareUpdateConfiguration:"00000233-0000-1000-8000-0026BB765291","00000271-0000-1000-8000-0026BB765291":"SupportedMetrics",SupportedMetrics:"00000271-0000-1000-8000-0026BB765291","00000210-0000-1000-8000-0026BB765291":"SupportedRouterConfiguration",SupportedRouterConfiguration:"00000210-0000-1000-8000-0026BB765291","00000116-0000-1000-8000-0026BB765291":"SupportedRTPConfiguration",SupportedRTPConfiguration:"00000116-0000-1000-8000-0026BB765291","00000251-0000-1000-8000-0026BB765291":"SupportedSleepConfiguration",SupportedSleepConfiguration:"00000251-0000-1000-8000-0026BB765291","00000202-0000-1000-8000-0026BB765291":"SupportedTransferTransportConfiguration",SupportedTransferTransportConfiguration:"00000202-0000-1000-8000-0026BB765291","00000206-0000-1000-8000-0026BB765291":"SupportedVideoRecordingConfiguration",SupportedVideoRecordingConfiguration:"00000206-0000-1000-8000-0026BB765291","00000114-0000-1000-8000-0026BB765291":"SupportedVideoStreamConfiguration",SupportedVideoStreamConfiguration:"00000114-0000-1000-8000-0026BB765291","000000B6-0000-1000-8000-0026BB765291":"SwingMode",SwingMode:"000000B6-0000-1000-8000-0026BB765291","0000022F-0000-1000-8000-0026BB765291":"TapType",TapType:"0000022F-0000-1000-8000-0026BB765291","000000A8-0000-1000-8000-0026BB765291":"TargetAirPurifierState",TargetAirPurifierState:"000000A8-0000-1000-8000-0026BB765291","00000124-0000-1000-8000-0026BB765291":"TargetControlList",TargetControlList:"00000124-0000-1000-8000-0026BB765291","00000123-0000-1000-8000-0026BB765291":"TargetControlSupportedConfiguration",TargetControlSupportedConfiguration:"00000123-0000-1000-8000-0026BB765291","00000032-0000-1000-8000-0026BB765291":"TargetDoorState",TargetDoorState:"00000032-0000-1000-8000-0026BB765291","000000BF-0000-1000-8000-0026BB765291":"TargetFanState",TargetFanState:"000000BF-0000-1000-8000-0026BB765291","000000B2-0000-1000-8000-0026BB765291":"TargetHeaterCoolerState",TargetHeaterCoolerState:"000000B2-0000-1000-8000-0026BB765291","00000033-0000-1000-8000-0026BB765291":"TargetHeatingCoolingState",TargetHeatingCoolingState:"00000033-0000-1000-8000-0026BB765291","0000007B-0000-1000-8000-0026BB765291":"TargetHorizontalTiltAngle",TargetHorizontalTiltAngle:"0000007B-0000-1000-8000-0026BB765291","000000B4-0000-1000-8000-0026BB765291":"TargetHumidifierDehumidifierState",TargetHumidifierDehumidifierState:"000000B4-0000-1000-8000-0026BB765291","00000137-0000-1000-8000-0026BB765291":"TargetMediaState",TargetMediaState:"00000137-0000-1000-8000-0026BB765291","0000007C-0000-1000-8000-0026BB765291":"TargetPosition",TargetPosition:"0000007C-0000-1000-8000-0026BB765291","00000034-0000-1000-8000-0026BB765291":"TargetRelativeHumidity",TargetRelativeHumidity:"00000034-0000-1000-8000-0026BB765291","00000035-0000-1000-8000-0026BB765291":"TargetTemperature",TargetTemperature:"00000035-0000-1000-8000-0026BB765291","000000C2-0000-1000-8000-0026BB765291":"TargetTiltAngle",TargetTiltAngle:"000000C2-0000-1000-8000-0026BB765291","0000007D-0000-1000-8000-0026BB765291":"TargetVerticalTiltAngle",TargetVerticalTiltAngle:"0000007D-0000-1000-8000-0026BB765291","00000134-0000-1000-8000-0026BB765291":"TargetVisibilityState",TargetVisibilityState:"00000134-0000-1000-8000-0026BB765291","00000036-0000-1000-8000-0026BB765291":"TemperatureDisplayUnits",TemperatureDisplayUnits:"00000036-0000-1000-8000-0026BB765291","0000021C-0000-1000-8000-0026BB765291":"ThirdPartyCameraActive",ThirdPartyCameraActive:"0000021C-0000-1000-8000-0026BB765291","00000704-0000-1000-8000-0026BB765291":"ThreadControlPoint",ThreadControlPoint:"00000704-0000-1000-8000-0026BB765291","00000702-0000-1000-8000-0026BB765291":"ThreadNodeCapabilities",ThreadNodeCapabilities:"00000702-0000-1000-8000-0026BB765291","00000706-0000-1000-8000-0026BB765291":"ThreadOpenThreadVersion",ThreadOpenThreadVersion:"00000706-0000-1000-8000-0026BB765291","00000703-0000-1000-8000-0026BB765291":"ThreadStatus",ThreadStatus:"00000703-0000-1000-8000-0026BB765291","00000231-0000-1000-8000-0026BB765291":"Token",Token:"00000231-0000-1000-8000-0026BB765291","00000242-0000-1000-8000-0026BB765291":"TransmitPower",TransmitPower:"00000242-0000-1000-8000-0026BB765291","00000061-0000-1000-8000-0026BB765291":"TunnelConnectionTimeout",TunnelConnectionTimeout:"00000061-0000-1000-8000-0026BB765291","00000060-0000-1000-8000-0026BB765291":"TunneledAccessoryAdvertising",TunneledAccessoryAdvertising:"00000060-0000-1000-8000-0026BB765291","00000059-0000-1000-8000-0026BB765291":"TunneledAccessoryConnected",TunneledAccessoryConnected:"00000059-0000-1000-8000-0026BB765291","00000058-0000-1000-8000-0026BB765291":"TunneledAccessoryStateNumber",TunneledAccessoryStateNumber:"00000058-0000-1000-8000-0026BB765291","000000D5-0000-1000-8000-0026BB765291":"ValveType",ValveType:"000000D5-0000-1000-8000-0026BB765291","00000037-0000-1000-8000-0026BB765291":"Version",Version:"00000037-0000-1000-8000-0026BB765291","00000229-0000-1000-8000-0026BB765291":"VideoAnalysisActive",VideoAnalysisActive:"00000229-0000-1000-8000-0026BB765291","000000C8-0000-1000-8000-0026BB765291":"VOCDensity",VOCDensity:"000000C8-0000-1000-8000-0026BB765291","00000119-0000-1000-8000-0026BB765291":"Volume",Volume:"00000119-0000-1000-8000-0026BB765291","000000E9-0000-1000-8000-0026BB765291":"VolumeControlType",VolumeControlType:"000000E9-0000-1000-8000-0026BB765291","000000EA-0000-1000-8000-0026BB765291":"VolumeSelector",VolumeSelector:"000000EA-0000-1000-8000-0026BB765291","00000222-0000-1000-8000-0026BB765291":"WakeConfiguration",WakeConfiguration:"00000222-0000-1000-8000-0026BB765291","00000211-0000-1000-8000-0026BB765291":"WANConfigurationList",WANConfigurationList:"00000211-0000-1000-8000-0026BB765291","00000212-0000-1000-8000-0026BB765291":"WANStatusList",WANStatusList:"00000212-0000-1000-8000-0026BB765291","000000B5-0000-1000-8000-0026BB765291":"WaterLevel",WaterLevel:"000000B5-0000-1000-8000-0026BB765291","0000022C-0000-1000-8000-0026BB765291":"WiFiCapabilities",WiFiCapabilities:"0000022C-0000-1000-8000-0026BB765291","0000022D-0000-1000-8000-0026BB765291":"WiFiConfigurationControl",WiFiConfigurationControl:"0000022D-0000-1000-8000-0026BB765291","0000021E-0000-1000-8000-0026BB765291":"WiFiSatelliteStatus",WiFiSatelliteStatus:"0000021E-0000-1000-8000-0026BB765291"};Qe.Categories={OTHER:1,BRIDGE:2,FAN:3,GARAGE_DOOR_OPENER:4,LIGHTBULB:5,DOOR_LOCK:6,OUTLET:7,SWITCH:8,THERMOSTAT:9,SENSOR:10,ALARM_SYSTEM:11,SECURITY_SYSTEM:11,DOOR:12,WINDOW:13,WINDOW_COVERING:14,PROGRAMMABLE_SWITCH:15,RANGE_EXTENDER:16,CAMERA:17,IP_CAMERA:17,VIDEO_DOORBELL:18,AIR_PURIFIER:19,AIR_HEATER:20,AIR_CONDITIONER:21,AIR_HUMIDIFIER:22,AIR_DEHUMIDIFIER:23,APPLE_TV:24,HOMEPOD:25,SPEAKER:26,AIRPORT:27,SPRINKLER:28,FAUCET:29,SHOWER_HEAD:30,TELEVISION:31,TARGET_CONTROLLER:32,ROUTER:33,AUDIO_RECEIVER:34,TV_SET_TOP_BOX:35,TV_STREAMING_STICK:36};Qe.Enums={AccessoryFlags:{1:"REQUIRES_ADDITIONAL_SETUP_BIT_MASK"},Active:{0:"INACTIVE",1:"ACTIVE"},AirParticulateSize:{0:"_2_5_M",1:"_10_M"},AirQuality:{0:"UNKNOWN",1:"EXCELLENT",2:"GOOD",3:"FAIR",4:"INFERIOR",5:"POOR"},CameraOperatingModeIndicator:{0:"DISABLE",1:"ENABLE"},CarbonDioxideDetected:{0:"CO2_LEVELS_NORMAL",1:"CO2_LEVELS_ABNORMAL"},CarbonMonoxideDetected:{0:"CO_LEVELS_NORMAL",1:"CO_LEVELS_ABNORMAL"},ChargingState:{0:"NOT_CHARGING",1:"CHARGING",2:"NOT_CHARGEABLE"},ClosedCaptions:{0:"DISABLED",1:"ENABLED"},ContactSensorState:{0:"CONTACT_DETECTED",1:"CONTACT_NOT_DETECTED"},CurrentAirPurifierState:{0:"INACTIVE",1:"IDLE",2:"PURIFYING_AIR"},CurrentDoorState:{0:"OPEN",1:"CLOSED",2:"OPENING",3:"CLOSING",4:"STOPPED"},CurrentFanState:{0:"INACTIVE",1:"IDLE",2:"BLOWING_AIR"},CurrentHeaterCoolerState:{0:"INACTIVE",1:"IDLE",2:"HEATING",3:"COOLING"},CurrentHeatingCoolingState:{0:"OFF",1:"HEAT",2:"COOL"},CurrentHumidifierDehumidifierState:{0:"INACTIVE",1:"IDLE",2:"HUMIDIFYING",3:"DEHUMIDIFYING"},CurrentMediaState:{0:"PLAY",1:"PAUSE",2:"STOP",4:"LOADING",5:"INTERRUPTED"},CurrentSlatState:{0:"FIXED",1:"JAMMED",2:"SWINGING"},CurrentVisibilityState:{0:"SHOWN",1:"HIDDEN"},EventSnapshotsActive:{0:"DISABLE",1:"ENABLE"},FilterChangeIndication:{0:"FILTER_OK",1:"CHANGE_FILTER"},HomeKitCameraActive:{0:"OFF",1:"ON"},InputDeviceType:{0:"OTHER",1:"TV",2:"RECORDING",3:"TUNER",4:"PLAYBACK",5:"AUDIO_SYSTEM"},InputSourceType:{0:"OTHER",1:"HOME_SCREEN",2:"TUNER",3:"HDMI",4:"COMPOSITE_VIDEO",5:"S_VIDEO",6:"COMPONENT_VIDEO",7:"DVI",8:"AIRPLAY",9:"USB",10:"APPLICATION"},InUse:{0:"NOT_IN_USE",1:"IN_USE"},IsConfigured:{0:"NOT_CONFIGURED",1:"CONFIGURED"},LeakDetected:{0:"LEAK_NOT_DETECTED",1:"LEAK_DETECTED"},LockCurrentState:{0:"UNSECURED",1:"SECURED",2:"JAMMED",3:"UNKNOWN"},LockLastKnownAction:{0:"SECURED_PHYSICALLY_INTERIOR",1:"UNSECURED_PHYSICALLY_INTERIOR",2:"SECURED_PHYSICALLY_EXTERIOR",3:"UNSECURED_PHYSICALLY_EXTERIOR",4:"SECURED_BY_KEYPAD",5:"UNSECURED_BY_KEYPAD",6:"SECURED_REMOTELY",7:"UNSECURED_REMOTELY",8:"SECURED_BY_AUTO_SECURE_TIMEOUT",9:"SECURED_PHYSICALLY",10:"UNSECURED_PHYSICALLY"},LockPhysicalControls:{0:"CONTROL_LOCK_DISABLED",1:"CONTROL_LOCK_ENABLED"},LockTargetState:{0:"UNSECURED",1:"SECURED"},ManagedNetworkEnable:{0:"DISABLED",1:"ENABLED"},ManuallyDisabled:{0:"ENABLED",1:"DISABLED"},OccupancyDetected:{0:"OCCUPANCY_NOT_DETECTED",1:"OCCUPANCY_DETECTED"},PeriodicSnapshotsActive:{0:"DISABLE",1:"ENABLE"},PictureMode:{0:"OTHER",1:"STANDARD",2:"CALIBRATED",3:"CALIBRATED_DARK",4:"VIVID",5:"GAME",6:"COMPUTER",7:"CUSTOM"},PositionState:{0:"DECREASING",1:"INCREASING",2:"STOPPED"},PowerModeSelection:{0:"SHOW",1:"HIDE"},ProgrammableSwitchEvent:{0:"SINGLE_PRESS",1:"DOUBLE_PRESS",2:"LONG_PRESS"},ProgramMode:{0:"NO_PROGRAM_SCHEDULED",1:"PROGRAM_SCHEDULED",2:"PROGRAM_SCHEDULED_MANUAL_MODE"},RecordingAudioActive:{0:"DISABLE",1:"ENABLE"},RemoteKey:{0:"REWIND",1:"FAST_FORWARD",2:"NEXT_TRACK",3:"PREVIOUS_TRACK",4:"ARROW_UP",5:"ARROW_DOWN",6:"ARROW_LEFT",7:"ARROW_RIGHT",8:"SELECT",9:"BACK",10:"EXIT",11:"PLAY_PAUSE",15:"INFORMATION"},RotationDirection:{0:"CLOCKWISE",1:"COUNTER_CLOCKWISE"},RouterStatus:{0:"READY",1:"NOT_READY"},SecuritySystemAlarmType:{0:"NO_ALARM",1:"UNKNOWN"},SecuritySystemCurrentState:{0:"STAY_ARM",1:"AWAY_ARM",2:"NIGHT_ARM",3:"DISARMED",4:"ALARM_TRIGGERED"},SecuritySystemTargetState:{0:"STAY_ARM",1:"AWAY_ARM",2:"NIGHT_ARM",3:"DISARM"},ServiceLabelNamespace:{0:"DOTS",1:"ARABIC_NUMERALS"},SiriInputType:{0:"PUSH_BUTTON_TRIGGERED_APPLE_TV"},SlatType:{0:"HORIZONTAL",1:"VERTICAL"},SleepDiscoveryMode:{0:"NOT_DISCOVERABLE",1:"ALWAYS_DISCOVERABLE"},SmokeDetected:{0:"SMOKE_NOT_DETECTED",1:"SMOKE_DETECTED"},StatusFault:{0:"NO_FAULT",1:"GENERAL_FAULT"},StatusJammed:{0:"NOT_JAMMED",1:"JAMMED"},StatusLowBattery:{0:"BATTERY_LEVEL_NORMAL",1:"BATTERY_LEVEL_LOW"},StatusTampered:{0:"NOT_TAMPERED",1:"TAMPERED"},SwingMode:{0:"SWING_DISABLED",1:"SWING_ENABLED"},TargetAirPurifierState:{0:"MANUAL",1:"AUTO"},TargetDoorState:{0:"OPEN",1:"CLOSED"},TargetFanState:{0:"MANUAL",1:"AUTO"},TargetHeaterCoolerState:{0:"AUTO",1:"HEAT",2:"COOL"},TargetHeatingCoolingState:{0:"OFF",1:"HEAT",2:"COOL",3:"AUTO"},TargetHumidifierDehumidifierState:{0:"HUMIDIFIER_OR_DEHUMIDIFIER",1:"HUMIDIFIER",2:"DEHUMIDIFIER"},TargetMediaState:{0:"PLAY",1:"PAUSE",2:"STOP"},TargetVisibilityState:{0:"SHOWN",1:"HIDDEN"},TemperatureDisplayUnits:{0:"CELSIUS",1:"FAHRENHEIT"},ThirdPartyCameraActive:{0:"OFF",1:"ON"},ValveType:{0:"GENERIC_VALVE",1:"IRRIGATION",2:"SHOWER_HEAD",3:"WATER_FAUCET"},VolumeControlType:{0:"NONE",1:"RELATIVE",2:"RELATIVE_WITH_CURRENT",3:"ABSOLUTE"},VolumeSelector:{0:"INCREMENT",1:"DECREMENT"},WiFiSatelliteStatus:{0:"UNKNOWN",1:"CONNECTED",2:"NOT_CONNECTED"}}});var ji=ln(C0(),1),Gi=class{constructor(n,t,o){this.name=n,this.drake=t,this.options=o,this.initEvents=!1}},pe=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}(pe||{}),_r=Object.keys(pe).map(e=>pe[e]),Sr=ji.default||ji,jt=class{constructor(n=Sr){this.build=n}},ht=(e,n,t)=>o=>o.pipe(Nt(({event:i,name:l})=>i===e&&(n===void 0||l===n)),ci(({name:i,args:l})=>t(i,l))),xr=(e,[n,t,o])=>({name:e,el:n,container:t,source:o}),Ui=(()=>{let n=class n{constructor(o){this.drakeFactory=o,this.groups={},this.dispatch$=new re,this.elContainerSource=i=>l=>this.dispatch$.pipe(ht(i,l,xr)),this.cancel=this.elContainerSource(pe.Cancel),this.remove=this.elContainerSource(pe.Remove),this.shadow=this.elContainerSource(pe.Shadow),this.over=this.elContainerSource(pe.Over),this.out=this.elContainerSource(pe.Out),this.drag=i=>this.dispatch$.pipe(ht(pe.Drag,i,(l,[f,b])=>({name:l,el:f,source:b}))),this.dragend=i=>this.dispatch$.pipe(ht(pe.DragEnd,i,(l,[f])=>({name:l,el:f}))),this.drop=i=>this.dispatch$.pipe(ht(pe.Drop,i,(l,[f,b,k,I])=>({name:l,el:f,target:b,source:k,sibling:I}))),this.cloned=i=>this.dispatch$.pipe(ht(pe.Cloned,i,(l,[f,b,k])=>({name:l,clone:f,original:b,cloneType:k}))),this.dropModel=i=>this.dispatch$.pipe(ht(pe.DropModel,i,(l,[f,b,k,I,G,J,X,W,xe])=>({name:l,el:f,target:b,source:k,sibling:I,item:G,sourceModel:J,targetModel:X,sourceIndex:W,targetIndex:xe}))),this.removeModel=i=>this.dispatch$.pipe(ht(pe.RemoveModel,i,(l,[f,b,k,I,G,J])=>({name:l,el:f,container:b,source:k,item:I,sourceModel:G,sourceIndex:J}))),(this.drakeFactory===null||this.drakeFactory===void 0)&&(this.drakeFactory=new jt)}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 Gi(o,this.drakeFactory.build([],i),i))}handleModels({name:o,drake:i,options:l}){let f,b,k;i.on("remove",(I,G,J)=>{if(!i.models)return;let X=i.models[i.containers.indexOf(J)];X=X.slice(0);let W=X.splice(b,1)[0];this.dispatch$.next({event:pe.RemoveModel,name:o,args:[I,G,J,W,X,b]})}),i.on("drag",(I,G)=>{i.models&&(f=I,b=this.domIndexOf(I,G))}),i.on("drop",(I,G,J,X)=>{if(!i.models||!G)return;k=this.domIndexOf(I,G);let W=i.models[i.containers.indexOf(J)],xe=i.models[i.containers.indexOf(G)],ne;if(G===J)W=W.slice(0),ne=W.splice(b,1)[0],W.splice(k,0,ne),xe=W;else{let N=f!==I;if(ne=W[b],N){if(!l.copyItem)throw new Error("If you have enabled `copy` on a group, you must provide a `copyItem` function.");ne=l.copyItem(ne)}if(N||(W=W.slice(0),W.splice(b,1)),xe=xe.slice(0),xe.splice(k,0,ne),N)try{G.removeChild(I)}catch{}}this.dispatch$.next({event:pe.DropModel,name:o,args:[I,G,J,X,ne,W,xe,b,k]})})}setupEvents(o){if(o.initEvents)return;o.initEvents=!0;let i=o.name,l=this,f=b=>{switch(b){case pe.Drag:o.drake.on(b,(...k)=>{this.dispatch$.next({event:b,name:i,args:k})});break;case pe.Drop:o.drake.on(b,(...k)=>{this.dispatch$.next({event:b,name:i,args:k})});break;case pe.DragEnd:o.drake.on(b,(...k)=>{this.dispatch$.next({event:b,name:i,args:k})});break;case pe.Cancel:case pe.Remove:case pe.Shadow:case pe.Over:case pe.Out:o.drake.on(b,(...k)=>{this.dispatch$.next({event:b,name:i,args:k})});break;case pe.Cloned:o.drake.on(b,(...k)=>{this.dispatch$.next({event:b,name:i,args:k})});break;case pe.DropModel:o.drake.on(b,(...k)=>{this.dispatch$.next({event:b,name:i,args:k})});break;case pe.RemoveModel:o.drake.on(b,(...k)=>{this.dispatch$.next({event:b,name:i,args:k})});break;default:break}};_r.forEach(f)}domIndexOf(o,i){if(i)return Array.prototype.indexOf.call(i.children,o)}};n.\u0275fac=function(i){return new(i||n)(qe(jt,8))},n.\u0275prov=ot({token:n,factory:n.\u0275fac,providedIn:"root"});let e=n;return e})(),Pp=(()=>{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){if(o&&o.dragula){let{previousValue:i,currentValue:l,firstChange:f}=o.dragula,b=!!i,k=!!l;b&&this.teardown(i),k&&this.setup()}else if(o&&o.dragulaModel){let{previousValue:i,currentValue:l,firstChange:f}=o.dragulaModel,b=this.group?.drake;if(this.dragula&&b){b.models=b.models||[];let k=b.models.indexOf(i);k!==-1?(b.models.splice(k,1),l&&b.models.splice(k,0,l)):l&&b.models.push(l)}}}setup(){let o=l=>{this.dragulaModel&&(l.drake?.models?l.drake?.models?.push(this.dragulaModel):l.drake&&(l.drake.models=[this.dragulaModel]))};if(!this.dragula)return;let i=this.dragulaService.find(this.dragula);if(!i){let l={};i=this.dragulaService.createGroup(this.dragula,l)}o(i),i.drake?.containers.push(this.container),this.subscribe(this.dragula),this.group=i}subscribe(o){this.subs=new Ri,this.subs.add(this.dragulaService.dropModel(o).subscribe(({source:i,target:l,sourceModel:f,targetModel:b})=>{i===this.el.nativeElement?this.dragulaModelChange.emit(f):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){this.subs&&this.subs.unsubscribe();let i=this.dragulaService.find(o);if(i){let l=i.drake?.containers.indexOf(this.el.nativeElement);if(l!==-1&&i.drake?.containers.splice(l,1),this.dragulaModel&&i.drake&&i.drake.models){let f=i.drake.models.indexOf(this.dragulaModel);f!==-1&&i.drake.models.splice(f,1)}}}ngOnDestroy(){this.dragula&&this.teardown(this.dragula)}};n.\u0275fac=function(i){return new(i||n)(Ee(at),Ee(Ui))},n.\u0275dir=Mt({type:n,selectors:[["","dragula",""]],inputs:{dragula:"dragula",dragulaModel:"dragulaModel"},outputs:{dragulaModelChange:"dragulaModelChange"},standalone:!1,features:[rt]});let e=n;return e})(),Lp=(()=>{let n=class n{static forRoot(){return{ngModule:n,providers:[Ui]}}};n.\u0275fac=function(i){return new(i||n)},n.\u0275mod=Tt({type:n}),n.\u0275inj=bt({providers:[Ui]});let e=n;return e})(),Rp=new jt((e,n)=>new Wi(e,n)),Wi=class{constructor(n=[],t={},o){this.containers=n,this.options=t,this.models=o,this.emitter$=new re,this.subs=new Ri,this.dragging=!1}on(n,t){this.subs.add(this.emitter$.pipe(Nt(({eventType:o})=>o===n)).subscribe(({eventType:o,args:i})=>{if(o===pe.Drag){let l=Array.from(i),f=l[0],b=l[1];t(f,b);return}if(o===pe.Drop){let l=Array.from(i),f=l[0],b=l[1],k=l[2],I=l[3];t(f,b,k,I);return}if(o===pe.Remove){let l=Array.from(i),f=l[0],b=l[1],k=l[2];t(f,b,k);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 x0=ln(_0(),1);var $e=(()=>{class e{$settings=H(Ze);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=Et({name:"convertTemp",type:e,pure:!0})}return e})();var S0=(()=>{class e{transform(t){return typeof t!="string"?t:t.replace(/_/g," ").toLowerCase().replace(/\b\w/g,o=>o.toUpperCase()).replace(/([a-z])([A-Z])/g,"$1 $2")}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=Et({name:"prettify",type:e,pure:!0})}return e})();function yr(e,n){if(e&1){let t=j();a(0,"li",10)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"div",12)(5,"input",25),d(6,"translate"),te("ngModelChange",function(i){L(t);let l=g();return ee(l.service.onDashboard,i)||(l.service.onDashboard=i),R(i)}),s(),v(7,"label",26),s()()}if(e&2){let t=g();r(2),S(p(3,3,"accessories.show_on_dashboard")),r(3),Q("ngModel",t.service.onDashboard),w("aria-label",p(6,5,"accessories.show_on_dashboard"))}}function Br(e,n){if(e&1&&c(0),e&2){let t=g().$implicit;B(" ",t.value,"% ")}}function br(e,n){if(e&1&&(c(0),d(1,"convertTemp")),e&2){let t=g().$implicit;B(" ",p(1,1,t.value),"\xB0 ")}}function Tr(e,n){if(e&1&&c(0),e&2){let t=g().$implicit;B(" ",t.value," ")}}function Mr(e,n){if(e&1&&(c(0),d(1,"prettify")),e&2){let t=g().$implicit,o=g();B(" (",p(1,1,o.enums[t.type][t.value]),") ")}}function Er(e,n){if(e&1&&(a(0,"li",17)(1,"span",11),c(2),s(),a(3,"span",18),h(4,Br,1,1)(5,br,2,3)(6,Tr,1,1),h(7,Mr,2,3),s()()),e&2){let t,o=n.$implicit,i=g();r(2),S(o.description),r(2),C((t=o.unit)==="percentage"?4:t==="celsius"?5:6),r(3),C(i.enums[o.type][o.value]?7:-1)}}function wr(e,n){if(e&1&&c(0),e&2){let t=g().$implicit;B(" ",t.value,"% ")}}function kr(e,n){if(e&1&&(c(0),d(1,"convertTemp")),e&2){let t=g().$implicit;B(" ",p(1,1,t.value),"\xB0 ")}}function Dr(e,n){if(e&1&&c(0),e&2){let t=g().$implicit;B(" ",t.value," ")}}function Ar(e,n){if(e&1&&(c(0),d(1,"prettify")),e&2){let t=g().$implicit,o=g(2);B(" (",p(1,1,o.enums[t.type][t.value]),") ")}}function Ir(e,n){if(e&1&&(a(0,"li",17)(1,"span",11),c(2),s(),a(3,"span",18),h(4,wr,1,1)(5,kr,2,3)(6,Dr,1,1),h(7,Ar,2,3),s()()),e&2){let t,o=n.$implicit,i=g(2);r(2),S(o.description),r(2),C((t=o.unit)==="percentage"?4:t==="celsius"?5:6),r(3),C(i.enums[o.type][o.value]?7:-1)}}function Vr(e,n){if(e&1&&(a(0,"ul",5)(1,"li",15)(2,"h6",16),c(3),d(4,"translate"),s()(),a(5,"li",17)(6,"span",11),c(7),d(8,"translate"),s(),a(9,"span",18),c(10),s()(),a(11,"li",17)(12,"span",11),c(13),d(14,"translate"),s(),a(15,"span",18),c(16),s()(),gt(17,Ir,8,3,"li",17,vt),s()),e&2){let t=n.$implicit;r(3),S(p(4,5,"accessories.service_info")),r(4),S(p(8,7,"accessories.service")),r(3),S(t.humanType),r(3),S(p(14,9,"accessories.name")),r(3),S(t.serviceName),r(),ft(t.serviceCharacteristics)}}function Pr(e,n){if(e&1&&(a(0,"li",17)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",18),c(5),s()()),e&2){let t=g(2);r(2),S(p(3,2,"child_bridge.config.platform")),r(3),S(t.matchedCachedAccessory.platform)}}function Lr(e,n){if(e&1&&(a(0,"li",17)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",18),c(5),s()()),e&2){let t=g(2);r(2),S(p(3,2,"child_bridge.config.accessory")),r(3),S(t.matchedCachedAccessory.accessory)}}function Rr(e,n){if(e&1&&(a(0,"li",17)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",18),c(5),s()(),h(6,Pr,6,4,"li",17),h(7,Lr,6,4,"li",17)),e&2){let t=g();r(2),S(p(3,4,"accessories.plugin")),r(3),S(t.matchedCachedAccessory.plugin),r(),C(t.matchedCachedAccessory.platform?6:-1),r(),C(t.matchedCachedAccessory.accessory?7:-1)}}function Or(e,n){if(e&1&&(a(0,"li",17)(1,"span",11),c(2),s(),a(3,"span",18),c(4),s()()),e&2){let t=n.$implicit;r(2),S(t.key),r(2),S(t.value)}}function Hr(e,n){if(e&1&&(a(0,"li",17)(1,"span",11),c(2),d(3,"translate"),s(),a(4,"span",18),c(5),s()()),e&2){let t=g();r(2),S(p(3,2,"accessories.bridge_name")),r(3),S(t.matchedCachedAccessory.bridge)}}function Nr(e,n){if(e&1){let t=j();a(0,"li",17)(1,"span",20),c(2,"UUID"),s(),a(3,"span",18),c(4),s()(),a(5,"li",27)(6,"span",11),c(7),d(8,"translate"),s(),a(9,"button",28),y("click",function(){L(t);let i=g();return R(i.removeSingleCachedAccessories())}),v(10,"i",29),s()()}if(e&2){let t=g();r(4),S(t.matchedCachedAccessory.UUID),r(3),S(p(8,2,"accessories.button_remove"))}}var y0=(()=>{class e{$activeModal=H(ce);$modal=H(ae);service;accessoryCache;pairingCache;accessoryInformation;extraServices=[];matchedCachedAccessory=null;enums=x0.Enums;constructor(){}ngOnInit(){this.accessoryInformation=Object.entries(this.service.accessoryInformation).map(([t,o])=>({key:t,value:o})),this.matchedCachedAccessory=this.matchToCachedAccessory(),this.service.type==="LockMechanism"&&Object.values(this.service.linkedServices).filter(t=>t.type==="LockManagement").forEach(t=>this.extraServices.push(t))}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(f=>f.$cacheFile===i);if(l.length){let f=this.service.accessoryInformation.Name,b=this.service.accessoryInformation["Serial Number"],k=l.filter(I=>{let G=I.services.find(W=>W.constructorName==="AccessoryInformation"),J=G.characteristics.find(W=>W.displayName==="Name"),X=G.characteristics.find(W=>W.displayName==="Serial Number");return J.value===f&&X.value===b});if(k.length===1)return sn(an({},k[0]),{bridge:o.name})}}}removeSingleCachedAccessories(){this.$activeModal.close();let t=this.$modal.open(Hn,{size:"lg",backdrop:"static"});t.componentInstance.selectedBridge=this.service.instance.username.replaceAll(":","")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["ng-component"]],inputs:{service:"service",accessoryCache:"accessoryCache",pairingCache:"pairingCache"},decls:90,vars:53,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","d-flex","align-items-center"],["type","checkbox","id","hide-accessory",1,"rendux-input",3,"ngModelChange","ngModel"],["for","hide-accessory",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"],["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","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),d(5,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(6,"div",4)(7,"ul",5)(8,"li",6)(9,"label",7),c(10),d(11,"translate"),s(),a(12,"div",8)(13,"input",9),y("ngModelChange",function(f){return i.service.customName=f}),s()()(),a(14,"li",10)(15,"span",11),c(16),d(17,"translate"),s(),a(18,"div",12)(19,"input",13),d(20,"translate"),te("ngModelChange",function(f){return ee(i.service.hidden,f)||(i.service.hidden=f),f}),s(),v(21,"label",14),s()(),h(22,yr,8,7,"li",10),s(),a(23,"ul",5)(24,"li",15)(25,"h6",16),c(26),d(27,"translate"),s()(),a(28,"li",17)(29,"span",11),c(30),d(31,"translate"),s(),a(32,"span",18),c(33),s()(),a(34,"li",17)(35,"span",11),c(36),d(37,"translate"),s(),a(38,"span",18),c(39),s()(),gt(40,Er,8,3,"li",17,vt),s(),gt(42,Vr,19,11,"ul",5,vt),a(44,"ul",19)(45,"li",15)(46,"h6",16),c(47),d(48,"translate"),s()(),h(49,Rr,8,6),gt(50,Or,5,2,"li",17,vt),a(52,"li",17)(53,"span",11),c(54),d(55,"translate"),s(),a(56,"span",18),c(57),s()(),h(58,Hr,6,4,"li",17),a(59,"li",17)(60,"span",11),c(61),d(62,"translate"),s(),a(63,"span",18),c(64),s()(),a(65,"li",17)(66,"span",11),c(67),d(68,"translate"),s(),a(69,"span",18),c(70),s()(),a(71,"li",17)(72,"span",20),c(73,"aid"),s(),a(74,"span",18),c(75),s()(),a(76,"li",17)(77,"span",20),c(78,"iid"),s(),a(79,"span",18),c(80),s()(),h(81,Nr,11,4),s()(),a(82,"div",21),v(83,"div",11),a(84,"div",22)(85,"button",23),d(86,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),c(87),d(88,"translate"),s()(),v(89,"div",24),s()()),o&2&&(r(3),S(i.service.customName||i.service.serviceName),r(),w("aria-label",p(5,27,"form.button_close")),r(6),S(p(11,29,"accessories.custom_name")),r(3),m("ngModel",i.service.customName||i.service.serviceName),r(3),S(p(17,31,"accessories.hide_this_accessory")),r(3),Q("ngModel",i.service.hidden),w("aria-label",p(20,33,"accessories.hide_this_accessory")),r(3),C(i.service.hidden?-1:22),r(4),S(p(27,35,"accessories.service_info")),r(4),S(p(31,37,"accessories.service")),r(3),S(i.service.humanType),r(3),S(p(37,39,"accessories.name")),r(3),S(i.service.serviceName),r(),ft(i.service.serviceCharacteristics),r(2),ft(i.extraServices),r(5),S(p(48,41,"accessories.accessory_info")),r(2),C(i.matchedCachedAccessory?49:-1),r(),ft(i.accessoryInformation),r(4),S(p(55,43,"accessories.bridge_username")),r(3),S(i.service.instance.username),r(),C(i.matchedCachedAccessory?58:-1),r(3),S(p(62,45,"accessories.bridge_ip")),r(3),S(i.service.instance.ipAddress),r(3),S(p(68,47,"accessories.bridge_port")),r(3),S(i.service.instance.port),r(5),S(i.service.aid),r(5),S(i.service.iid),r(),C(i.matchedCachedAccessory?81:-1),r(4),w("aria-label",p(86,49,"form.button_close")),r(2),B(" ",p(88,51,"form.button_close")," "))},dependencies:[le,In,An,fe,he,A,$e,S0],encapsulation:2})}return e})();var B0=(()=>{class e{$api=H(Ln);$auth=H(Rn);$modal=H(ae);$toastr=H(Pn);$translate=H(Vn);$ws=H(On);layoutSaved=new re;accessoryData=new re;readyForControl=!1;accessoryLayout;accessories={services:[]};rooms=[];io;roomsOrdered=!1;hiddenTypes=["InputSource","LockManagement","CameraRTPStreamManagement","ProtocolInformation"];accessoryCache=[];pairingCache=[];constructor(){li(this.$api.get("/server/cached-accessories")).then(t=>{this.accessoryCache=t}).catch(t=>console.error(t)),li(this.$api.get("/server/pairings")).then(t=>{this.pairingCache=t}).catch(t=>console.error(t))}showAccessoryInformation(t){let o=this.$modal.open(y0,{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 si(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",()=>si(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 si(this,null,function*(){this.accessoryLayout=yield li(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);o.type==="LockMechanism"&&this.attachLockManagementToMechanism(o),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(f=>f.uniqueId===t.uniqueId));if(i)this.rooms.find(l=>l.name===i.name).services.push(t);else{let l=this.rooms.find(f=>f.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 f=o.services.findIndex(k=>k.uniqueId===i.uniqueId),b=o.services.findIndex(k=>k.uniqueId===l.uniqueId);return f<b?-1:f>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(f=>f.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(f=>(this.readyForControl||f(void 0),this.io.socket.emit("accessory-control",{set:{uniqueId:t.uniqueId,aid:t.aid,siid:t.iid,iid:i.iid,value:l}}),f(void 0))),i):null})})}attachLockManagementToMechanism(t){let o=[],i=[];for(let l of this.accessories.services)l.type==="LockMechanism"&&l.accessoryInformation.Name===t.accessoryInformation.Name&&l.accessoryInformation["Serial Number"]===t.accessoryInformation["Serial Number"]?o.push(l):l.type==="LockManagement"&&l.accessoryInformation.Name===t.accessoryInformation.Name&&l.accessoryInformation["Serial Number"]===t.accessoryInformation["Serial Number"]&&i.push(l);if(o.length===1&&i.length===1){let l=i[0];t.linkedServices||(t.linkedServices={}),t.linkedServices[l.iid]=l}}static \u0275fac=function(o){return new(o||e)};static \u0275prov=ot({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Ct=function(){function e(){}return e}();var hi=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 f=n._prevSVG&&n._prevSVG.parentNode;f&&this._renderer.removeChild(f,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=[],f=0;f<i.length;f++){var b=i[f].getAttribute("type");if(!b||b==="application/ecmascript"||b==="application/javascript"){var k=i[f].innerText||i[f].textContent;l.push(k),this._renderer.removeChild(i[f].parentNode,i[f])}}if(l.length>0&&(o==="always"||o==="once"&&!this._ranScripts[t])){for(var f=0;f<l.length;f++)new Function(l[f])(window);this._ranScripts[t]=!0}},e.\u0275fac=function(t){return new(t||e)(qe(di))},e.\u0275prov=ot({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();var $i=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)(Ee(hi),Ee(at))},e.\u0275cmp=M({type:e,selectors:[["inline-svg"]],inputs:{context:"context",content:"content",replaceContents:"replaceContents",prepend:"prepend"},features:[rt],decls:0,vars:0,template:function(t,o){},encapsulation:2,changeDetection:0}),e}();var $t=function(){function e(n,t,o,i,l,f){this._appBase=n,this._location=t,this._config=o,this._http=o&&!o.bypassHttpClientInterceptorChain?i:new gi(l),this._renderer=f.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 dn(this._cloneSVG(e._cache.get(l)));if(e._inProgressReqs.has(l))return e._inProgressReqs.get(l);var f=this._http.get(l,{responseType:"text"}).pipe(fn(function(){e._inProgressReqs.delete(l)}),un(function(b){return e._inProgressReqs.delete(l),pn(b.message)}),gn(),ci(function(b){var k=i._svgElementFromString(b);return e._cache.set(l,k),i._cloneSVG(k)}));return e._inProgressReqs.set(l,f),f},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(wn,8),qe(En,8),qe(Ct,8),qe(gi),qe(kn),qe(di))},e.\u0275prov=ot({token:e,factory:e.\u0275fac,providedIn:"root"}),e}();function M0(e){return e.charAt(0)==="#"||e.indexOf(".svg#")>-1}function E0(){return typeof SVGRect<"u"}function w0(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 zi(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++)zi(i[t],n)}function k0(e,n){for(var t in n)e.setAttribute(t,n[t])}var q=function(){function e(n,t,o,i,l,f,b,k){this._el=n,this._viewContainerRef=t,this._resolver=o,this._svgCache=i,this._renderer=l,this._inlineSVGService=f,this._config=b,this.platformId=k,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=E0(),!Ft(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),!(!Ft(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(M0(t.inlineSVG)){var i=t.inlineSVG.split("#")[1];o=w0(t._renderer,o,i)}t._processSvg(o)},function(o){t._fail(o)}))}},e.prototype._processSvg=function(n){if(n){if(this.removeSVGAttributes&&vi(this.platformId)&&zi(n,this.removeSVGAttributes),this.setSVGAttributes&&k0(n,this.setSVGAttributes),this.onSVGLoaded&&(n=this.onSVGLoaded(n,this._el.nativeElement)),this._insertEl(n),vi(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($i);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($i)._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 Ft(this.platformId)||vi(this.platformId)},e.prototype._isSSRDisabled=function(){return Ft(this.platformId)&&this._config&&this._config.clientOnly},e.\u0275fac=function(t){return new(t||e)(Ee(at),Ee(Sn),Ee(_n),Ee($t),Ee(pi),Ee(hi),Ee(Ct,8),Ee(Cn))},e.\u0275dir=Mt({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:[ui([$t]),rt]}),e}();var Y=function(){function e(){}return e.forRoot=function(n){return{ngModule:e,providers:[{provide:Ct,useValue:n}]}},e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Tt({type:e}),e.\u0275inj=bt({}),e}();var _t=function(e){return e.Range="range",e.Steps="steps",e.Positions="positions",e.Count="count",e.Values="values",e}(_t||{}),He=function(e){return e[e.None=-1]="None",e[e.NoValue=0]="NoValue",e[e.LargeValue=1]="LargeValue",e[e.SmallValue=2]="SmallValue",e}(He||{});function Ur(e){return _i(e)&&typeof e.from=="function"}function _i(e){return typeof e=="object"&&typeof e.to=="function"}function D0(e){e.parentElement.removeChild(e)}function qi(e){return e!=null}function A0(e){e.preventDefault()}function Wr(e){return e.filter(function(n){return this[n]?!1:this[n]=!0},{})}function jr(e,n){return Math.round(e/n)*n}function $r(e,n){var t=e.getBoundingClientRect(),o=e.ownerDocument,i=o.documentElement,l=L0(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 Ye(e){return typeof e=="number"&&!isNaN(e)&&isFinite(e)}function I0(e,n,t){t>0&&(Pe(e,n),setTimeout(function(){Ci(e,n)},t))}function V0(e){return Math.max(Math.min(e,100),0)}function Si(e){return Array.isArray(e)?e:[e]}function zr(e){e=String(e);var n=e.split(".");return n.length>1?n[1].length:0}function Pe(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 qr(e,n){return e.classList?e.classList.contains(n):new RegExp("\\b"+n+"\\b").test(e.className)}function L0(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 Yr(){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 Kr(){var e=!1;try{var n=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,n)}catch{}return e}function Xr(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function Ki(e,n){return 100/(n-e)}function Yi(e,n,t){return n*100/(e[t+1]-e[t])}function Zr(e,n){return Yi(e,e[0]<0?n+Math.abs(e[0]):n-e[0],0)}function Jr(e,n){return n*(e[1]-e[0])/100+e[0]}function zt(e,n){for(var t=1;e>=n[t];)t+=1;return t}function Qr(e,n,t){if(t>=e.slice(-1)[0])return 100;var o=zt(t,e),i=e[o-1],l=e[o],f=n[o-1],b=n[o];return f+Zr([i,l],t)/Ki(f,b)}function ea(e,n,t){if(t>=100)return e.slice(-1)[0];var o=zt(t,n),i=e[o-1],l=e[o],f=n[o-1],b=n[o];return Jr([i,l],(t-f)*Ki(f,b))}function ta(e,n,t,o){if(o===100)return o;var i=zt(o,e),l=e[i-1],f=e[i];return t?o-l>(f-l)/2?f:l:n[i-1]?e[i-1]+jr(o-e[i-1],n[i-1]):o}var ia=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(f){l.push([Si(n[f]),f])}),l.sort(function(f,b){return f[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]=Yi(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,f=1,b=t[i],k=0,I=0,G=0,J=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;)k=this.xPct[i+1+J]-this.xPct[i+J],t[i+J]*f+100-l*100>100?(I=k*l,f=(b-100*l)/t[i+J],l=1):(I=t[i+J]*k/100*f,f=0),o?(G=G-I,this.xPct.length+J>=1&&J--):(G=G+I,this.xPct.length-J>=1&&J++),b=t[i+J]*f;return n+G},e.prototype.toStepping=function(n){return n=Qr(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=ta(this.xPct,this.xSteps,this.snap,n),n},e.prototype.getDefaultStep=function(n,t,o){var i=zt(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=zt(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(zr);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),!Ye(o)||!Ye(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]=Yi([this.xVal[n],this.xVal[n+1]],t,0)/Ki(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}(),P0={to:function(e){return e===void 0?"":e.toFixed(2)},from:Number},na={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"},dt={tooltips:".__tooltips",aria:".__aria"};function oa(e,n){if(!Ye(n))throw new Error("noUiSlider: 'step' is not numeric.");e.singleStep=n}function ra(e,n){if(!Ye(n))throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric.");e.keyboardPageMultiplier=n}function aa(e,n){if(!Ye(n))throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric.");e.keyboardMultiplier=n}function sa(e,n){if(!Ye(n))throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric.");e.keyboardDefaultStep=n}function la(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 ia(n,e.snap||!1,e.singleStep)}function ca(e,n){if(n=Si(n),!Array.isArray(n)||!n.length)throw new Error("noUiSlider: 'start' option is incorrect.");e.handles=n.length,e.start=n}function da(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'snap' option must be a boolean.");e.snap=n}function pa(e,n){if(typeof n!="boolean")throw new Error("noUiSlider: 'animate' option must be a boolean.");e.animate=n}function ma(e,n){if(typeof n!="number")throw new Error("noUiSlider: 'animationDuration' option must be a number.");e.animationDuration=n}function R0(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 ua(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 O0(e,n){if(!Ye(n))throw new Error("noUiSlider: 'margin' option must be numeric.");n!==0&&(e.margin=e.spectrum.getDistance(n))}function va(e,n){if(!Ye(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 ga(e,n){var t;if(!Ye(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||Ye(n[0])||Ye(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 fa(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 ha(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,f=n.indexOf("hover")>=0,b=n.indexOf("unconstrained")>=0,k=n.indexOf("invert-connects")>=0,I=n.indexOf("drag-all")>=0,G=n.indexOf("smooth-steps")>=0;if(i){if(e.handles!==2)throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles");O0(e,e.start[1]-e.start[0])}if(k&&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:I,smoothSteps:G,fixed:i,snap:l,hover:f,unconstrained:b,invertConnects:k}}function Ca(e,n){if(n!==!1)if(n===!0||_i(n)){e.tooltips=[];for(var t=0;t<e.handles;t++)e.tooltips.push(n)}else{if(n=Si(n),n.length!==e.handles)throw new Error("noUiSlider: must pass a formatter for all handles.");n.forEach(function(o){if(typeof o!="boolean"&&!_i(o))throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'.")}),e.tooltips=n}}function _a(e,n){if(n.length!==e.handles)throw new Error("noUiSlider: must pass a attributes for all handles.");e.handleAttributes=n}function Sa(e,n){if(!_i(n))throw new Error("noUiSlider: 'ariaFormat' requires 'to' method.");e.ariaFormat=n}function xa(e,n){if(!Ur(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 Ba(e,n){e.documentElement=n}function ba(e,n){if(typeof n!="string"&&n!==!1)throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`.");e.cssPrefix=n}function Ta(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 H0(e){var n={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:P0,format:P0},t={step:{r:!1,t:oa},keyboardPageMultiplier:{r:!1,t:ra},keyboardMultiplier:{r:!1,t:aa},keyboardDefaultStep:{r:!1,t:sa},start:{r:!0,t:ca},connect:{r:!0,t:R0},direction:{r:!0,t:fa},snap:{r:!1,t:da},animate:{r:!1,t:pa},animationDuration:{r:!1,t:ma},range:{r:!0,t:la},orientation:{r:!1,t:ua},margin:{r:!1,t:O0},limit:{r:!1,t:va},padding:{r:!1,t:ga},behaviour:{r:!0,t:ha},ariaFormat:{r:!1,t:Sa},format:{r:!1,t:xa},tooltips:{r:!1,t:Ca},keyboardSupport:{r:!0,t:ya},documentElement:{r:!1,t:Ba},cssPrefix:{r:!0,t:ba},cssClasses:{r:!0,t:Ta},handleAttributes:{r:!1,t:_a}},o={connect:!1,direction:"ltr",behaviour:"tap",orientation:"horizontal",keyboardSupport:!0,cssPrefix:"noUi-",cssClasses:na,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(t).forEach(function(k){if(!qi(e[k])&&o[k]===void 0){if(t[k].r)throw new Error("noUiSlider: '"+k+"' is required.");return}t[k].t(n,qi(e[k])?e[k]:o[k])}),n.pips=e.pips;var i=document.createElement("div"),l=i.style.msTransform!==void 0,f=i.style.transform!==void 0;n.transformRule=f?"transform":l?"msTransform":"webkitTransform";var b=[["left","top"],["right","bottom"]];return n.style=b[n.dir][n.ort],n}function Ma(e,n,t){var o=Yr(),i=Xr(),l=i&&Kr(),f=e,b,k,I,G,J,X,W=n.spectrum,xe=[],ne=[],N=[],ge=0,Ne={},it=!1,Ke=e.ownerDocument,pt=n.documentElement||Ke.documentElement,St=Ke.body,Kt=Ke.dir==="rtl"||n.ort===1?0:100;function ze(u,_){var x=Ke.createElement("div");return _&&Pe(x,_),u.appendChild(x),x}function Ei(u,_){var x=ze(u,n.cssClasses.origin),E=ze(x,n.cssClasses.handle);if(ze(E,n.cssClasses.touchArea),E.setAttribute("data-handle",String(_)),n.keyboardSupport&&(E.setAttribute("tabindex","0"),E.addEventListener("keydown",function(P){return nt(P,_)})),n.handleAttributes!==void 0){var V=n.handleAttributes[_];Object.keys(V).forEach(function(P){E.setAttribute(P,V[P])})}return E.setAttribute("role","slider"),E.setAttribute("aria-orientation",n.ort?"vertical":"horizontal"),_===0?Pe(E,n.cssClasses.handleLower):_===n.handles-1&&Pe(E,n.cssClasses.handleUpper),x.handle=E,x}function mt(u,_){return _?ze(u,n.cssClasses.connect):!1}function wi(u,_){k=ze(_,n.cssClasses.connects),I=[],G=[],G.push(mt(k,u[0]));for(var x=0;x<n.handles;x++)I.push(Ei(_,x)),N[x]=x,G.push(mt(k,u[x+1]))}function ki(u){Pe(u,n.cssClasses.target),n.dir===0?Pe(u,n.cssClasses.ltr):Pe(u,n.cssClasses.rtl),n.ort===0?Pe(u,n.cssClasses.horizontal):Pe(u,n.cssClasses.vertical);var _=getComputedStyle(u).direction;return _==="rtl"?Pe(u,n.cssClasses.textDirectionRtl):Pe(u,n.cssClasses.textDirectionLtr),ze(u,n.cssClasses.base)}function Xt(u,_){return!n.tooltips||!n.tooltips[_]?!1:ze(u.firstChild,n.cssClasses.tooltip)}function Zt(){return f.hasAttribute("disabled")}function xt(u){var _=I[u];return _.hasAttribute("disabled")}function Jt(u){u!=null?(I[u].setAttribute("disabled",""),I[u].handle.removeAttribute("tabindex")):(f.setAttribute("disabled",""),I.forEach(function(_){_.handle.removeAttribute("tabindex")}))}function Dt(u){u!=null?(I[u].removeAttribute("disabled"),I[u].handle.setAttribute("tabindex","0")):(f.removeAttribute("disabled"),I.forEach(function(_){_.removeAttribute("disabled"),_.handle.setAttribute("tabindex","0")}))}function yt(){X&&(ke("update"+dt.tooltips),X.forEach(function(u){u&&D0(u)}),X=null)}function At(){yt(),X=I.map(Xt),Ue("update"+dt.tooltips,function(u,_,x){if(!(!X||!n.tooltips)&&X[_]!==!1){var E=u[_];n.tooltips[_]!==!0&&(E=n.tooltips[_].to(x[_])),X[_].innerHTML=E}})}function Qt(){ke("update"+dt.aria),Ue("update"+dt.aria,function(u,_,x,E,V){N.forEach(function(P){var z=I[P],F=Fe(ne,P,0,!0,!0,!0),Ce=Fe(ne,P,100,!0,!0,!0),_e=V[P],Be=String(n.ariaFormat.to(x[P]));F=W.fromStepping(F).toFixed(1),Ce=W.fromStepping(Ce).toFixed(1),_e=W.fromStepping(_e).toFixed(1),z.children[0].setAttribute("aria-valuemin",F),z.children[0].setAttribute("aria-valuemax",Ce),z.children[0].setAttribute("aria-valuenow",_e),z.children[0].setAttribute("aria-valuetext",Be)})})}function It(u){if(u.mode===_t.Range||u.mode===_t.Steps)return W.xVal;if(u.mode===_t.Count){if(u.values<2)throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'.");for(var _=u.values-1,x=100/_,E=[];_--;)E[_]=_*x;return E.push(100),Bt(E,u.stepped)}return u.mode===_t.Positions?Bt(u.values,u.stepped):u.mode===_t.Values?u.stepped?u.values.map(function(V){return W.fromStepping(W.getStep(W.toStepping(V)))}):u.values:[]}function Bt(u,_){return u.map(function(x){return W.fromStepping(_?W.getStep(x):x)})}function ei(u){function _(_e,Be){return Number((_e+Be).toFixed(7))}var x=It(u),E={},V=W.xVal[0],P=W.xVal[W.xVal.length-1],z=!1,F=!1,Ce=0;return x=Wr(x.slice().sort(function(_e,Be){return _e-Be})),x[0]!==V&&(x.unshift(V),z=!0),x[x.length-1]!==P&&(x.push(P),F=!0),x.forEach(function(_e,Be){var be,de,Me,Ve=_e,De=x[Be+1],Ae,Ii,Vi,Pi,nn,Li,on,rn=u.mode===_t.Steps;for(rn&&(be=W.xNumSteps[Be]),be||(be=De-Ve),De===void 0&&(De=Ve),be=Math.max(be,1e-7),de=Ve;de<=De;de=_(de,be)){for(Ae=W.toStepping(de),Ii=Ae-Ce,nn=Ii/(u.density||1),Li=Math.round(nn),on=Ii/Li,Me=1;Me<=Li;Me+=1)Vi=Ce+Me*on,E[Vi.toFixed(5)]=[W.fromStepping(Vi),0];Pi=x.indexOf(de)>-1?He.LargeValue:rn?He.SmallValue:He.NoValue,!Be&&z&&de!==De&&(Pi=0),de===De&&F||(E[Ae.toFixed(5)]=[de,Pi]),Ce=Ae}}),E}function Vt(u,_,x){var E,V,P=Ke.createElement("div"),z=(E={},E[He.None]="",E[He.NoValue]=n.cssClasses.valueNormal,E[He.LargeValue]=n.cssClasses.valueLarge,E[He.SmallValue]=n.cssClasses.valueSub,E),F=(V={},V[He.None]="",V[He.NoValue]=n.cssClasses.markerNormal,V[He.LargeValue]=n.cssClasses.markerLarge,V[He.SmallValue]=n.cssClasses.markerSub,V),Ce=[n.cssClasses.valueHorizontal,n.cssClasses.valueVertical],_e=[n.cssClasses.markerHorizontal,n.cssClasses.markerVertical];Pe(P,n.cssClasses.pips),Pe(P,n.ort===0?n.cssClasses.pipsHorizontal:n.cssClasses.pipsVertical);function Be(de,Me){var Ve=Me===n.cssClasses.value,De=Ve?Ce:_e,Ae=Ve?z:F;return Me+" "+De[n.ort]+" "+Ae[de]}function be(de,Me,Ve){if(Ve=_?_(Me,Ve):Ve,Ve!==He.None){var De=ze(P,!1);De.className=Be(Ve,n.cssClasses.marker),De.style[n.style]=de+"%",Ve>He.NoValue&&(De=ze(P,!1),De.className=Be(Ve,n.cssClasses.value),De.setAttribute("data-value",String(Me)),De.style[n.style]=de+"%",De.innerHTML=String(x.to(Me)))}}return Object.keys(u).forEach(function(de){be(de,u[de][0],u[de][1])}),P}function Pt(){J&&(D0(J),J=null)}function Lt(u){Pt();var _=ei(u),x=u.filter,E=u.format||{to:function(V){return String(Math.round(V))}};return J=f.appendChild(Vt(_,x,E)),J}function ti(){var u=b.getBoundingClientRect(),_="offset"+["Width","Height"][n.ort];return n.ort===0?u.width||b[_]:u.height||b[_]}function et(u,_,x,E){var V=function(z){var F=ii(z,E.pageOffset,E.target||_);if(!F||Zt()&&!E.doNotReject||qr(f,n.cssClasses.tap)&&!E.doNotReject||u===o.start&&F.buttons!==void 0&&F.buttons>1||E.hover&&F.buttons)return!1;l||F.preventDefault(),F.calcPoint=F.points[n.ort],x(F,E)},P=[];return u.split(" ").forEach(function(z){_.addEventListener(z,V,l?{passive:!0}:!1),P.push([z,V])}),P}function ii(u,_,x){var E=u.type.indexOf("touch")===0,V=u.type.indexOf("mouse")===0,P=u.type.indexOf("pointer")===0,z=0,F=0;if(u.type.indexOf("MSPointer")===0&&(P=!0),u.type==="mousedown"&&!u.buttons&&!u.touches)return!1;if(E){var Ce=function(be){var de=be.target;return de===x||x.contains(de)||u.composed&&u.composedPath().shift()===x};if(u.type==="touchstart"){var _e=Array.prototype.filter.call(u.touches,Ce);if(_e.length>1)return!1;z=_e[0].pageX,F=_e[0].pageY}else{var Be=Array.prototype.find.call(u.changedTouches,Ce);if(!Be)return!1;z=Be.pageX,F=Be.pageY}}return _=_||L0(Ke),(V||P)&&(z=u.clientX+_.x,F=u.clientY+_.y),u.pageOffset=_,u.points=[z,F],u.cursor=V||P,u}function Rt(u){var _=u-$r(b,n.ort),x=_*100/ti();return x=V0(x),n.dir?100-x:x}function Di(u){var _=100,x=!1;return I.forEach(function(E,V){if(!xt(V)){var P=ne[V],z=Math.abs(P-u),F=z===100&&_===100,Ce=z<_,_e=z<=_&&u>P;(Ce||_e||F)&&(x=V,_=z)}}),x}function T(u,_){u.type==="mouseout"&&u.target.nodeName==="HTML"&&u.relatedTarget===null&&Z(u,_)}function $(u,_){if(navigator.appVersion.indexOf("MSIE 9")===-1&&u.buttons===0&&_.buttonsProperty!==0)return Z(u,_);var x=(n.dir?-1:1)*(u.calcPoint-_.startCalcPoint),E=x*100/_.baseSize;ni(x>0,E,_.locations,_.handleNumbers,_.connect)}function Z(u,_){_.handle&&(Ci(_.handle,n.cssClasses.active),ge-=1),_.listeners.forEach(function(x){pt.removeEventListener(x[0],x[1])}),ge===0&&(Ci(f,n.cssClasses.drag),Ai(),u.cursor&&(St.style.cursor="",St.removeEventListener("selectstart",A0))),n.events.smoothSteps&&(_.handleNumbers.forEach(function(x){ut(x,ne[x],!0,!0,!1,!1)}),_.handleNumbers.forEach(function(x){me("update",x)})),_.handleNumbers.forEach(function(x){me("change",x),me("set",x),me("end",x)})}function se(u,_){if(!_.handleNumbers.some(xt)){var x;if(_.handleNumbers.length===1){var E=I[_.handleNumbers[0]];x=E.children[0],ge+=1,Pe(x,n.cssClasses.active)}u.stopPropagation();var V=[],P=et(o.move,pt,$,{target:u.target,handle:x,connect:_.connect,listeners:V,startCalcPoint:u.calcPoint,baseSize:ti(),pageOffset:u.pageOffset,handleNumbers:_.handleNumbers,buttonsProperty:u.buttons,locations:ne.slice()}),z=et(o.end,pt,Z,{target:u.target,handle:x,listeners:V,doNotReject:!0,handleNumbers:_.handleNumbers}),F=et("mouseout",pt,T,{target:u.target,handle:x,listeners:V,doNotReject:!0,handleNumbers:_.handleNumbers});V.push.apply(V,P.concat(z,F)),u.cursor&&(St.style.cursor=getComputedStyle(u.target).cursor,I.length>1&&Pe(f,n.cssClasses.drag),St.addEventListener("selectstart",A0,!1)),_.handleNumbers.forEach(function(Ce){me("start",Ce)})}}function Ie(u){u.stopPropagation();var _=Rt(u.calcPoint),x=Di(_);x!==!1&&(n.events.snap||I0(f,n.cssClasses.tap,n.animationDuration),ut(x,_,!0,!0),Ai(),me("slide",x,!0),me("update",x,!0),n.events.snap?se(u,{handleNumbers:[x]}):(me("change",x,!0),me("set",x,!0)))}function Te(u){var _=Rt(u.calcPoint),x=W.getStep(_),E=W.fromStepping(x);Object.keys(Ne).forEach(function(V){V.split(".")[0]==="hover"&&Ne[V].forEach(function(P){P.call(ai,E)})})}function nt(u,_){if(Zt()||xt(_))return!1;var x=["Left","Right"],E=["Down","Up"],V=["PageDown","PageUp"],P=["Home","End"];n.dir&&!n.ort?x.reverse():n.ort&&!n.dir&&(E.reverse(),V.reverse());var z=u.key.replace("Arrow",""),F=z===V[0],Ce=z===V[1],_e=z===E[0]||z===x[0]||F,Be=z===E[1]||z===x[1]||Ce,be=z===P[0],de=z===P[1];if(!_e&&!Be&&!be&&!de)return!0;u.preventDefault();var Me;if(Be||_e){var Ve=_e?0:1,De=en(_),Ae=De[Ve];if(Ae===null)return!1;Ae===!1&&(Ae=W.getDefaultStep(ne[_],_e,n.keyboardDefaultStep)),Ce||F?Ae*=n.keyboardPageMultiplier:Ae*=n.keyboardMultiplier,Ae=Math.max(Ae,1e-7),Ae=(_e?-1:1)*Ae,Me=xe[_]+Ae}else de?Me=n.spectrum.xVal[n.spectrum.xVal.length-1]:Me=n.spectrum.xVal[0];return ut(_,W.toStepping(Me),!0,!0),me("slide",_),me("update",_),me("change",_),me("set",_),!1}function we(u){u.fixed||I.forEach(function(_,x){et(o.start,_.children[0],se,{handleNumbers:[x]})}),u.tap&&et(o.start,b,Ie,{}),u.hover&&et(o.move,b,Te,{hover:!0}),u.drag&&G.forEach(function(_,x){if(!(_===!1||x===0||x===G.length-1)){var E=I[x-1],V=I[x],P=[_],z=[E,V],F=[x-1,x];Pe(_,n.cssClasses.draggable),u.fixed&&(P.push(E.children[0]),P.push(V.children[0])),u.dragAll&&(z=I,F=N),P.forEach(function(Ce){et(o.start,Ce,se,{handles:z,handleNumbers:F,connect:_})})}})}function Ue(u,_){Ne[u]=Ne[u]||[],Ne[u].push(_),u.split(".")[0]==="update"&&I.forEach(function(x,E){me("update",E)})}function Le(u){return u===dt.aria||u===dt.tooltips}function ke(u){var _=u&&u.split(".")[0],x=_?u.substring(_.length):u;Object.keys(Ne).forEach(function(E){var V=E.split(".")[0],P=E.substring(V.length);(!_||_===V)&&(!x||x===P)&&(!Le(P)||x===P)&&delete Ne[E]})}function me(u,_,x){Object.keys(Ne).forEach(function(E){var V=E.split(".")[0];u===V&&Ne[E].forEach(function(P){P.call(ai,xe.map(n.format.to),_,xe.slice(),x||!1,ne.slice(),ai)})})}function Fe(u,_,x,E,V,P,z){var F;return I.length>1&&!n.events.unconstrained&&(E&&_>0&&(F=W.getAbsoluteDistance(u[_-1],n.margin,!1),x=Math.max(x,F)),V&&_<I.length-1&&(F=W.getAbsoluteDistance(u[_+1],n.margin,!0),x=Math.min(x,F))),I.length>1&&n.limit&&(E&&_>0&&(F=W.getAbsoluteDistance(u[_-1],n.limit,!1),x=Math.min(x,F)),V&&_<I.length-1&&(F=W.getAbsoluteDistance(u[_+1],n.limit,!0),x=Math.max(x,F))),n.padding&&(_===0&&(F=W.getAbsoluteDistance(0,n.padding[0],!1),x=Math.max(x,F)),_===I.length-1&&(F=W.getAbsoluteDistance(100,n.padding[1],!0),x=Math.min(x,F))),z||(x=W.getStep(x)),x=V0(x),x===u[_]&&!P?!1:x}function Ot(u,_){var x=n.ort;return(x?_:u)+", "+(x?u:_)}function ni(u,_,x,E,V){var P=x.slice(),z=E[0],F=n.events.smoothSteps,Ce=[!u,u],_e=[u,!u];E=E.slice(),u&&E.reverse(),E.length>1?E.forEach(function(be,de){var Me=Fe(P,be,P[be]+_,Ce[de],_e[de],!1,F);Me===!1?_=0:(_=Me-P[be],P[be]=Me)}):Ce=_e=[!0];var Be=!1;E.forEach(function(be,de){Be=ut(be,x[be]+_,Ce[de],_e[de],!1,F)||Be}),Be&&(E.forEach(function(be){me("update",be),me("slide",be)}),V!=null&&me("drag",z))}function oi(u,_){return n.dir?100-u-_:u}function Go(u,_){ne[u]=_,xe[u]=W.fromStepping(_);var x=oi(_,0)-Kt,E="translate("+Ot(x+"%","0")+")";if(I[u].style[n.transformRule]=E,n.events.invertConnects&&ne.length>1){var V=ne.every(function(P,z,F){return z===0||P>=F[z-1]});if(it!==!V){qo();return}}Ht(u),Ht(u+1),it&&(Ht(u-1),Ht(u+2))}function Ai(){N.forEach(function(u){var _=ne[u]>50?-1:1,x=3+(I.length+_*u);I[u].style.zIndex=String(x)})}function ut(u,_,x,E,V,P){return V||(_=Fe(ne,u,_,x,E,!1,P)),_===!1?!1:(Go(u,_),!0)}function Ht(u){if(G[u]){var _=ne.slice();it&&_.sort(function(F,Ce){return F-Ce});var x=0,E=100;u!==0&&(x=_[u-1]),u!==G.length-1&&(E=_[u]);var V=E-x,P="translate("+Ot(oi(x,V)+"%","0")+")",z="scale("+Ot(V/100,"1")+")";G[u].style[n.transformRule]=P+" "+z}}function Ji(u,_){return u===null||u===!1||u===void 0||(typeof u=="number"&&(u=String(u)),u=n.format.from(u),u!==!1&&(u=W.toStepping(u)),u===!1||isNaN(u))?ne[_]:u}function ri(u,_,x){var E=Si(u),V=ne[0]===void 0;_=_===void 0?!0:_,n.animate&&!V&&I0(f,n.cssClasses.tap,n.animationDuration),N.forEach(function(F){ut(F,Ji(E[F],F),!0,!1,x)});var P=N.length===1?0:1;if(V&&W.hasNoSize()&&(x=!0,ne[0]=0,N.length>1)){var z=100/(N.length-1);N.forEach(function(F){ne[F]=F*z})}for(;P<N.length;++P)N.forEach(function(F){ut(F,ne[F],!0,!0,x)});Ai(),N.forEach(function(F){me("update",F),E[F]!==null&&_&&me("set",F)})}function Uo(u){ri(n.start,u)}function Wo(u,_,x,E){if(u=Number(u),!(u>=0&&u<N.length))throw new Error("noUiSlider: invalid handle number, got: "+u);ut(u,Ji(_,u),!0,!0,E),me("update",u),x&&me("set",u)}function Qi(u){if(u===void 0&&(u=!1),u)return xe.length===1?xe[0]:xe.slice(0);var _=xe.map(n.format.to);return _.length===1?_[0]:_}function jo(){for(ke(dt.aria),ke(dt.tooltips),Object.keys(n.cssClasses).forEach(function(u){Ci(f,n.cssClasses[u])});f.firstChild;)f.removeChild(f.firstChild);delete f.noUiSlider}function en(u){var _=ne[u],x=W.getNearbySteps(_),E=xe[u],V=x.thisStep.step,P=null;if(n.snap)return[E-x.stepBefore.startValue||null,x.stepAfter.startValue-E||null];V!==!1&&E+V>x.stepAfter.startValue&&(V=x.stepAfter.startValue-E),E>x.thisStep.startValue?P=x.thisStep.step:x.stepBefore.step===!1?P=!1:P=E-x.stepBefore.highestStep,_===100?V=null:_===0&&(P=null);var z=W.countStepDecimals();return V!==null&&V!==!1&&(V=Number(V.toFixed(z))),P!==null&&P!==!1&&(P=Number(P.toFixed(z))),[P,V]}function $o(){return N.map(en)}function zo(u,_){var x=Qi(),E=["margin","limit","padding","range","animate","snap","step","format","pips","tooltips","connect"];E.forEach(function(P){u[P]!==void 0&&(t[P]=u[P])});var V=H0(t);E.forEach(function(P){u[P]!==void 0&&(n[P]=V[P])}),W=V.spectrum,n.margin=V.margin,n.limit=V.limit,n.padding=V.padding,n.pips?Lt(n.pips):Pt(),n.tooltips?At():yt(),ne=[],ri(qi(u.start)?u.start:x,_),u.connect&&tn()}function tn(){for(;k.firstChild;)k.removeChild(k.firstChild);for(var u=0;u<=n.handles;u++)G[u]=mt(k,n.connect[u]),Ht(u);we({drag:n.events.drag,fixed:!0})}function qo(){it=!it,R0(n,n.connect.map(function(u){return!u})),tn()}function Yo(){b=ki(f),wi(n.connect,b),we(n.events),ri(n.start),n.pips&&Lt(n.pips),n.tooltips&&At(),Qt()}Yo();var ai={destroy:jo,steps:$o,on:Ue,off:ke,get:Qi,set:ri,setHandle:Wo,reset:Uo,disable:Jt,enable:Dt,__moveHandles:function(u,_,x){ni(u,_,ne,x)},options:t,updateOptions:zo,target:f,removePips:Pt,removeTooltips:yt,getPositions:function(){return ne.slice()},getTooltips:function(){return X},getOrigins:function(){return I},pips:Lt};return ai}function N0(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=H0(n),o=Ma(e,t,n);return e.noUiSlider=o,o}var Xi=class{to(n){return String(parseFloat(parseFloat(String(n)).toFixed(2)))}from(n){return parseFloat(n)}},Se=(()=>{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,f,b,k)=>{let I=this.toValues(f),G=!1;if(this.value===void 0){this.value=I;return}Array.isArray(I)&&this.value[b]!=I[b]&&(G=!0),!Array.isArray(I)&&this.value!=I&&(G=!0),G&&this.ngZone.run(()=>{l.observers.length>0&&l.emit(I),this.onChange(I)}),Array.isArray(I)?this.value[b]=I[b]:this.value=I},this.defaultKeyHandler=l=>{let f=this.slider.steps(),b=parseInt(l.target.getAttribute("data-handle")),k=1,I=1,G=0,J=0;switch(l.which){case 34:I=this.config.pageSteps;break;case 40:case 37:k=-1,G=f[b][0],l.preventDefault();break;case 33:I=this.config.pageSteps;break;case 38:case 39:G=f[b][1],l.preventDefault();break;default:break}J=k*I*G;let X;Array.isArray(this.value)?(X=[...this.value],X[b]=X[b]+J):X=this.value+J,this.slider.set(X)}}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(){for(this.slider.destroy();this.cleanups.length;)this.cleanups.pop()?.()}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 Xi,this.ngZone.runOutsideAngular(()=>{this.slider=N0(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,f)=>{this.eventHandler(this.set,i,l,f)}),this.slider.on("update",(i,l,f)=>{this.update.observers.length>0&&this.ngZone.run(()=>{this.update.emit(this.toValues(i))})}),this.slider.on("change",(i,l,f)=>{this.change.observers.length>0&&this.ngZone.run(()=>{this.change.emit(this.toValues(i))})}),this.slider.on("slide",(i,l,f)=>{this.eventHandler(this.slide,i,l,f)}),this.slider.on("start",(i,l,f)=>{this.start.observers.length>0&&this.ngZone.run(()=>{this.start.emit(this.toValues(i))})}),this.slider.on("end",(i,l,f)=>{this.end.observers.length>0&&this.ngZone.run(()=>{this.end.emit(this.toValues(i))})})}}return e.\u0275fac=function(t){return new(t||e)(Ee(xn),Ee(at),Ee(pi))},e.\u0275cmp=M({type:e,selectors:[["nouislider"]],hostVars:2,hostBindings:function(t,o){t&2&&Tn("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:[ui([{provide:Dn,useExisting:hn(()=>e),multi:!0}]),rt],decls:1,vars:1,template:function(t,o){t&1&&v(0,"div"),t&2&&w("disabled",o.disabled?!0:void 0)},styles:["[_nghost-%COMP%]{display:block;margin-top:1rem;margin-bottom:1rem}"]}),e})(),cu=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=Tt({type:e}),e.\u0275inj=bt({imports:[Se]}),e})();var xi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function wa(e,n){if(e&1){let t=j();a(0,"button",6),y("click",function(i){return L(t),g(2).setTargetMode(0),R(i.target.blur())}),a(1,"div",7),v(2,"i",8),s(),c(3),d(4,"translate"),a(5,"div",9),v(6,"i",10),s()()}if(e&2){let t=g(2);r(2),m("ngClass",D(4,xi,t.targetMode===0,t.targetMode!==0)),r(),B(" ",p(4,2,"accessories.control.manual")," ")}}function ka(e,n){if(e&1){let t=j();a(0,"button",6),y("click",function(i){return L(t),g(2).setTargetMode(1),R(i.target.blur())}),a(1,"div",7),v(2,"i",8),s(),c(3),d(4,"translate"),a(5,"div",9),v(6,"i",10),s()()}if(e&2){let t=g(2);r(2),m("ngClass",D(4,xi,t.targetMode===1,t.targetMode!==1)),r(),B(" ",p(4,2,"accessories.control.auto")," ")}}function Da(e,n){if(e&1&&(a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13),h(4,wa,7,7,"button",14),h(5,ka,7,7,"button",14),s()),e&2){let t=g();r(),S(p(2,3,"accessories.control.mode")),r(3),C(t.targetModeValidValues.includes(0)?4:-1),r(),C(t.targetModeValidValues.includes(1)?5:-1)}}function Aa(e,n){if(e&1){let t=j();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"nouislider",15),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),K("",p(2,6,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value,"%"),r(2),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),Q("ngModel",t.targetRotationSpeed.value)}}var F0=(()=>{class e{$activeModal=H(ce);service;targetState;targetMode;targetModeValidValues=[];targetRotationSpeed;targetRotationSpeedChanged=new re;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("RotationSpeed").setValue(this.targetRotationSpeed.value),this.targetRotationSpeed.value&&!this.service.values.Active?(this.targetState=1,this.service.getCharacteristic("Active").setValue(this.targetMode)):!this.targetRotationSpeed.value&&this.service.values.Active&&(this.targetState=0,this.service.getCharacteristic("Active").setValue(this.targetMode))})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetAirPurifierState,this.targetModeValidValues=this.service.getCharacteristic("TargetAirPurifierState").validValues,this.loadRotationSpeed()}loadRotationSpeed(){let t=this.service.getCharacteristic("RotationSpeed");t&&(this.targetRotationSpeed={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.targetState&&this.targetRotationSpeed&&!this.targetRotationSpeed.value&&(this.targetRotationSpeed.value=this.service.getCharacteristic("RotationSpeed").maxValue)}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetAirPurifierState").setValue(this.targetMode)}onTargetRotationSpeedChange(){this.targetRotationSpeedChanged.next(this.targetRotationSpeed.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-airpurifier-manage"]],inputs:{service:"service"},decls:24,vars:20,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 State 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"],["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,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),y("click",function(f){return i.setTargetState(0),f.target.blur()}),a(8,"div",7),v(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),v(13,"i",10),s()(),a(14,"button",6),y("click",function(f){return i.setTargetState(1),f.target.blur()}),a(15,"div",7),v(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),v(20,"i",10),s()()(),h(21,Da,6,5),h(22,Aa,4,8),s(),v(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",D(14,xi,i.targetState===0,i.targetState!==0)),r(),B(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",D(17,xi,i.targetState===1,i.targetState!==1)),r(),B(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.targetModeValidValues.length?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,fe,he,Se,A,O],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var ie=(()=>{class e{duration=350;longclick=Hi();shortclick=Hi();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=Mt({type:e,selectors:[["","appLongclick",""]],hostBindings:function(o,i){o&1&&y("keyup.enter",function(f){return i.onEnter(f)})("mouseup",function(f){return i.onMouseUp(f)})("touchend",function(f){return i.onTouchEnd(f)})("touchstart",function(f){return i.onMouseDown(f)})("mousedown",function(f){return i.onMouseDown(f)})("mousemove",function(f){return i.onMouseMove(f)})("touchmove",function(f){return i.onMouseMove(f)})},inputs:{duration:"duration"},outputs:{longclick:"longclick",shortclick:"shortclick"}})}return e})();var Ia=(e,n)=>({"switch-on":e,"switch-off":n});function Va(e,n){if(e&1&&(v(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function Pa(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=g();r(),B("",t.service.values.RotationSpeed,"%")}}var G0=(()=>{class e{$modal=H(ae);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(F0,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,Va,2,3,"div",4),h(6,Pa,2,1,"div",5),s()()),o&2&&(m("ngClass",D(6,Ia,i.service.values.Active,!i.service.values.Active)),r(2),m("inlineSVG","/assets/hap-icons/airpurifier.svg"),w("aria-label","Air Purifier"),r(2),S(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.Active?5:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.Active?6:-1))},dependencies:[ie,O,Y,q,A],styles:[".switch-off svg .airpurifier_off_grey{stroke:gray;fill:gray} .switch-off svg .airpurifier_off_lgrey{fill:#d9d9d9}"]})}return e})();var La=e=>({"switch-on":e}),Ra=(e,n)=>({"grey-text":e,"red-text":n}),U0=(()=>{class e{service;labels=["Unknown","Excellent","Good","Fair","Inferior","Poor"];constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(m("ngClass",oe(6,La,i.service.values.AirQuality>3)),r(2),m("inlineSVG","/assets/hap-icons/airquality.svg"),w("aria-label","Switch"),r(2),S(i.service.customName||i.service.serviceName),r(),m("ngClass",D(8,Ra,i.service.values.AirQuality<4,i.service.values.AirQuality>3)),r(),B(" ",i.labels[i.service.values.AirQuality]," "))},dependencies:[O,Y,q],encapsulation:2})}return e})();var Oa=e=>({lowbattery:e}),Ha=(e,n)=>({"battery-over":e,"battery-under":n});function Na(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.battery_notcharging")," ")}function Fa(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.battery_charging")," ")}function Ga(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.battery_notchargeable")," ")}function Ua(e,n){e&1&&(a(0,"span",7),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.battery_low")))}function Wa(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.battery_charged")," ")}var W0=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-battery"]],inputs:{service:"service"},decls:15,vars:15,consts:[[1,"accessory-box"],[1,"d-flex","flex-column","h-100"],[1,"batterylevel-battery",3,"ngClass"],[1,"battery-level-fill"],[1,"battery-text",3,"ngClass"],[1,"accessory-label","mt-auto"],[1,"accessory-label","grey-text"],[1,"red-text"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),v(3,"div",3),a(4,"span",4),c(5),d(6,"number"),s()(),a(7,"div",5),c(8),s(),a(9,"div",6),h(10,Na,2,3)(11,Fa,2,3)(12,Ga,2,3)(13,Ua,3,3,"span",7)(14,Wa,2,3),s()()()),o&2&&(r(2),m("ngClass",oe(10,Oa,i.service.values.StatusLowBattery===1)),r(),bn("width",i.service.values.BatteryLevel||0,"%"),r(),m("ngClass",D(12,Ha,i.service.values.BatteryLevel>=30,i.service.values.BatteryLevel<30)),r(),S(ve(6,7,i.service.values.BatteryLevel||0,"1.0-0")+"%"),r(3),S(i.service.customName||i.service.serviceName),r(2),C(i.service.values.ChargingState===0?10:i.service.values.ChargingState===1?11:i.service.values.ChargingState===2?12:i.service.values.StatusLowBattery===1||i.service.values.BatteryLevel===0?13:14))},dependencies:[O,Re,A],styles:['.batterylevel-battery[_ngcontent-%COMP%]{position:relative;width:75px;height:30px;border:1px solid rgb(128,128,128);border-radius:4px;margin-bottom:6px;text-align:center;display:flex;align-items:center;justify-content:center;color:#d3d3d3;font-size:14px}.batterylevel-battery[_ngcontent-%COMP%]:after{content:"";position:absolute;top:7px;right:-6px;width:6px;height:13px;background-color:gray;border-radius:2px}.batterylevel-battery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{position:absolute;top:0;left:0;height:100%;background-color:gray;z-index:1;transition:width .3s ease-in-out}.batterylevel-battery[_ngcontent-%COMP%] .battery-text[_ngcontent-%COMP%]{position:relative;z-index:2}.batterylevel-battery[_ngcontent-%COMP%] .battery-over[_ngcontent-%COMP%]{color:#fff}.batterylevel-battery[_ngcontent-%COMP%] .battery-under[_ngcontent-%COMP%]{color:gray}@media (max-width: 575px){.batterylevel-battery[_ngcontent-%COMP%]{width:50px;height:25px;font-size:12px}.batterylevel-battery[_ngcontent-%COMP%]:after{top:4px}}.lowbattery[_ngcontent-%COMP%] .battery-level-fill[_ngcontent-%COMP%]{background-color:#e69533}']})}return e})();var ja=(e,n)=>({"switch-on":e,"switch-off":n});function $a(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.detected")))}function za(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.not_detected")))}var j0=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,$a,3,3,"div",4),h(6,za,3,3,"div",5),s()()),o&2&&(m("ngClass",D(6,ja,i.service.values.CarbonDioxideDetected,!i.service.values.CarbonDioxideDetected)),r(2),m("inlineSVG","/assets/hap-icons/co2-sensor.svg"),w("aria-label","Carbon Dioxide Sensor"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.CarbonDioxideDetected?5:-1),r(),C(i.service.values.CarbonDioxideDetected?-1:6))},dependencies:[O,Y,q,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray} .switch-off svg .label-text{fill:#2b2b2b}"]})}return e})();var qa=(e,n)=>({"switch-on":e,"switch-off":n});function Ya(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.detected")))}function Ka(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.not_detected")))}var $0=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,Ya,3,3,"div",4),h(6,Ka,3,3,"div",5),s()()),o&2&&(m("ngClass",D(6,qa,i.service.values.CarbonMonoxideDetected,!i.service.values.CarbonMonoxideDetected)),r(2),m("inlineSVG","/assets/hap-icons/co-sensor.svg"),w("aria-label","Carbon Monoxide Sensor"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.CarbonMonoxideDetected?5:-1),r(),C(i.service.values.CarbonMonoxideDetected?-1:6))},dependencies:[O,Y,q,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray} .switch-off svg .label-text{fill:#2b2b2b}"]})}return e})();var Xa=(e,n)=>({"switch-on":e,"switch-off":n});function Za(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/contactsensor-open.svg"),w("aria-label","Switch"))}function Ja(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/contactsensor-closed.svg"),w("aria-label","Switch"))}function Qa(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.open")))}function es(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.closed")))}var z0=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),h(2,Za,1,2,"div",2),h(3,Ja,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,Qa,3,3,"div",4),h(7,es,3,3,"div",5),s()()),o&2&&(m("ngClass",D(6,Xa,i.service.values.ContactSensorState,!i.service.values.ContactSensorState)),r(2),C(i.service.values.ContactSensorState?2:-1),r(),C(i.service.values.ContactSensorState?-1:3),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.ContactSensorState?6:-1),r(),C(i.service.values.ContactSensorState?-1:7))},dependencies:[O,Y,q,A],styles:["body.dark-mode .switch-off svg .contact_sensor_split_line{fill:#2b2b2b}"]})}return e})();function ts(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closed")," ")}function is(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);K(" ",p(1,2,"accessories.control.open")," ",t.service.getCharacteristic("CurrentPosition").value,"% ")}}function ns(e,n){if(e&1&&h(0,ts,2,3)(1,is,2,4),e&2){let t=g();C(t.service.values.CurrentPosition===0?0:1)}}function os(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.opening"),"... ")}function rs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closing"),"... ")}var q0=(()=>{class e{$activeModal=H(ce);service;targetMode;targetPosition;targetPositionChanged=new re;constructor(){this.targetPositionChanged.pipe(ue(500)).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},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #242424, #ffd6aa)"})},10))}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-door-manage"]],inputs:{service:"service"},decls:34,vars:34,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,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"div",6),h(8,ns,2,1)(9,os,2,3)(10,rs,2,3),s()(),a(11,"h6",7),c(12),d(13,"translate"),s(),a(14,"nouislider",8),te("ngModelChange",function(f){return ee(i.targetPosition.value,f)||(i.targetPosition.value=f),f}),y("ngModelChange",function(){return i.onTargetPositionChange()}),s(),a(15,"div",9)(16,"span",10),c(17),d(18,"translate"),s(),a(19,"span",10),c(20),d(21,"translate"),s()(),a(22,"h6",7),c(23),d(24,"translate"),s(),a(25,"nouislider",11),te("ngModelChange",function(f){return ee(i.service.getCharacteristic("CurrentPosition").value,f)||(i.service.getCharacteristic("CurrentPosition").value=f),f}),s(),a(26,"div",9)(27,"span",10),c(28),d(29,"translate"),s(),a(30,"span",10),c(31),d(32,"translate"),s()()(),v(33,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,20,"form.button_close")),r(5),C(i.service.values.PositionState===2?8:i.service.values.PositionState===1?9:i.service.values.PositionState===0?10:-1),r(4),K("",p(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),m("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),Q("ngModel",i.targetPosition.value),r(3),S(p(18,24,"accessories.control.closed")),r(3),S(p(21,26,"accessories.control.open")),r(3),K(" ",p(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),r(2),m("min",0)("max",100)("step",1)("disabled",!0),Q("ngModel",i.service.getCharacteristic("CurrentPosition").value),r(3),S(p(29,30,"accessories.control.closed")),r(3),S(p(32,32,"accessories.control.open")))},dependencies:[Se,le,fe,he,A],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var as=e=>({"window-on":e});function ss(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/door-closed.svg"),w("aria-label","Door"))}function ls(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/door-open.svg"),w("aria-label","Door"))}function cs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closed")," ")}function ds(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);K(" ",p(1,2,"accessories.control.open")," ",t.service.values.CurrentPosition,"% ")}}function ps(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.open")," ")}function ms(e,n){if(e&1&&(a(0,"div",4),h(1,cs,2,3),h(2,ds,2,4),h(3,ps,2,3),s()),e&2){let t=g();r(),C(t.service.values.CurrentPosition===0?1:-1),r(),C(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),C(t.service.values.CurrentPosition===100?3:-1)}}function us(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),B("",p(2,1,"accessories.control.opening"),"..."))}function vs(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),B("",p(2,1,"accessories.control.closing"),"..."))}var Y0=(()=>{class e{$modal=H(ae);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(q0,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,ss,1,2,"div",2),h(3,ls,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,ms,4,3,"div",4),h(7,us,3,3,"div",5),h(8,vs,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(7,as,i.service.values.TargetPosition)),r(2),C(i.service.values.TargetPosition?-1:2),r(),C(i.service.values.TargetPosition?3:-1),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.PositionState===2?6:-1),r(),C(i.service.values.PositionState===1?7:-1),r(),C(i.service.values.PositionState===0?8:-1))},dependencies:[ie,O,Y,q,A],styles:[".door-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var yi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function gs(e,n){if(e&1){let t=j();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13)(4,"button",6),y("click",function(i){return L(t),g().setRotationDirection(0),R(i.target.blur())}),a(5,"div",7),v(6,"i",8),s(),c(7),d(8,"translate"),a(9,"div",9),v(10,"i",10),s()(),a(11,"button",6),y("click",function(i){return L(t),g().setRotationDirection(1),R(i.target.blur())}),a(12,"div",7),v(13,"i",8),s(),c(14),d(15,"translate"),a(16,"div",9),v(17,"i",10),s()()()}if(e&2){let t=g();r(),S(p(2,5,"accessories.control.rotation_direction")),r(5),m("ngClass",D(11,yi,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),B(" ",p(8,7,"accessories.control.rotation_clockwise")," "),r(6),m("ngClass",D(14,yi,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),B(" ",p(15,9,"accessories.control.rotation_c_clockwise")," ")}}function fs(e,n){e&1&&c(0,"%")}function hs(e,n){if(e&1){let t=j();a(0,"h6",12),c(1),d(2,"translate"),h(3,fs,1,0),s(),a(4,"nouislider",14),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),K(" ",p(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value),r(2),C(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),Q("ngModel",t.targetRotationSpeed.value)}}var K0=(()=>{class e{$activeModal=H(ce);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new re;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).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},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}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=M({type:e,selectors:[["app-fan-manage"]],inputs:{service:"service"},decls:24,vars:20,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"],["role","group","aria-label","Fan Direction Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),y("click",function(f){return i.setTargetMode(!1),f.target.blur()}),a(8,"div",7),v(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),v(13,"i",10),s()(),a(14,"button",6),y("click",function(f){return i.setTargetMode(!0),f.target.blur()}),a(15,"div",7),v(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),v(20,"i",10),s()()(),h(21,gs,18,17),h(22,hs,5,9),s(),v(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",D(14,yi,!i.targetMode,i.targetMode)),r(),B(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",D(17,yi,i.targetMode,!i.targetMode)),r(),B(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.hasRotationDirection?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,fe,he,Se,A,O],encapsulation:2})}return e})();var Cs=e=>({"switch-on":e}),_s=(e,n)=>({spin:e,"spin-counter":n});function Ss(e,n){e&1&&v(0,"img",2)}function xs(e,n){if(e&1&&v(0,"img",3),e&2){let t=g();m("ngClass",D(1,_s,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function ys(e,n){if(e&1&&(v(0,"div",5),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.On?"accessories.control.on":"accessories.control.off"))}}function Bs(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=g();r(),K("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit)}}var X0=(()=>{class e{$modal=H(ae);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(K0,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,Ss,1,0,"img",2),h(3,xs,1,4,"img",3),a(4,"div",4),c(5),s(),h(6,ys,2,3,"div",5),h(7,Bs,2,2,"div",6),s()()),o&2&&(m("ngClass",oe(6,Cs,i.service.values.On)),r(2),C(i.service.values.On?-1:2),r(),C(i.service.values.On?3:-1),r(2),S(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.On?6:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.On?7:-1))},dependencies:[ie,O,A],encapsulation:2})}return e})();var Z0=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),J0=(e,n)=>({"btn-primary":e,"btn-elegant":n});function bs(e,n){if(e&1){let t=j();a(0,"h6",12),c(1),d(2,"translate"),s(),a(3,"div",13)(4,"button",14),y("click",function(){L(t);let i=g();return R(i.setRotationDirection(0))}),c(5),d(6,"translate"),s(),a(7,"button",14),y("click",function(){L(t);let i=g();return R(i.setRotationDirection(1))}),c(8),d(9,"translate"),s()()}if(e&2){let t=g();r(),S(p(2,5,"accessories.control.rotation_direction")),r(3),m("ngClass",D(11,J0,t.service.values.RotationDirection===0,t.service.values.RotationDirection!==0)),r(),B(" ",p(6,7,"accessories.control.rotation_clockwise")," "),r(2),m("ngClass",D(14,J0,t.service.values.RotationDirection===1,t.service.values.RotationDirection!==1)),r(),B(" ",p(9,9,"accessories.control.rotation_c_clockwise")," ")}}function Ts(e,n){e&1&&c(0,"%")}function Ms(e,n){if(e&1){let t=j();a(0,"h6",12),c(1),d(2,"translate"),h(3,Ts,1,0),s(),a(4,"nouislider",15),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetRotationSpeed.value,i)||(l.targetRotationSpeed.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onTargetRotationSpeedChange())}),s()}if(e&2){let t=g();r(),K(" ",p(2,7,"accessories.control.rotation_speed"),": ",t.targetRotationSpeed.value),r(2),C(t.targetRotationSpeed.unit==="percentage"?3:-1),r(),m("min",t.targetRotationSpeed.min)("max",t.targetRotationSpeed.max)("step",t.targetRotationSpeed.step),Q("ngModel",t.targetRotationSpeed.value)}}var Q0=(()=>{class e{$activeModal=H(ce);service;targetMode;targetRotationSpeed;targetRotationSpeedChanged=new re;hasRotationDirection=!1;constructor(){this.targetRotationSpeedChanged.pipe(ue(500)).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},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #add8e6, #416bdf)"})},10))}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=M({type:e,selectors:[["app-fanv2-manage"]],inputs:{service:"service"},decls:24,vars:20,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"],["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"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),y("click",function(f){return i.setTargetMode(0),f.target.blur()}),a(8,"div",7),v(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),v(13,"i",10),s()(),a(14,"button",6),y("click",function(f){return i.setTargetMode(1),f.target.blur()}),a(15,"div",7),v(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),v(20,"i",10),s()()(),h(21,bs,10,17),h(22,Ms,5,9),s(),v(23,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,8,"form.button_close")),r(6),m("ngClass",D(14,Z0,i.targetMode===0,i.targetMode!==0)),r(),B(" ",p(11,10,"accessories.control.off")," "),r(6),m("ngClass",D(17,Z0,i.targetMode===1,i.targetMode!==1)),r(),B(" ",p(18,12,"accessories.control.on")," "),r(4),C(i.hasRotationDirection?21:-1),r(),C(i.targetRotationSpeed?22:-1))},dependencies:[le,fe,he,Se,A,O],encapsulation:2})}return e})();var Es=e=>({"switch-on":e}),ws=(e,n)=>({spin:e,"spin-counter":n});function ks(e,n){e&1&&v(0,"img",2)}function Ds(e,n){if(e&1&&v(0,"img",3),e&2){let t=g();m("ngClass",D(1,ws,!t.hasRotationDirection||t.hasRotationDirection&&t.service.values.RotationDirection===0,t.hasRotationDirection&&t.service.values.RotationDirection===1))}}function As(e,n){if(e&1&&(v(0,"div",5),d(1,"translate")),e&2){let t=g();m("innerText",p(1,1,t.service.values.Active?"accessories.control.on":"accessories.control.off"))}}function Is(e,n){if(e&1&&(a(0,"div",6),c(1),s()),e&2){let t=g();r(),K("",t.service.values.RotationSpeed,"",t.rotationSpeedUnit)}}var eo=(()=>{class e{$modal=H(ae);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(Q0,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,ks,1,0,"img",2),h(3,Ds,1,4,"img",3),a(4,"div",4),c(5),s(),h(6,As,2,3,"div",5),h(7,Is,2,2,"div",6),s()()),o&2&&(m("ngClass",oe(6,Es,i.service.values.Active)),r(2),C(i.service.values.Active?-1:2),r(),C(i.service.values.Active?3:-1),r(2),S(i.service.customName||i.service.serviceName),r(),C(!i.service.values.RotationSpeed||!i.service.values.Active?6:-1),r(),C(i.service.values.RotationSpeed&&i.service.values.Active?7:-1))},dependencies:[ie,O,A],encapsulation:2})}return e})();var Vs=e=>({"switch-on":e}),Ps=(e,n)=>({"red-text":e,"grey-text":n});function Ls(e,n){if(e&1&&(v(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerText",p(1,2,t.service.values.CurrentDoorState?"accessories.control.closed":"accessories.control.open"))("ngClass",D(4,Ps,!t.service.values.CurrentDoorState,t.service.values.CurrentDoorState))}}function Rs(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),B("",p(2,1,"accessories.control.opening"),"..."))}function Os(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),B("",p(2,1,"accessories.control.closing"),"..."))}function Hs(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.stopped")))}var to=(()=>{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=M({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),y("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,Ls,2,7,"div",4),h(6,Rs,3,3,"div",5),h(7,Os,3,3,"div",5),h(8,Hs,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(8,Vs,i.service.values.CurrentDoorState===0||i.service.values.CurrentDoorState===2)),r(2),m("inlineSVG","/assets/hap-icons/garagedoor.svg"),w("aria-label","Garage Door"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.CurrentDoorState<2?5:-1),r(),C(i.service.values.CurrentDoorState===2?6:-1),r(),C(i.service.values.CurrentDoorState===3?7:-1),r(),C(i.service.values.CurrentDoorState===4?8:-1))},dependencies:[ie,O,Y,q,A],encapsulation:2})}return e})();var Ns=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),qt=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Fs(e,n){if(e&1){let t=j();a(0,"button",7),y("click",function(i){return L(t),g(2).setTargetMode(0),R(i.target.blur())}),a(1,"div",8),v(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),v(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",D(4,qt,t.targetMode===0,t.targetMode!==0)),r(),B(" ",p(4,2,"accessories.control.auto")," ")}}function Gs(e,n){if(e&1){let t=j();a(0,"button",7),y("click",function(i){return L(t),g(2).setTargetMode(1),R(i.target.blur())}),a(1,"div",8),v(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),v(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",D(4,qt,t.targetMode===1,t.targetMode!==1)),r(),B(" ",p(4,2,"accessories.control.heat")," ")}}function Us(e,n){if(e&1){let t=j();a(0,"button",7),y("click",function(i){return L(t),g(2).setTargetMode(2),R(i.target.blur())}),a(1,"div",8),v(2,"i",9),s(),c(3),d(4,"translate"),a(5,"div",10),v(6,"i",11),s()()}if(e&2){let t=g(2);r(2),m("ngClass",D(4,qt,t.targetMode===2,t.targetMode!==2)),r(),B(" ",p(4,2,"accessories.control.cool")," ")}}function Ws(e,n){if(e&1&&(a(0,"h6",13),c(1),d(2,"translate"),s(),a(3,"div",14),h(4,Fs,7,7,"button",15),h(5,Gs,7,7,"button",15),h(6,Us,7,7,"button",15),s()),e&2){let t=g();r(),S(p(2,4,"accessories.control.mode")),r(3),C(t.targetStateValidValues.includes(0)?4:-1),r(),C(t.targetStateValidValues.includes(1)?5:-1),r(),C(t.targetStateValidValues.includes(2)?6:-1)}}function js(e,n){if(e&1){let t=j();a(0,"h6",16),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),d(6,"convertTemp"),d(7,"number"),d(8,"uppercase"),s(),a(9,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.autoTemp,i)||(l.autoTemp=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onAutoTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),mi(" ",p(2,9,"accessories.control.target_auto"),": ",ve(4,13,p(3,11,t.autoTemp[0]),"1.0-1"),"\xB0",p(5,16,t.$settings.env.temperatureUnits)," - ",ve(7,20,p(6,18,t.autoTemp[1]),"1.0-1"),"\xB0",p(8,23,t.$settings.env.temperatureUnits)," "),r(8),m("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),Q("ngModel",t.autoTemp)}}function $s(e,n){if(e&1){let t=j();a(0,"h6",13),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),tt(" ",p(2,7,"accessories.control.target_auto"),": ",ve(4,11,p(3,9,t.targetHeatingTemp),"1.0-1"),"\xB0",p(5,14,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),Q("ngModel",t.targetHeatingTemp)}}function zs(e,n){if(e&1){let t=j();a(0,"h6",13),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onTemperatureStateChange())}),s()}if(e&2){let t=g(2);r(),tt(" ",p(2,7,"accessories.control.target_auto"),": ",ve(4,11,p(3,9,t.targetCoolingTemp),"1.0-1"),"\xB0",p(5,14,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),Q("ngModel",t.targetCoolingTemp)}}function qs(e,n){if(e&1&&h(0,js,10,25)(1,$s,7,16)(2,zs,7,16),e&2){let t=g();C(t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?0:t.HeatingThresholdTemperature&&!t.CoolingThresholdTemperature?1:!t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?2:-1)}}var io=(()=>{class e{$activeModal=H(ce);$settings=H(Ze);service;targetState;targetMode;targetTemperatureChanged=new re;targetStateValidValues=[];CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;constructor(){this.targetTemperatureChanged.pipe(ue(500)).subscribe(()=>{this.HeatingThresholdTemperature&&this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp),this.CoolingThresholdTemperature&&this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp)})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHeaterCoolerState,this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.targetStateValidValues=this.service.getCharacteristic("TargetHeaterCoolerState").validValues,this.loadTargetTemperature(),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}loadTargetTemperature(){this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetTemperature()}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHeaterCoolerState").setValue(this.targetMode),this.loadTargetTemperature()}onTemperatureStateChange(){this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetTemperatureChanged.next(void 0)}onAutoTemperatureStateChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.targetTemperatureChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-heatercooler-manage"]],inputs:{service:"service"},decls:28,vars:33,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","temperature-circle-big","mb-4",3,"innerText","ngClass"],["role","group","aria-label","Heater Cooler State 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"],[1,"mt-4"],["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"],[1,"mt-4","mb-1"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),v(6,"div",5),d(7,"convertTemp"),d(8,"number"),d(9,"uppercase"),a(10,"div",6)(11,"button",7),y("click",function(f){return i.setTargetState(0),f.target.blur()}),a(12,"div",8),v(13,"i",9),s(),c(14),d(15,"translate"),a(16,"div",10),v(17,"i",11),s()(),a(18,"button",7),y("click",function(f){return i.setTargetState(1),f.target.blur()}),a(19,"div",8),v(20,"i",9),s(),c(21),d(22,"translate"),a(23,"div",10),v(24,"i",11),s()()(),h(25,Ws,7,6),h(26,qs,3,1),s(),v(27,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,10,"form.button_close")),r(3),m("innerText",ve(8,14,p(7,12,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+p(9,17,i.$settings.env.temperatureUnits))("ngClass",je(23,Ns,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(7),m("ngClass",D(27,qt,i.targetState===0,i.targetState!==0)),r(),B(" ",p(15,19,"accessories.control.off")," "),r(6),m("ngClass",D(30,qt,i.targetState===1,i.targetState!==1)),r(),B(" ",p(22,21,"accessories.control.on")," "),r(4),C(i.targetStateValidValues.length?25:-1),r(),C(i.targetStateValidValues.includes(0)?26:-1))},dependencies:[O,le,fe,he,Se,Re,A,$e,st],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;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}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;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 Ys=e=>({"switch-on":e}),Ks=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function Xs(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.off")," ")}function Zs(e,n){if(e&1&&(v(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase"),d(5,"convertTemp"),d(6,"number"),d(7,"uppercase")),e&2){let t=g(2);r(),Mn(" ",ve(3,6,p(2,4,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0",p(4,9,t.$settings.env.temperatureUnits)," - ",ve(6,13,p(5,11,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0",p(7,16,t.$settings.env.temperatureUnits)," ")}}function Js(e,n){if(e&1&&(v(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase")),e&2){let t=g(2);r(),K(" ",ve(3,4,p(2,2,t.service.values.HeatingThresholdTemperature),"1.0-1"),"\xB0",p(4,7,t.$settings.env.temperatureUnits)," ")}}function Qs(e,n){if(e&1&&(v(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase")),e&2){let t=g(2);r(),K(" ",ve(3,4,p(2,2,t.service.values.CoolingThresholdTemperature),"1.0-1"),"\xB0",p(4,7,t.$settings.env.temperatureUnits)," ")}}function el(e,n){if(e&1&&h(0,Zs,8,18)(1,Js,5,9)(2,Qs,5,9),e&2){let t=g();C(t.hasHeating&&t.hasCooling?0:t.hasHeating&&!t.hasCooling?1:!t.hasHeating&&t.hasCooling?2:-1)}}function tl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.heat")," ")}function il(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.cool")," ")}function nl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.on")," ")}var no=(()=>{class e{$modal=H(ae);$settings=H(Ze);service;model=1;hasHeating=!1;hasCooling=!1;constructor(){}ngOnInit(){this.hasHeating=!!this.service.getCharacteristic("HeatingThresholdTemperature"),this.hasCooling=!!this.service.getCharacteristic("CoolingThresholdTemperature")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(io,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-heatercooler"]],inputs:{service:"service"},decls:14,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"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),a(6,"div",3),c(7),s(),a(8,"div",4),h(9,Xs,2,3)(10,el,3,1)(11,tl,2,3)(12,il,2,3)(13,nl,2,3),s()()()),o&2&&(m("ngClass",oe(12,Ys,i.service.values.Active===1)),r(2),m("innerText",ve(4,7,p(3,5,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+p(5,10,i.$settings.env.temperatureUnits))("ngClass",je(14,Ks,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(5),S(i.service.customName||i.service.serviceName),r(2),C(i.service.values.Active===0?9:i.service.values.TargetHeaterCoolerState===0&&(i.hasHeating||i.hasCooling)?10:i.service.values.TargetHeaterCoolerState===1?11:i.service.values.TargetHeaterCoolerState===2?12:13))},dependencies:[ie,O,Re,A,$e,st],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;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}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;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 ol=(e,n,t)=>({dehumidifying:e,humidifying:n,"no-current-state":t}),Yt=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function rl(e,n){if(e&1){let t=j();a(0,"button",8),y("click",function(i){return L(t),g(2).setTargetMode(0),R(i.target.blur())}),a(1,"div",9),v(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",D(4,Yt,t.targetMode===0,t.targetMode!==0)),r(),B(" ",p(4,2,"accessories.control.auto")," ")}}function al(e,n){if(e&1){let t=j();a(0,"button",8),y("click",function(i){return L(t),g(2).setTargetMode(1),R(i.target.blur())}),a(1,"div",9),v(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",D(4,Yt,t.targetMode===1,t.targetMode!==1)),r(),B(" ",p(4,2,"accessories.control.humidify")," ")}}function sl(e,n){if(e&1){let t=j();a(0,"button",8),y("click",function(i){return L(t),g(2).setTargetMode(2),R(i.target.blur())}),a(1,"div",9),v(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=g(2);r(2),m("ngClass",D(4,Yt,t.targetMode===2,t.targetMode!==2)),r(),B(" ",p(4,2,"accessories.control.dehumidify")," ")}}function ll(e,n){if(e&1&&(a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"div",15),h(4,rl,7,7,"button",16),h(5,al,7,7,"button",16),h(6,sl,7,7,"button",16),s()),e&2){let t=g();r(),S(p(2,4,"accessories.control.mode")),r(3),C(t.targetStateValidValues.includes(0)?4:-1),r(),C(t.targetStateValidValues.includes(1)?5:-1),r(),C(t.targetStateValidValues.includes(2)?6:-1)}}function cl(e,n){if(e&1){let t=j();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.autoHumidity,i)||(l.autoHumidity=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onAutoHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),tt(" ",p(2,7,"accessories.control.target_auto"),": ",t.autoHumidity[0],"% - ",t.autoHumidity[1],"% "),r(2),m("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),Q("ngModel",t.autoHumidity)}}function dl(e,n){if(e&1){let t=j();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.targetHumidifierHumidity,i)||(l.targetHumidifierHumidity=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),K("",p(2,6,"accessories.control.target_auto"),": ",t.targetHumidifierHumidity,"%"),r(2),m("min",t.RelativeHumidityHumidifierThreshold.minValue)("max",t.RelativeHumidityHumidifierThreshold.maxValue)("step",t.RelativeHumidityHumidifierThreshold.minStep),Q("ngModel",t.targetHumidifierHumidity)}}function pl(e,n){if(e&1){let t=j();a(0,"h6",14),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.targetDehumidifierHumidity,i)||(l.targetDehumidifierHumidity=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onHumidityStateChange())}),s()}if(e&2){let t=g(2);r(),K("",p(2,6,"accessories.control.target_auto"),": ",t.targetDehumidifierHumidity,"%"),r(2),m("min",t.RelativeHumidityDehumidifierThreshold.minValue)("max",t.RelativeHumidityDehumidifierThreshold.maxValue)("step",t.RelativeHumidityDehumidifierThreshold.minStep),Q("ngModel",t.targetDehumidifierHumidity)}}function ml(e,n){if(e&1&&h(0,cl,4,9)(1,dl,4,8)(2,pl,4,8),e&2){let t=g();C(t.RelativeHumidityHumidifierThreshold&&t.RelativeHumidityDehumidifierThreshold?0:t.RelativeHumidityHumidifierThreshold&&!t.RelativeHumidityDehumidifierThreshold?1:!t.RelativeHumidityHumidifierThreshold&&t.RelativeHumidityDehumidifierThreshold?2:-1)}}var oo=(()=>{class e{$activeModal=H(ce);service;targetState;targetMode;targetHumidityChanged=new re;targetStateValidValues=[];RelativeHumidityDehumidifierThreshold;RelativeHumidityHumidifierThreshold;targetDehumidifierHumidity;targetHumidifierHumidity;autoHumidity;constructor(){this.targetHumidityChanged.pipe(ue(500)).subscribe(()=>{this.RelativeHumidityHumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityHumidifierThreshold").setValue(this.targetHumidifierHumidity),this.RelativeHumidityDehumidifierThreshold&&this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold").setValue(this.targetDehumidifierHumidity)})}ngOnInit(){this.targetState=this.service.values.Active,this.targetMode=this.service.values.TargetHumidifierDehumidifierState,this.RelativeHumidityDehumidifierThreshold=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold"),this.RelativeHumidityHumidifierThreshold=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.targetStateValidValues=this.service.getCharacteristic("TargetHumidifierDehumidifierState").validValues,this.loadTargetHumidity(),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to left, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}loadTargetHumidity(){this.targetDehumidifierHumidity=this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")?.value,this.targetHumidifierHumidity=this.service.getCharacteristic("RelativeHumidityHumidifierThreshold")?.value,this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity]}setTargetState(t){this.targetState=t,this.service.getCharacteristic("Active").setValue(this.targetState),this.loadTargetHumidity()}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHumidifierDehumidifierState").setValue(this.targetMode),this.loadTargetHumidity()}onHumidityStateChange(){this.autoHumidity=[this.targetHumidifierHumidity,this.targetDehumidifierHumidity],this.targetHumidityChanged.next(void 0)}onAutoHumidityStateChange(){this.targetHumidifierHumidity=this.autoHumidity[0],this.targetDehumidifierHumidity=this.autoHumidity[1],this.targetHumidityChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-humidifierdehumidifier-manage"]],inputs:{service:"service"},decls:26,vars:26,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","humidity-drop-big","mb-3",3,"ngClass"],[1,"humidity-drop-text",3,"innerText"],["role","group","aria-label","Humidifier Dehumidifier State 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"],[1,"mt-4"],["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,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5),v(7,"div",6),s(),a(8,"div",7)(9,"button",8),y("click",function(f){return i.setTargetState(0),f.target.blur()}),a(10,"div",9),v(11,"i",10),s(),c(12),d(13,"translate"),a(14,"div",11),v(15,"i",12),s()(),a(16,"button",8),y("click",function(f){return i.setTargetState(1),f.target.blur()}),a(17,"div",9),v(18,"i",10),s(),c(19),d(20,"translate"),a(21,"div",11),v(22,"i",12),s()()(),h(23,ll,7,6),h(24,ml,3,1),s(),v(25,"div",13),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,10,"form.button_close")),r(3),m("ngClass",je(16,ol,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(),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(4),m("ngClass",D(20,Yt,i.targetState===0,i.targetState!==0)),r(),B(" ",p(13,12,"accessories.control.off")," "),r(6),m("ngClass",D(23,Yt,i.targetState===1,i.targetState!==1)),r(),B(" ",p(20,14,"accessories.control.on")," "),r(4),C(i.targetStateValidValues.length?23:-1),r(),C(i.targetStateValidValues.includes(0)?24:-1))},dependencies:[O,le,fe,he,Se,A],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;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:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-8px}@keyframes _ngcontent-%COMP%_animate-humidifying{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-dehumidifying{0%{background-position:0 0}to{background-position:0 100%}}.humidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-dehumidifying 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.dehumidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-humidifying 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;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)=>({dehumidifying:e,humidifying:n,"no-current-state":t});function gl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.off")," ")}function fl(e,n){if(e&1&&(v(0,"i",6),c(1)),e&2){let t=g(2);r(),K(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% - ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function hl(e,n){if(e&1&&(v(0,"i",6),c(1)),e&2){let t=g(2);r(),B(" ",t.service.values.RelativeHumidityHumidifierThreshold,"% ")}}function Cl(e,n){if(e&1&&(v(0,"i",6),c(1)),e&2){let t=g(2);r(),B(" ",t.service.values.RelativeHumidityDehumidifierThreshold,"% ")}}function _l(e,n){if(e&1&&h(0,fl,2,2)(1,hl,2,1)(2,Cl,2,1),e&2){let t=g();C(t.hasHumidifier&&t.hasDehumidifier?0:t.hasHumidifier&&!t.hasDehumidifier?1:!t.hasHumidifier&&t.hasDehumidifier?2:-1)}}function Sl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.humidify")," ")}function xl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.dehumidify")," ")}function yl(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.on")," ")}var ro=(()=>{class e{$modal=H(ae);service;model=1;hasHumidifier=!1;hasDehumidifier=!1;constructor(){}ngOnInit(){this.hasHumidifier=!!this.service.getCharacteristic("RelativeHumidityHumidifierThreshold"),this.hasDehumidifier=!!this.service.getCharacteristic("RelativeHumidityDehumidifierThreshold")}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){let t=this.$modal.open(oo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-humidifierdehumidifier"]],inputs:{service:"service"},decls:12,vars:11,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"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1)(2,"div",2),v(3,"div",3),s(),a(4,"div",4),c(5),s(),a(6,"div",5),h(7,gl,2,3)(8,_l,3,1)(9,Sl,2,3)(10,xl,2,3)(11,yl,2,3),s()()()),o&2&&(m("ngClass",oe(5,ul,i.service.values.Active===1)),r(2),m("ngClass",je(7,vl,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(),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),S(i.service.customName||i.service.serviceName),r(2),C(i.service.values.Active===0?7:i.service.values.TargetHumidifierDehumidifierState===0&&(i.hasHumidifier||i.hasDehumidifier)?8:i.service.values.TargetHumidifierDehumidifierState===1?9:i.service.values.TargetHumidifierDehumidifierState===2?10:11))},dependencies:[ie,O,A],styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;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:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-8px}@keyframes _ngcontent-%COMP%_animate-humidifying{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-dehumidifying{0%{background-position:0 0}to{background-position:0 100%}}.humidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-dehumidifying 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.dehumidifying[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-humidifying 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;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 ao=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(3,"div",3),s(),a(4,"div",4),c(5),s()()()),o&2&&(r(3),m("innerText",i.service.values.CurrentRelativeHumidity+"%"),r(2),S(i.service.customName||i.service.serviceName))},styles:[".humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;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:28px;font-size:10px;margin-bottom:7px;margin-top:5px}.humidity-drop-collapse[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-2px}}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}"]})}return e})();var Bl=(e,n)=>({"switch-on":e,"switch-off":n});function bl(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.running")))}function Tl(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.off")))}var so=(()=>{class e{service;static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,bl,3,3,"div",4),h(6,Tl,3,3,"div",4),s()()),o&2&&(m("ngClass",D(6,Bl,i.service.values.InUse,!i.service.values.InUse)),r(2),m("inlineSVG","/assets/hap-icons/irrigation-system.svg"),w("aria-label","Irrigation Valve"),r(2),B(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),C(i.service.values.InUse?5:-1),r(),C(i.service.values.InUse?-1:6))},dependencies:[ie,O,Y,q,A],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();var Ml=(e,n)=>({"switch-on":e,"switch-off":n});function El(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.detected")))}function wl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.not_detected")))}var lo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,El,3,3,"div",4),h(6,wl,3,3,"div",5),s()()),o&2&&(m("ngClass",D(6,Ml,i.service.values.LeakDetected,!i.service.values.LeakDetected)),r(2),m("inlineSVG","/assets/hap-icons/leaksensor.svg"),w("aria-label","Leak Sensor"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.LeakDetected?5:-1),r(),C(i.service.values.LeakDetected?-1:6))},dependencies:[O,Y,q,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 co=(e,n)=>({"fa-check-circle":e,"fa-blank":n}),kl=(e,n)=>({"off-text":e,"on-text":n}),po=(e,n)=>({"mb-1":e,"":n});function Dl(e,n){if(e&1&&(a(0,"div",11)(1,"div",13)(2,"div",7),v(3,"i",14),s(),c(4),d(5,"translate"),a(6,"div",9),v(7,"i",10),s()()()),e&2){let t=g();r(3),m("ngClass",D(5,kl,!t.isAdaptiveLightingEnabled,t.isAdaptiveLightingEnabled)),r(),K(" ",p(5,3,"accessories.control.adaptive_lighting"),": ",t.isAdaptiveLightingEnabled?"ON":"OFF"," ")}}function Al(e,n){if(e&1){let t=j();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",16),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetBrightness.value,i)||(l.targetBrightness.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onBrightnessStateChange())}),s()}if(e&2){let t=g();r(),K("",p(2,6,"accessories.control.brightness"),": ",t.targetBrightness.value,"%"),r(2),m("min",t.targetBrightness.min)("max",t.targetBrightness.max)("step",t.targetBrightness.step),Q("ngModel",t.targetBrightness.value)}}function Il(e,n){e&1&&(a(0,"div",18)(1,"span",19),c(2),d(3,"translate"),s()()),e&2&&(r(2),S(p(3,1,"accessories.control.adaptive_lighting_note")))}function Vl(e,n){if(e&1){let t=j();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetHue.value,i)||(l.targetHue.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onHueStateChange())}),s(),h(4,Il,4,3,"div",18)}if(e&2){let t=g();r(),K("",p(2,8,"accessories.control.hue"),": ",t.targetHue.value,"\xB0"),r(2),m("min",0)("max",360)("step",1),Q("ngModel",t.targetHue.value),m("ngClass",D(10,po,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),r(),C(t.isAdaptiveLightingEnabled?4:-1)}}function Pl(e,n){e&1&&(a(0,"div",18)(1,"span",19),c(2),d(3,"translate"),s()()),e&2&&(r(2),S(p(3,1,"accessories.control.adaptive_lighting_note")))}function Ll(e,n){if(e&1){let t=j();a(0,"h6",15),c(1),d(2,"translate"),s(),a(3,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetColorTemperature.value,i)||(l.targetColorTemperature.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onColorTemperatureStateChange())}),s(),h(4,Pl,4,3,"div",18)}if(e&2){let t=g();r(),K("",p(2,8,"accessories.control.color_temperature"),": ",t.targetColorTemperature.value,"K"),r(2),m("min",t.targetColorTemperature.min)("max",t.targetColorTemperature.max)("step",t.targetColorTemperature.step),Q("ngModel",t.targetColorTemperature.value),m("ngClass",D(10,po,t.isAdaptiveLightingEnabled,!t.isAdaptiveLightingEnabled)),r(),C(t.isAdaptiveLightingEnabled?4:-1)}}var mo=(()=>{class e{$activeModal=H(ce);service;isAdaptiveLightingEnabled$;targetMode;targetBrightness;targetBrightnessChanged=new re;targetHue;targetHueChanged=new re;targetColorTemperature;targetColorTemperatureChanged=new re;hasAdaptiveLighting=!1;isAdaptiveLightingEnabled=!1;sliderIndex=0;constructor(){this.targetBrightnessChanged.pipe(ue(500)).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))}),this.targetHueChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("Hue").setValue(this.targetHue.value),this.service.values.Saturation!==100&&this.service.getCharacteristic("Saturation").setValue(100)}),this.targetColorTemperatureChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("ColorTemperature").setValue(this.kelvinToMired(this.targetColorTemperature.value))})}ngOnInit(){this.targetMode=this.service.values.On,this.loadTargetBrightness(),this.loadTargetHue(),this.loadTargetColorTemperature()}loadTargetBrightness(){let t=this.service.getCharacteristic("Brightness");t&&(this.targetBrightness={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];o&&(o.style.background="linear-gradient(to right, #242424, #ffd6aa)",this.sliderIndex+=1)},10))}loadTargetHue(){this.service.getCharacteristic("Hue")&&(this.targetHue={value:this.service.getCharacteristic("Hue").value},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];o&&(o.style.background=`linear-gradient(to right,
|
|
2
|
+
hsl(0, 100%, 50%),
|
|
3
|
+
hsl(60, 100%, 50%),
|
|
4
|
+
hsl(120, 100%, 50%),
|
|
5
|
+
hsl(180, 100%, 50%),
|
|
6
|
+
hsl(240, 100%, 50%),
|
|
7
|
+
hsl(300, 100%, 50%),
|
|
8
|
+
hsl(360, 100%, 50%))`),this.sliderIndex+=1},10))}loadTargetColorTemperature(){let t=this.service.getCharacteristic("ColorTemperature");t&&(this.targetColorTemperature={value:this.miredToKelvin(t.value),min:this.miredToKelvin(t.maxValue),max:this.miredToKelvin(t.minValue),step:t.minStep},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[this.sliderIndex];if(o){let i=this.kelvinToHsl(this.targetColorTemperature.min),l=this.kelvinToHsl(this.targetColorTemperature.max);o.style.background=`linear-gradient(to right, ${i}, ${l})`}},10),this.isAdaptiveLightingEnabled$&&(this.hasAdaptiveLighting=!0,this.isAdaptiveLightingEnabled$.subscribe(o=>{this.isAdaptiveLightingEnabled=o})))}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("On").setValue(this.targetMode),this.targetMode&&this.targetBrightness&&!this.targetBrightness.value&&(this.targetBrightness.value=this.service.getCharacteristic("Brightness").maxValue)}onBrightnessStateChange(){this.targetBrightnessChanged.next(this.targetBrightness.value)}onHueStateChange(){this.targetHueChanged.next(this.targetHue.value)}onColorTemperatureStateChange(){this.targetColorTemperatureChanged.next(this.targetColorTemperature.value)}miredToKelvin(t){return Math.round(1e6/t)}kelvinToMired(t){return Math.round(1e6/t)}kelvinToHsl(t){let o=t/100,i,l,f;o<=66?(i=255,l=Math.min(99.4708025861*Math.log(o)-161.1195681661,255),f=o<=19?0:Math.min(138.5177312231*Math.log(o-10)-305.0447927307,255)):(i=Math.min(329.698727446*(o-60)**-.1332047592,255),l=Math.min(288.1221695283*(o-60)**-.0755148492,255),f=255),i/=255,l/=255,f/=255;let b=Math.max(i,l,f),k=Math.min(i,l,f),I=b-k,G=0;I!==0&&(b===i?G=(l-f)/I%6:b===l?G=(f-i)/I+2:G=(i-l)/I+4,G=Math.round(G*60),G<0&&(G+=360));let J=(b+k)/2,X=I===0?0:I/(1-Math.abs(2*J-1));return`hsl(${Math.round(G)}, ${Math.round(X*100)}%, ${Math.round(J*100)}%)`}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-lightbulb-manage"]],inputs:{service:"service",isAdaptiveLightingEnabled$:"isAdaptiveLightingEnabled$"},decls:27,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-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,"d-flex","justify-content-center","mb-0","p-0","mt-0"],[1,"modal-footer"],[1,"mb-0","mx-0","p-3","btn-read","w-100","no-round-top"],[1,"fas","fa-fw","fa-xl","fa-sun",3,"ngClass"],[1,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],[3,"ngModelChange","min","max","step","ngModel","ngClass"],[1,"d-flex","text-center","mt-0","mb-1"],[1,"grey-text","small"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),y("click",function(f){return i.setTargetMode(!1),f.target.blur()}),a(8,"div",7),v(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),v(13,"i",10),s()(),a(14,"button",6),y("click",function(f){return i.setTargetMode(!0),f.target.blur()}),a(15,"div",7),v(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),v(20,"i",10),s()(),v(21,"div"),s(),h(22,Dl,8,8,"div",11),h(23,Al,4,8),h(24,Vl,5,13),h(25,Ll,5,13),s(),v(26,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,10,"form.button_close")),r(6),m("ngClass",D(16,co,!i.targetMode,i.targetMode)),r(),B(" ",p(11,12,"accessories.control.off")," "),r(6),m("ngClass",D(19,co,i.targetMode,!i.targetMode)),r(),B(" ",p(18,14,"accessories.control.on")," "),r(5),C(i.hasAdaptiveLighting?22:-1),r(),C(i.targetBrightness?23:-1),r(),C(i.targetHue?24:-1),r(),C(i.targetColorTemperature?25:-1))},dependencies:[le,fe,he,Se,A,O],encapsulation:2})}return e})();var Rl=e=>({"light-on":e});function Ol(e,n){if(e&1&&(v(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerHTML",t.service.values.On?t.service.values.Brightness+"%"+(t.hasAdaptiveLighting?" \xB7 <i class='fa fa-sun "+(t.isAdaptiveLightingEnabled?"on-text":"grey-text")+"'></i>":""):p(1,1,"accessories.control.off"),Oi)}}function Hl(e,n){if(e&1&&(v(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerHTML",p(1,1,t.service.values.On?"accessories.control.on"+(t.hasAdaptiveLighting?" \xB7 <i class='fa fa-sun "+(t.isAdaptiveLightingEnabled?"on-text":"grey-text")+"'></i>":""):"accessories.control.off"),Oi)}}var uo=(()=>{class e{$modal=H(ae);intervalId;service;hasAdaptiveLighting=!1;isAdaptiveLightingEnabled=!1;isAdaptiveLightingEnabled$=new cn(!1);constructor(){}ngOnInit(){this.loadAdaptiveLighting()}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}loadAdaptiveLighting(){"CharacteristicValueActiveTransitionCount"in this.service.values&&(this.hasAdaptiveLighting=!0,this.isAdaptiveLightingEnabled$.next(!!this.service.values.CharacteristicValueActiveTransitionCount),this.intervalId=setInterval(()=>{this.isAdaptiveLightingEnabled$.next(!!this.service.values.CharacteristicValueActiveTransitionCount)},3e4),this.isAdaptiveLightingEnabled$.subscribe(t=>{this.isAdaptiveLightingEnabled=t}))}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||"Hue"in this.service.values||"ColorTemperature"in this.service.values){let t=this.$modal.open(mo,{size:"md"});if(t.componentInstance.service=this.service,this.hasAdaptiveLighting){t.componentInstance.isAdaptiveLightingEnabled$=this.isAdaptiveLightingEnabled$,this.intervalId&&clearInterval(this.intervalId),this.intervalId=setInterval(()=>{this.isAdaptiveLightingEnabled$.next(!!this.service.values.CharacteristicValueActiveTransitionCount)},3e3);let o=this.isAdaptiveLightingEnabled$.subscribe(i=>{this.isAdaptiveLightingEnabled=i});t.result.finally(()=>{this.intervalId&&clearInterval(this.intervalId),o.unsubscribe(),this.intervalId=setInterval(()=>{this.isAdaptiveLightingEnabled$.next(!!this.service.values.CharacteristicValueActiveTransitionCount)},3e4)})}}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-lightbulb"]],inputs:{service:"service"},decls:7,vars:7,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,"innerHTML"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,Ol,2,3,"div",4)(6,Hl,2,3,"div",4),s()()),o&2&&(m("ngClass",oe(5,Rl,i.service.values.On)),r(2),m("inlineSVG","/assets/hap-icons/lightbulb.svg"),w("aria-label","Light Bulb"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.Brightness?5:6))},dependencies:[ie,O,Y,q,A],encapsulation:2})}return e})();function Nl(e,n){if(e&1&&(a(0,"div",4),c(1),d(2,"number"),s()),e&2){let t=g();r(),B("",ve(2,1,t.service.values.CurrentAmbientLightLevel,"0.1-1")," lux")}}function Fl(e,n){if(e&1&&(a(0,"div",4),c(1),d(2,"number"),s()),e&2){let t=g();r(),B("",ve(2,1,t.service.values.CurrentAmbientLightLevel,"1.0-0")," lux")}}var vo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,Nl,3,4,"div",4),h(6,Fl,3,4,"div",4),s()()),o&2&&(r(2),m("inlineSVG","/assets/hap-icons/light.svg"),w("aria-label","Light Sensor"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.CurrentAmbientLightLevel<1?5:-1),r(),C(i.service.values.CurrentAmbientLightLevel>=1?6:-1))},dependencies:[Y,q,Re],encapsulation:2})}return e})();var Bi=(()=>{class e{transform(t){if(typeof t!="number"||Number.isNaN(t))return"";let o=Math.floor(t/60),i=t%60;return[o>0?`${o.toString()}m`:"",i>0?`${i.toString()}s`:""].filter(Boolean).join(" ")}static \u0275fac=function(o){return new(o||e)};static \u0275pipe=Et({name:"duration",type:e,pure:!0})}return e})();var go=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Gl(e,n){if(e&1){let t=j();a(0,"h6",12),c(1),d(2,"translate"),d(3,"duration"),s(),a(4,"nouislider",13),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetLockManagementAutoSecurityTimeout.value,i)||(l.targetLockManagementAutoSecurityTimeout.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onLockManagementAutoSecurityTimeoutStateChange())}),s()}if(e&2){let t=g();r(),K(" ",p(2,6,"accessories.control.lock_auto"),": ",t.targetLockManagementAutoSecurityTimeout.value===0?"\u221E":p(3,8,t.targetLockManagementAutoSecurityTimeout.value)," "),r(3),m("min",t.targetLockManagementAutoSecurityTimeout.min)("max",t.targetLockManagementAutoSecurityTimeout.max)("step",10),Q("ngModel",t.targetLockManagementAutoSecurityTimeout.value)}}var fo=(()=>{class e{$activeModal=H(ce);service;serviceManagement;targetMode;targetLockManagementAutoSecurityTimeout;targetLockManagementAutoSecurityTimeoutChanged=new re;lockTimeout;constructor(){}ngOnInit(){this.targetMode=this.service.values.LockTargetState,this.service.linkedServices&&(this.serviceManagement=Object.values(this.service.linkedServices).find(t=>t.type==="LockManagement")),this.serviceManagement&&(this.targetLockManagementAutoSecurityTimeoutChanged.pipe(ue(300),vn()).subscribe(()=>{this.serviceManagement.getCharacteristic("LockManagementAutoSecurityTimeout").setValue(this.targetLockManagementAutoSecurityTimeout.value)}),this.loadTargetLockManagementAutoSecurityTimeout())}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("LockTargetState").setValue(this.targetMode),this.lockTimeout&&(clearTimeout(this.lockTimeout),this.lockTimeout=null),this.targetMode===0&&this.targetLockManagementAutoSecurityTimeout?.value>0&&(this.lockTimeout=setTimeout(()=>{this.targetMode=1},(this.targetLockManagementAutoSecurityTimeout.value+.3)*1e3))}loadTargetLockManagementAutoSecurityTimeout(){let t=this.serviceManagement.getCharacteristic("LockManagementAutoSecurityTimeout");t&&(this.targetLockManagementAutoSecurityTimeout={value:t.value||0,min:t.minValue||0,max:t.maxValue||3600,step:t.minStep||10})}onLockManagementAutoSecurityTimeoutStateChange(){this.targetLockManagementAutoSecurityTimeoutChanged.next(this.targetLockManagementAutoSecurityTimeout.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-lockmechanism-manage"]],inputs:{service:"service"},decls:23,vars:19,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","Lock Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","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),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),y("click",function(f){return i.setTargetMode(1),f.target.blur()}),a(8,"div",7),v(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),v(13,"i",10),s()(),a(14,"button",6),y("click",function(f){return i.setTargetMode(0),f.target.blur()}),a(15,"div",7),v(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),v(20,"i",10),s()()(),h(21,Gl,5,10),s(),v(22,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,7,"form.button_close")),r(6),m("ngClass",D(13,go,i.targetMode===1,i.targetMode!==1)),r(),B(" ",p(11,9,"accessories.control.locked")," "),r(6),m("ngClass",D(16,go,i.targetMode===0,i.targetMode!==0)),r(),B(" ",p(18,11,"accessories.control.unlocked")," "),r(4),C(i.serviceManagement?21:-1))},dependencies:[le,fe,he,Se,A,Bi,O],encapsulation:2})}return e})();var Ul=e=>({"switch-on":e}),Wl=(e,n)=>({"red-text":e,"grey-text":n});function jl(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/lock-unlocked.svg"),w("aria-label","Unlocked"))}function $l(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/lock-locked.svg"),w("aria-label","Locked"))}function zl(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/unknown.svg"),w("aria-label","Error"))}function ql(e,n){if(e&1&&(v(0,"div",4),d(1,"translate")),e&2){let t=g();m("innerText",p(1,2,t.service.values.LockCurrentState?"accessories.control.locked":"accessories.control.unlocked"))("ngClass",D(4,Wl,!t.service.values.LockCurrentState,t.service.values.LockCurrentState))}}function Yl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.jammed")))}function Kl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.unknown")))}var ho=(()=>{class e{service;$modal=H(ae);constructor(){}onClick(){this.service.getCharacteristic("LockTargetState").setValue(this.service.values.LockTargetState?0:1)}onLongClick(){let t=this.$modal.open(fo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-lockmechanism"]],inputs:{service:"service"},decls:10,vars:10,consts:[["appLongclick","","tabindex","0",1,"accessory-box",3,"shortclick","longclick","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),y("shortclick",function(){return i.onClick()})("longclick",function(){return i.onLongClick()}),a(1,"div",1),h(2,jl,1,2,"div",2),h(3,$l,1,2,"div",2),h(4,zl,1,2,"div",2),a(5,"div",3),c(6),s(),h(7,ql,2,7,"div",4),h(8,Yl,3,3,"div",5),h(9,Kl,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(8,Ul,i.service.values.LockCurrentState===0)),r(2),C(i.service.values.LockCurrentState===0?2:-1),r(),C(i.service.values.LockCurrentState===1?3:-1),r(),C(i.service.values.LockCurrentState>1?4:-1),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.LockCurrentState<2?7:-1),r(),C(i.service.values.LockCurrentState===2?8:-1),r(),C(i.service.values.LockCurrentState===3?9:-1))},dependencies:[ie,O,Y,q,A],encapsulation:2})}return e})();var Xl=(e,n)=>({"switch-on":e,"switch-off":n});function Zl(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.detected")))}function Jl(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.not_detected")))}var Co=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,Zl,3,3,"div",4),h(6,Jl,3,3,"div",5),s()()),o&2&&(m("ngClass",D(6,Xl,i.service.values.MotionDetected,!i.service.values.MotionDetected)),r(2),m("inlineSVG","/assets/hap-icons/motionsensor.svg"),w("aria-label","Motion Sensor"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.MotionDetected?5:-1),r(),C(i.service.values.MotionDetected?-1:6))},dependencies:[O,Y,q,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 Ql=(e,n)=>({"switch-on":e,"switch-off":n});function ec(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.detected")))}function tc(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.not_detected")))}var _o=(()=>{class e{service;constructor(){}onClick(){console.log("short click")}onLongClick(){console.log("long clicked")}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,ec,3,3,"div",4),h(6,tc,3,3,"div",5),s()()),o&2&&(m("ngClass",D(6,Ql,i.service.values.OccupancyDetected,!i.service.values.OccupancyDetected)),r(2),m("inlineSVG","/assets/hap-icons/occupancysensor.svg"),w("aria-label","Occupancy Sensor"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.OccupancyDetected?5:-1),r(),C(i.service.values.OccupancyDetected?-1:6))},dependencies:[O,Y,q,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 ic=e=>({"switch-on":e}),So=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),a(3,"div",3),c(4),s(),v(5,"div",4),d(6,"translate"),s()()),o&2&&(m("ngClass",oe(7,ic,i.service.values.On)),r(2),m("inlineSVG","/assets/hap-icons/outlet.svg"),w("aria-label","Outlet"),r(2),S(i.service.customName||i.service.serviceName),r(),m("innerText",p(6,5,i.service.values.On?"accessories.control.on":"accessories.control.off")))},dependencies:[ie,O,Y,q,A],encapsulation:2})}return e})();var nc=["class","manage"],bi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function oc(e,n){if(e&1){let t=j();a(0,"button",8),y("click",function(i){return L(t),g().setTargetMode(3),R(i.target.blur())}),a(1,"div",9),v(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=g();r(2),m("ngClass",D(4,bi,t.targetMode===3,t.targetMode!==3)),r(),B(" ",p(4,2,"accessories.control.off")," ")}}function rc(e,n){if(e&1){let t=j();a(0,"button",8),y("click",function(i){return L(t),g().setTargetMode(0),R(i.target.blur())}),a(1,"div",9),v(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=g();r(2),m("ngClass",D(4,bi,t.targetMode===0,t.targetMode!==0)),r(),B(" ",p(4,2,"accessories.control.home")," ")}}function ac(e,n){if(e&1){let t=j();a(0,"button",8),y("click",function(i){return L(t),g().setTargetMode(1),R(i.target.blur())}),a(1,"div",9),v(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=g();r(2),m("ngClass",D(4,bi,t.targetMode===1,t.targetMode!==1)),r(),B(" ",p(4,2,"accessories.control.away")," ")}}function sc(e,n){if(e&1){let t=j();a(0,"button",8),y("click",function(i){return L(t),g().setTargetMode(2),R(i.target.blur())}),a(1,"div",9),v(2,"i",10),s(),c(3),d(4,"translate"),a(5,"div",11),v(6,"i",12),s()()}if(e&2){let t=g();r(2),m("ngClass",D(4,bi,t.targetMode===2,t.targetMode!==2)),r(),B(" ",p(4,2,"accessories.control.night")," ")}}var xo=(()=>{class e{$activeModal=H(ce);service;targetMode;targetModeValidValues=[];constructor(){}ngOnInit(){this.targetMode=this.service.values.SecuritySystemTargetState,this.targetModeValidValues=this.service.getCharacteristic("SecuritySystemTargetState").validValues}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("SecuritySystemTargetState").setValue(this.targetMode)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-securitysystem",8,"manage"]],inputs:{service:"service"},attrs:nc,decls:12,vars:8,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"],[1,"modal-footer"],["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"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5),h(7,oc,7,7,"button",6),h(8,rc,7,7,"button",6),h(9,ac,7,7,"button",6),h(10,sc,7,7,"button",6),s()(),v(11,"div",7),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,6,"form.button_close")),r(4),C(i.targetModeValidValues.includes(3)?7:-1),r(),C(i.targetModeValidValues.includes(0)?8:-1),r(),C(i.targetModeValidValues.includes(1)?9:-1),r(),C(i.targetModeValidValues.includes(2)?10:-1))},dependencies:[le,A,O],encapsulation:2})}return e})();var lc=e=>({"switch-on":e});function cc(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/securitysystem-active.svg"),w("aria-label","Armed"))}function dc(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/securitysystem-off.svg"),w("aria-label","Disarmed"))}function pc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.home")))}function mc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.away")))}function uc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.night")))}function vc(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.off")))}function gc(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.triggered")))}var yo=(()=>{class e{$modal=H(ae);service;constructor(){}onClick(){let t=this.$modal.open(xo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,cc,1,2,"div",2),h(3,dc,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,pc,3,3,"div",4)(7,mc,3,3,"div",4)(8,uc,3,3,"div",4)(9,vc,3,3,"div",5)(10,gc,3,3,"div",5),s()()),o&2){let l;m("ngClass",oe(5,lc,i.service.values.SecuritySystemCurrentState!==3)),r(2),C(i.service.values.SecuritySystemCurrentState!==3?2:-1),r(),C(i.service.values.SecuritySystemCurrentState===3?3:-1),r(2),S(i.service.customName||i.service.serviceName),r(),C((l=i.service.values.SecuritySystemCurrentState)===0?6:l===1?7:l===2?8:l===3?9:l===4?10:-1)}},dependencies:[ie,O,Y,q,A],encapsulation:2})}return e})();var fc=(e,n)=>({"switch-on":e,"switch-off":n});function hc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.detected")))}function Cc(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.not_detected")))}var Bo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,hc,3,3,"div",4),h(6,Cc,3,3,"div",5),s()()),o&2&&(m("ngClass",D(6,fc,i.service.values.SmokeDetected,!i.service.values.SmokeDetected)),r(2),m("inlineSVG","/assets/hap-icons/smokesensor.svg"),w("aria-label","Smoke Sensor"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.SmokeDetected?5:-1),r(),C(i.service.values.SmokeDetected?-1:6))},dependencies:[O,Y,q,A],styles:[".switch-off svg .smoke_sensor_trigger_lines{display:none} .switch-off svg .smoke_sensor_box{fill:gray}"]})}return e})();var Ti=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function _c(e,n){if(e&1){let t=j();a(0,"div",5)(1,"button",7),y("click",function(i){return L(t),g().setActive(0),R(i.target.blur())}),a(2,"div",8),v(3,"i",9),s(),c(4),d(5,"translate"),a(6,"div",10),v(7,"i",11),s()(),a(8,"button",7),y("click",function(i){return L(t),g().setActive(1),R(i.target.blur())}),a(9,"div",8),v(10,"i",9),s(),c(11),d(12,"translate"),a(13,"div",10),v(14,"i",11),s()()()}if(e&2){let t=g();r(3),m("ngClass",D(8,Ti,t.service.values.Active===0,t.service.values.Active!==0)),r(),B(" ",p(5,4,"accessories.control.off")," "),r(6),m("ngClass",D(11,Ti,t.service.values.Active===1,t.service.values.Active!==1)),r(),B(" ",p(12,6,"accessories.control.on")," ")}}function Sc(e,n){if(e&1){let t=j();a(0,"h6",13),c(1),d(2,"translate"),s(),a(3,"nouislider",14),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetVolume.value,i)||(l.targetVolume.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onVolumeStateChange())}),s()}if(e&2){let t=g();r(),K("",p(2,6,"accessories.control.speaker_volume"),": ",t.targetVolume.value,"%"),r(2),m("min",t.targetVolume.min)("max",t.targetVolume.max)("step",t.targetVolume.step),Q("ngModel",t.targetVolume.value)}}var bo=(()=>{class e{$activeModal=H(ce);service;targetMode;targetVolume;targetVolumeChanged=new re;hasActive;constructor(){this.targetVolumeChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("Volume").setValue(this.targetVolume.value)})}ngOnInit(){this.targetMode=this.service.values.Mute,this.loadTargetVolume(),this.service.serviceCharacteristics.find(t=>t.type==="Active")&&(this.hasActive=!0)}loadTargetVolume(){let t=this.service.getCharacteristic("Volume");t&&(this.targetVolume={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #ffffff, #ffd966, #ff0000)"})},10))}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Mute").setValue(this.targetMode)}setActive(t){this.service.getCharacteristic("Active").setValue(t)}onVolumeStateChange(){this.targetVolumeChanged.next(this.targetVolume.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-speaker-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","Speaker Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0"],["role","group","aria-label","Speaker Mute 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","mb-0"],[3,"ngModelChange","min","max","step","ngModel"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),h(6,_c,15,14,"div",5),a(7,"h6"),c(8),d(9,"translate"),s(),a(10,"div",6)(11,"button",7),y("click",function(f){return i.setTargetMode(!1),f.target.blur()}),a(12,"div",8),v(13,"i",9),s(),c(14),d(15,"translate"),a(16,"div",10),v(17,"i",11),s()(),a(18,"button",7),y("click",function(f){return i.setTargetMode(!0),f.target.blur()}),a(19,"div",8),v(20,"i",9),s(),c(21),d(22,"translate"),a(23,"div",10),v(24,"i",11),s()()(),h(25,Sc,4,8),s(),v(26,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,9,"form.button_close")),r(3),C(i.hasActive?6:-1),r(2),S(p(9,11,i.hasActive?"accessories.control.speaker_volume":"menu.label_status")),r(5),m("ngClass",D(17,Ti,!i.targetMode,i.targetMode)),r(),B(" ",p(15,13,"accessories.control.not_mute")," "),r(6),m("ngClass",D(20,Ti,i.targetMode,!i.targetMode)),r(),B(" ",p(22,15,"accessories.control.mute")," "),r(4),C(i.targetVolume?25:-1))},dependencies:[le,fe,he,Se,A,O],encapsulation:2})}return e})();var xc=e=>({"switch-on":e});function yc(e,n){e&1&&(v(0,"div",4),d(1,"translate")),e&2&&m("innerText",p(1,1,"accessories.control.off"))}function Bc(e,n){e&1&&(v(0,"div",4),d(1,"translate")),e&2&&m("innerText",p(1,1,"accessories.control.mute"))}function bc(e,n){if(e&1&&(a(0,"div",5),c(1),s()),e&2){let t=g();r(),B("",t.service.values.Volume,"%")}}function Tc(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.on")))}var To=(()=>{class e{$modal=H(ae);service;constructor(){}onClick(){let t=this.service.getCharacteristic("Active");t!==void 0?t.setValue(this.service.values.Active===0?1:0):this.service.getCharacteristic("Mute").setValue(!this.service.values.Mute)}onLongClick(){if("Volume"in this.service.values||"Active"in this.service.values){let t=this.$modal.open(bo,{size:"md"});t.componentInstance.service=this.service}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-speaker"]],inputs:{service:"service"},decls:9,vars:7,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),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,yc,2,3,"div",4)(6,Bc,2,3,"div",4)(7,bc,2,1,"div",5)(8,Tc,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(5,xc,i.service.values.Active!==void 0?i.service.values.Active===1:!i.service.values.Mute)),r(2),m("inlineSVG","/assets/hap-icons/speaker.svg"),w("aria-label","Speaker"),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.Active!==void 0&&i.service.values.Active===0?5:i.service.values.Mute?6:i.service.values.Volume!==void 0?7:8))},dependencies:[ie,O,Y,q,A],encapsulation:2})}return e})();var Mo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s()()()),o&2&&(r(2),m("inlineSVG","/assets/hap-icons/statelessprogrammableswitch.svg"),w("aria-label","Stateless Programmable Switch"),r(2),S(i.service.customName||i.service.serviceName))},dependencies:[Y,q],encapsulation:2})}return e})();var Mc=e=>({"switch-on":e}),Eo=(()=>{class e{service;constructor(){}onClick(){this.service.getCharacteristic("On").setValue(!this.service.values.On)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),a(3,"div",3),c(4),s(),v(5,"div",4),d(6,"translate"),s()()),o&2&&(m("ngClass",oe(7,Mc,i.service.values.On)),r(2),m("inlineSVG","/assets/hap-icons/switch.svg"),w("aria-label","Switch"),r(2),S(i.service.customName||i.service.serviceName),r(),m("innerText",p(6,5,i.service.values.On?"accessories.control.on":"accessories.control.off")))},dependencies:[ie,O,Y,q,A],encapsulation:2})}return e})();var Ec=(e,n)=>({"mb-4":e,"mb-0":n}),Zi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function wc(e,n){if(e&1){let t=j();a(0,"div",5)(1,"button",7),y("click",function(i){return L(t),g().setActive(0),R(i.target.blur())}),a(2,"div",8),v(3,"i",9),s(),c(4),d(5,"translate"),a(6,"div",10),v(7,"i",11),s()(),a(8,"button",7),y("click",function(i){return L(t),g().setActive(1),R(i.target.blur())}),a(9,"div",8),v(10,"i",9),s(),c(11),d(12,"translate"),a(13,"div",10),v(14,"i",11),s()()()}if(e&2){let t=g();m("ngClass",D(9,Ec,t.sourceList.length,!t.sourceList.length)),r(3),m("ngClass",D(12,Zi,t.service.values.Active===0,t.service.values.Active!==0)),r(),B(" ",p(5,5,"accessories.control.off")," "),r(6),m("ngClass",D(15,Zi,t.service.values.Active===1,t.service.values.Active!==1)),r(),B(" ",p(12,7,"accessories.control.on")," ")}}function kc(e,n){e&1&&(a(0,"h6"),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.input")))}function Dc(e,n){if(e&1){let t=j();a(0,"button",7),y("click",function(i){let l=L(t).$implicit;return g(2).setInput(l.identifier),R(i.target.blur())}),a(1,"div",8),v(2,"i",9),s(),c(3),a(4,"div",10),v(5,"i",11),s()()}if(e&2){let t=n.$implicit,o=g(2);r(2),m("ngClass",D(2,Zi,o.service.values.ActiveIdentifier===t.identifier,o.service.values.ActiveIdentifier!==t.identifier)),r(),B(" ",t.name," ")}}function Ac(e,n){if(e&1&&(h(0,kc,3,3,"h6"),a(1,"div",12),gt(2,Dc,6,5,"button",13,vt),s()),e&2){let t=g();C(t.hasActive?0:-1),r(2),ft(t.sourceList)}}var wo=(()=>{class e{$activeModal=H(ce);service;inputList;hasActive=!1;sourceList=[];constructor(){}ngOnInit(){this.service.serviceCharacteristics.find(t=>t.type==="Active")&&(this.hasActive=!0),Object.keys(this.inputList).length&&Object.entries(this.inputList).forEach(([t,o])=>{this.sourceList.push({identifier:Number.parseInt(t,10),name:o})})}setActive(t){this.service.getCharacteristic("Active").setValue(t)}setInput(t){this.service.getCharacteristic("ActiveIdentifier").setValue(t)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-television-manage"]],inputs:{service:"service",inputList:"inputList"},decls:9,vars:6,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","Television Mode Control",1,"btn-group-vertical","d-flex","justify-content-center","mb-4","p-0",3,"ngClass"],[1,"modal-footer"],["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"],["role","group","aria-label","Television Input 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"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),h(6,wc,15,18,"div",5),h(7,Ac,4,1),s(),v(8,"div",6),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,4,"form.button_close")),r(3),C(i.hasActive?6:-1),r(),C(i.sourceList.length?7:-1))},dependencies:[le,A,O],encapsulation:2})}return e})();var Ic=e=>({"switch-on":e});function Vc(e,n){if(e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2){let t=g();r(),B(" ",t.channelList[t.service.values.ActiveIdentifier]||p(2,1,"accessories.control.on")," ")}}function Pc(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.off")))}var ko=(()=>{class e{$modal=H(ae);service;channelList={};constructor(){}ngOnInit(){for(let[,t]of Object.entries(this.service.linkedServices))t.type==="InputSource"&&(this.channelList[t.values.Identifier]=t.values.ConfiguredName||`Input ${t.values.Identifier}`)}onClick(){this.service.getCharacteristic("Active").setValue(this.service.values.Active?0:1)}onLongClick(){if("Active"in this.service.values||Object.keys(this.channelList).length){let t=this.$modal.open(wo,{size:"md"});t.componentInstance.service=this.service,t.componentInstance.inputList=this.channelList}}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-television"]],inputs:{service:"service"},decls:7,vars:7,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"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),a(3,"div",3),c(4),s(),h(5,Vc,3,3,"div",4)(6,Pc,3,3,"div",4),s()()),o&2&&(m("ngClass",oe(5,Ic,i.service.values.Active)),r(2),m("inlineSVG","/assets/hap-icons/television.svg"),w("aria-label","Television"),r(2),B(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),C(i.service.values.Active?5:6))},dependencies:[ie,O,Y,q,A],encapsulation:2})}return e})();var Do=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),d(3,"convertTemp"),d(4,"number"),a(5,"div",3),c(6),s()()()),o&2&&(r(2),m("innerText",ve(4,4,p(3,2,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"),r(4),S(i.service.customName||i.service.serviceName))},dependencies:[Re,$e],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;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 Lc=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t}),Mi=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Rc(e,n){if(e&1&&(a(0,"div",6),v(1,"div",10),s()),e&2){let t=g();r(),m("innerText",t.service.values.CurrentRelativeHumidity+"%")}}function Oc(e,n){if(e&1){let t=j();a(0,"button",11),y("click",function(i){return L(t),g().setTargetMode(0),R(i.target.blur())}),a(1,"div",12),v(2,"i",13),s(),c(3),d(4,"translate"),a(5,"div",14),v(6,"i",15),s()()}if(e&2){let t=g();r(2),m("ngClass",D(4,Mi,t.targetMode===0,t.targetMode!==0)),r(),B(" ",p(4,2,"accessories.control.off")," ")}}function Hc(e,n){if(e&1){let t=j();a(0,"button",11),y("click",function(i){return L(t),g().setTargetMode(3),R(i.target.blur())}),a(1,"div",12),v(2,"i",13),s(),c(3),d(4,"translate"),a(5,"div",14),v(6,"i",15),s()()}if(e&2){let t=g();r(2),m("ngClass",D(4,Mi,t.targetMode===3,t.targetMode!==3)),r(),B(" ",p(4,2,"accessories.control.auto")," ")}}function Nc(e,n){if(e&1){let t=j();a(0,"button",11),y("click",function(i){return L(t),g().setTargetMode(1),R(i.target.blur())}),a(1,"div",12),v(2,"i",13),s(),c(3),d(4,"translate"),a(5,"div",14),v(6,"i",15),s()()}if(e&2){let t=g();r(2),m("ngClass",D(4,Mi,t.targetMode===1,t.targetMode!==1)),r(),B(" ",p(4,2,"accessories.control.heat")," ")}}function Fc(e,n){if(e&1){let t=j();a(0,"button",11),y("click",function(i){return L(t),g().setTargetMode(2),R(i.target.blur())}),a(1,"div",12),v(2,"i",13),s(),c(3),d(4,"translate"),a(5,"div",14),v(6,"i",15),s()()}if(e&2){let t=g();r(2),m("ngClass",D(4,Mi,t.targetMode===2,t.targetMode!==2)),r(),B(" ",p(4,2,"accessories.control.cool")," ")}}function Gc(e,n){if(e&1){let t=j();a(0,"h6",18),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),d(6,"convertTemp"),d(7,"number"),d(8,"uppercase"),s(),a(9,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.autoTemp,i)||(l.autoTemp=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onAutoThresholdStateChange())}),s()}if(e&2){let t=g(2);r(),mi(" ",p(2,9,"accessories.control.threshold_auto"),": ",ve(4,13,p(3,11,t.autoTemp[0]),"1.0-1"),"\xB0",p(5,16,t.$settings.env.temperatureUnits)," - ",ve(7,20,p(6,18,t.autoTemp[1]),"1.0-1"),"\xB0",p(8,23,t.$settings.env.temperatureUnits)," "),r(8),m("min",t.HeatingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),Q("ngModel",t.autoTemp)}}function Uc(e,n){if(e&1){let t=j();a(0,"h6",16),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.targetHeatingTemp,i)||(l.targetHeatingTemp=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onThresholdStateChange())}),s()}if(e&2){let t=g(2);r(),tt(" ",p(2,7,"accessories.control.threshold_auto"),": ",ve(4,11,p(3,9,t.targetHeatingTemp),"1.0-1"),"\xB0",p(5,14,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.HeatingThresholdTemperature.minValue)("max",t.HeatingThresholdTemperature.maxValue)("step",t.HeatingThresholdTemperature.minStep),Q("ngModel",t.targetHeatingTemp)}}function Wc(e,n){if(e&1){let t=j();a(0,"h6",16),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g(2);return ee(l.targetCoolingTemp,i)||(l.targetCoolingTemp=i),R(i)}),y("ngModelChange",function(){L(t);let i=g(2);return R(i.onThresholdStateChange())}),s()}if(e&2){let t=g(2);r(),tt(" ",p(2,7,"accessories.control.threshold_auto"),": ",ve(4,11,p(3,9,t.targetCoolingTemp),"1.0-1"),"\xB0",p(5,14,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.CoolingThresholdTemperature.minValue)("max",t.CoolingThresholdTemperature.maxValue)("step",t.CoolingThresholdTemperature.minStep),Q("ngModel",t.targetCoolingTemp)}}function jc(e,n){if(e&1){let t=j();a(0,"h6",16),c(1),d(2,"translate"),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),s(),a(6,"nouislider",17),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetTemperature.value,i)||(l.targetTemperature.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onTemperatureStateChange())}),s(),h(7,Gc,10,25)(8,Uc,7,16)(9,Wc,7,16)}if(e&2){let t=g();r(),tt(" ",p(2,8,"accessories.control.target_auto"),": ",ve(4,12,p(3,10,t.targetTemperature.value),"1.0-1"),"\xB0",p(5,15,t.$settings.env.temperatureUnits)," "),r(5),m("min",t.targetTemperature.min)("max",t.targetTemperature.max)("step",t.targetTemperature.step),Q("ngModel",t.targetTemperature.value),r(),C(t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?7:t.HeatingThresholdTemperature&&!t.CoolingThresholdTemperature?8:!t.HeatingThresholdTemperature&&t.CoolingThresholdTemperature?9:-1)}}var Ao=(()=>{class e{$activeModal=H(ce);$settings=H(Ze);service;targetMode;targetTemperature;targetTemperatureChanged=new re;targetThresholdChanged=new re;targetStateValidValues=[];CoolingThresholdTemperature;HeatingThresholdTemperature;targetCoolingTemp;targetHeatingTemp;autoTemp;hasHumidity=!1;constructor(){this.targetTemperatureChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("TargetTemperature").setValue(this.targetTemperature.value)}),this.targetThresholdChanged.pipe(ue(500)).subscribe(()=>{this.HeatingThresholdTemperature&&this.service.getCharacteristic("HeatingThresholdTemperature").setValue(this.targetHeatingTemp),this.CoolingThresholdTemperature&&this.service.getCharacteristic("CoolingThresholdTemperature").setValue(this.targetCoolingTemp)})}ngOnInit(){this.targetMode=this.service.values.TargetHeatingCoolingState,this.CoolingThresholdTemperature=this.service.getCharacteristic("CoolingThresholdTemperature"),this.HeatingThresholdTemperature=this.service.getCharacteristic("HeatingThresholdTemperature"),this.targetStateValidValues=this.service.getCharacteristic("TargetHeatingCoolingState").validValues,this.loadTargetTemperature(),this.service.getCharacteristic("CurrentRelativeHumidity")&&(this.hasHumidity=!0),setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(o=>{o.style.background="linear-gradient(to right, rgb(80, 80, 179), rgb(173, 216, 230), rgb(255, 185, 120), rgb(139, 90, 60))"})},10)}loadTargetTemperature(){let t=this.service.getCharacteristic("TargetTemperature");this.targetTemperature={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},this.targetCoolingTemp=this.service.getCharacteristic("CoolingThresholdTemperature")?.value,this.targetHeatingTemp=this.service.getCharacteristic("HeatingThresholdTemperature")?.value,this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp]}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("TargetHeatingCoolingState").setValue(this.targetMode)}onTemperatureStateChange(){this.targetTemperatureChanged.next(this.targetTemperature.value)}onThresholdStateChange(){this.autoTemp=[this.targetHeatingTemp,this.targetCoolingTemp],this.targetThresholdChanged.next(void 0)}onAutoThresholdStateChange(){this.targetHeatingTemp=this.autoTemp[0],this.targetCoolingTemp=this.autoTemp[1],this.targetThresholdChanged.next(void 0)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-thermostat-manage"]],inputs:{service:"service"},decls:18,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"],[1,"temperature-circle","temperature-circle-big","mb-4",3,"innerText","ngClass"],[1,"humidity-drop","humidity-drop-big","ms-5","no-current-state"],["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"],[1,"modal-footer"],[1,"humidity-drop-text",3,"innerText"],["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,"mt-4"],[3,"ngModelChange","min","max","step","ngModel"],[1,"mt-4","mb-1"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4),v(6,"div",5),d(7,"convertTemp"),d(8,"number"),d(9,"uppercase"),h(10,Rc,2,1,"div",6),a(11,"div",7),h(12,Oc,7,7,"button",8),h(13,Hc,7,7,"button",8),h(14,Nc,7,7,"button",8),h(15,Fc,7,7,"button",8),s(),h(16,jc,10,17),s(),v(17,"div",9),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,10,"form.button_close")),r(3),m("innerText",ve(8,14,p(7,12,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+p(9,17,i.$settings.env.temperatureUnits))("ngClass",je(19,Lc,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),C(i.hasHumidity?10:-1),r(2),C(i.targetStateValidValues.includes(0)?12:-1),r(),C(i.targetStateValidValues.includes(3)?13:-1),r(),C(i.targetStateValidValues.includes(1)?14:-1),r(),C(i.targetStateValidValues.includes(2)?15:-1),r(),C(i.targetStateValidValues.includes(3)?16:-1))},dependencies:[O,le,fe,he,Se,Re,A,$e,st],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;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}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-9px}.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 $c=e=>({"switch-on":e}),zc=(e,n,t)=>({cooling:e,heating:n,"no-current-state":t});function qc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.off")," ")}function Yc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.heat")," ")}function Kc(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.cool")," ")}function Xc(e,n){if(e&1&&(v(0,"i",5),c(1),d(2,"convertTemp"),d(3,"number"),d(4,"uppercase")),e&2){let t=g();r(),K(" ",ve(3,4,p(2,2,t.service.values.TargetTemperature),"1.0-1"),"\xB0",p(4,7,t.$settings.env.temperatureUnits)," ")}}var Io=(()=>{class e{$modal=H(ae);$settings=H(Ze);service;model=1;constructor(){}onClick(){let t=this.$modal.open(Ao,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-thermostat"]],inputs:{service:"service"},decls:13,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"],[1,"fa","fas","fa-bullseye"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),v(2,"div",2),d(3,"convertTemp"),d(4,"number"),d(5,"uppercase"),a(6,"div",3),c(7),s(),a(8,"div",4),h(9,qc,2,3)(10,Yc,2,3)(11,Kc,2,3)(12,Xc,5,9),s()()()),o&2&&(m("ngClass",oe(12,$c,i.service.values.TargetHeatingCoolingState>0)),r(2),m("innerText",ve(4,7,p(3,5,i.service.values.CurrentTemperature),"1.0-1")+"\xB0"+p(5,10,i.$settings.env.temperatureUnits))("ngClass",je(14,zc,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(5),S(i.service.customName||i.service.serviceName),r(2),C(i.service.values.TargetHeatingCoolingState===0?9:i.service.values.TargetHeatingCoolingState===1?10:i.service.values.TargetHeatingCoolingState===2?11:i.service.values.TargetHeatingCoolingState===3?12:-1))},dependencies:[ie,O,Re,A,$e,st],styles:[".temperature-circle[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:14px;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}}.temperature-circle-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:80px;font-size:22px}@keyframes _ngcontent-%COMP%_animate-cooling{0%{background-position:0 100%}to{background-position:0 0}}@keyframes _ngcontent-%COMP%_animate-heating{0%{background-position:0 0}to{background-position:0 100%}}.cooling[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-cooling 5s linear infinite;background-image:linear-gradient(0deg,#1e8bbd,#66d6d6,#1e8bbd,#66d6d6);background-size:100% 300%;color:#fff}.heating[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_animate-heating 5s linear infinite;background-image:linear-gradient(0deg,#cc5e00,#e69533,#cc5e00,#e69533);background-size:100% 300%;color:#fff}.humidity-drop[_ngcontent-%COMP%]{position:relative;display:inline-block;width:50px;height:50px;line-height:42px;border-radius:5% 55% 70%;font-size:14px;text-align:center;margin-bottom:6px;margin-top:9px;background-color:gray;color:#d3d3d3;transform:rotate(45deg)}.humidity-drop-text[_ngcontent-%COMP%]{transform:rotate(-45deg);margin-left:-5px}.humidity-drop-big[_ngcontent-%COMP%]{width:80px;height:80px;line-height:70px;font-size:22px}.humidity-drop-big[_ngcontent-%COMP%] .humidity-drop-text[_ngcontent-%COMP%]{margin-left:-9px}.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 Vo=(()=>{class e{service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),v(2,"div",2),a(3,"div",3),c(4),s(),a(5,"div",4),c(6),s()()()),o&2&&(r(2),m("inlineSVG","/assets/hap-icons/unknown.svg"),w("aria-label","Switch"),r(2),S(i.service.customName||i.service.serviceName),r(2),S(i.service.humanType))},dependencies:[Y,q],encapsulation:2})}return e})();var Po=(e,n)=>({"fa-check-circle":e,"fa-blank":n});function Zc(e,n){if(e&1){let t=j();a(0,"h6"),c(1),d(2,"translate"),d(3,"duration"),s(),a(4,"nouislider",12),te("ngModelChange",function(i){L(t);let l=g();return ee(l.targetSetDuration.value,i)||(l.targetSetDuration.value=i),R(i)}),y("ngModelChange",function(){L(t);let i=g();return R(i.onSetDurationStateChange())}),s()}if(e&2){let t=g();r(),K(" ",p(2,6,"accessories.control.set_duration"),": ",t.targetSetDuration.value===0?"\u221E":p(3,8,t.targetSetDuration.value)," "),r(3),m("min",t.targetSetDuration.min)("max",t.targetSetDuration.max)("step",15),Q("ngModel",t.targetSetDuration.value)}}var Lo=(()=>{class e{$activeModal=H(ce);service;targetMode;targetSetDuration;targetSetDurationChanged=new re;constructor(){this.targetSetDurationChanged.pipe(ue(500)).subscribe(()=>{this.service.getCharacteristic("SetDuration").setValue(this.targetSetDuration.value)})}ngOnInit(){this.targetMode=this.service.values.Active,this.loadTargetSetDuration()}loadTargetSetDuration(){let t=this.service.getCharacteristic("SetDuration");t&&(this.targetSetDuration={value:t.value,min:t.minValue,max:t.maxValue,step:t.minStep},setTimeout(()=>{let o=document.querySelectorAll(".noUi-target")[0];o&&(o.style.background="linear-gradient(to right, #add8e6, #416bdf)")},10))}setTargetMode(t){this.targetMode=t,this.service.getCharacteristic("Active").setValue(this.targetMode)}onSetDurationStateChange(){this.targetSetDurationChanged.next(this.targetSetDuration.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-valve-manage"]],inputs:{service:"service"},decls:23,vars:19,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","Valve 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),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"button",6),y("click",function(f){return i.setTargetMode(!1),f.target.blur()}),a(8,"div",7),v(9,"i",8),s(),c(10),d(11,"translate"),a(12,"div",9),v(13,"i",10),s()(),a(14,"button",6),y("click",function(f){return i.setTargetMode(!0),f.target.blur()}),a(15,"div",7),v(16,"i",8),s(),c(17),d(18,"translate"),a(19,"div",9),v(20,"i",10),s()()(),h(21,Zc,5,10),s(),v(22,"div",11),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,7,"form.button_close")),r(6),m("ngClass",D(13,Po,!i.targetMode,i.targetMode)),r(),B(" ",p(11,9,"accessories.control.off")," "),r(6),m("ngClass",D(16,Po,i.targetMode,!i.targetMode)),r(),B(" ",p(18,11,"accessories.control.on")," "),r(4),C(i.targetSetDuration?21:-1))},dependencies:[le,fe,he,Se,A,O,Bi],encapsulation:2})}return e})();var Jc=(e,n)=>({"switch-on":e,"switch-off":n});function Qc(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/valve-generic.svg"),w("aria-label","Valve"))}function ed(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/valve-irrigation.svg"),w("aria-label","Valve"))}function td(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/valve-showerhead.svg"),w("aria-label","Valve"))}function id(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/valve-waterfaucet.svg"),w("aria-label","Valve"))}function nd(e,n){if(e&1&&(a(0,"div",4),c(1),s()),e&2){let t=g();r(),S(t.remainingDuration)}}function od(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.running")))}function rd(e,n){e&1&&(a(0,"div",4),c(1),d(2,"translate"),s()),e&2&&(r(),S(p(2,1,"accessories.control.off")))}var Ro=(()=>{class e{$modal=H(ae);service;secondsActive=0;remainingDuration;remainingDurationInterval=mn(1e3).pipe(Nt(()=>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)}onLongClick(){let t=this.$modal.open(Lo,{size:"md"});t.componentInstance.service=this.service}ngOnDestroy(){this.remainingDurationSubscription&&this.remainingDurationSubscription.unsubscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-valve"]],inputs:{service:"service"},decls:11,vars:12,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"]],template:function(o,i){o&1&&(a(0,"div",0),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,Qc,1,2,"div",2),h(3,ed,1,2,"div",2),h(4,td,1,2,"div",2),h(5,id,1,2,"div",2),a(6,"div",3),c(7),s(),h(8,nd,2,1,"div",4),h(9,od,3,3,"div",4),h(10,rd,3,3,"div",4),s()()),o&2&&(m("ngClass",D(9,Jc,i.service.values.Active,!i.service.values.Active)),r(2),C(i.service.values.ValveType===0?2:-1),r(),C(i.service.values.ValveType===1?3:-1),r(),C(i.service.values.ValveType===2?4:-1),r(),C(i.service.values.ValveType===3?5:-1),r(2),B(" ",i.service.customName||i.service.values.ConfiguredName||i.service.serviceName," "),r(),C(i.service.values.Active&&i.remainingDuration?8:-1),r(),C(i.service.values.Active&&!i.remainingDuration?9:-1),r(),C(i.service.values.Active?-1:10))},dependencies:[ie,O,Y,q,A],styles:[".switch-off svg .valve_off_hidden{display:none} .switch-off svg .valve_off_grey{fill:gray}"]})}return e})();function ad(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closed")," ")}function sd(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);K(" ",p(1,2,"accessories.control.open")," ",t.service.getCharacteristic("CurrentPosition").value,"% ")}}function ld(e,n){if(e&1&&h(0,ad,2,3)(1,sd,2,4),e&2){let t=g();C(t.service.values.CurrentPosition===0?0:1)}}function cd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.opening"),"... ")}function dd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closing"),"... ")}var Oo=(()=>{class e{$activeModal=H(ce);service;targetMode;targetPosition;targetPositionChanged=new re;constructor(){this.targetPositionChanged.pipe(ue(500)).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},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #242424, #ffd6aa)"})},10))}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-window-manage"]],inputs:{service:"service"},decls:34,vars:34,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,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"div",6),h(8,ld,2,1)(9,cd,2,3)(10,dd,2,3),s()(),a(11,"h6",7),c(12),d(13,"translate"),s(),a(14,"nouislider",8),te("ngModelChange",function(f){return ee(i.targetPosition.value,f)||(i.targetPosition.value=f),f}),y("ngModelChange",function(){return i.onTargetPositionChange()}),s(),a(15,"div",9)(16,"span",10),c(17),d(18,"translate"),s(),a(19,"span",10),c(20),d(21,"translate"),s()(),a(22,"h6",7),c(23),d(24,"translate"),s(),a(25,"nouislider",11),te("ngModelChange",function(f){return ee(i.service.getCharacteristic("CurrentPosition").value,f)||(i.service.getCharacteristic("CurrentPosition").value=f),f}),s(),a(26,"div",9)(27,"span",10),c(28),d(29,"translate"),s(),a(30,"span",10),c(31),d(32,"translate"),s()()(),v(33,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,20,"form.button_close")),r(5),C(i.service.values.PositionState===2?8:i.service.values.PositionState===1?9:i.service.values.PositionState===0?10:-1),r(4),K("",p(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),m("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),Q("ngModel",i.targetPosition.value),r(3),S(p(18,24,"accessories.control.closed")),r(3),S(p(21,26,"accessories.control.open")),r(3),K(" ",p(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),r(2),m("min",0)("max",100)("step",1)("disabled",!0),Q("ngModel",i.service.getCharacteristic("CurrentPosition").value),r(3),S(p(29,30,"accessories.control.closed")),r(3),S(p(32,32,"accessories.control.open")))},dependencies:[Se,le,fe,he,A],styles:[".window-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var pd=e=>({"window-on":e});function md(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/window-closed.svg"),w("aria-label","Window"))}function ud(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/window-open.svg"),w("aria-label","Window"))}function vd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closed")," ")}function gd(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);K(" ",p(1,2,"accessories.control.open")," ",t.service.values.CurrentPosition,"% ")}}function fd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.open")," ")}function hd(e,n){if(e&1&&(a(0,"div",4),h(1,vd,2,3),h(2,gd,2,4),h(3,fd,2,3),s()),e&2){let t=g();r(),C(t.service.values.CurrentPosition===0?1:-1),r(),C(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),C(t.service.values.CurrentPosition===100?3:-1)}}function Cd(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),B("",p(2,1,"accessories.control.opening"),"..."))}function _d(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),B("",p(2,1,"accessories.control.closing"),"..."))}var Ho=(()=>{class e{$modal=H(ae);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(Oo,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,md,1,2,"div",2),h(3,ud,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,hd,4,3,"div",4),h(7,Cd,3,3,"div",5),h(8,_d,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(7,pd,i.service.values.TargetPosition)),r(2),C(i.service.values.TargetPosition?-1:2),r(),C(i.service.values.TargetPosition?3:-1),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.PositionState===2?6:-1),r(),C(i.service.values.PositionState===1?7:-1),r(),C(i.service.values.PositionState===0?8:-1))},dependencies:[ie,O,Y,q,A],styles:[".window-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function Sd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closed")," ")}function xd(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);K(" ",p(1,2,"accessories.control.open")," ",t.service.getCharacteristic("CurrentPosition").value,"% ")}}function yd(e,n){if(e&1&&h(0,Sd,2,3)(1,xd,2,4),e&2){let t=g();C(t.service.values.CurrentPosition===0?0:1)}}function Bd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.opening"),"... ")}function bd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closing"),"... ")}var No=(()=>{class e{$activeModal=H(ce);service;targetMode;targetPosition;targetPositionChanged=new re;constructor(){this.targetPositionChanged.pipe(ue(500)).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},setTimeout(()=>{document.querySelectorAll(".noUi-target").forEach(i=>{i.style.background="linear-gradient(to right, #242424, #ffd6aa)"})},10))}onTargetPositionChange(){this.targetPositionChanged.next(this.targetPosition.value)}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({type:e,selectors:[["app-windowcovering-manage"]],inputs:{service:"service"},decls:34,vars:34,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,"d-flex","justify-content-center","mb-0","p-0"],[1,"mb-0","mx-0","p-3","btn-read","w-100"],[1,"mt-4"],[1,"mb-1",3,"ngModelChange","min","max","step","ngModel"],[1,"d-flex","justify-content-between","align-items-center","mt-0","mb-1"],[1,"grey-text","small"],[1,"mb-1",3,"ngModelChange","min","max","step","disabled","ngModel"],[1,"modal-footer"]],template:function(o,i){o&1&&(a(0,"div",0)(1,"div",1),v(2,"h5",2),a(3,"button",3),d(4,"translate"),y("click",function(){return i.$activeModal.dismiss("Dismiss")}),s()(),a(5,"div",4)(6,"div",5)(7,"div",6),h(8,yd,2,1)(9,Bd,2,3)(10,bd,2,3),s()(),a(11,"h6",7),c(12),d(13,"translate"),s(),a(14,"nouislider",8),te("ngModelChange",function(f){return ee(i.targetPosition.value,f)||(i.targetPosition.value=f),f}),y("ngModelChange",function(){return i.onTargetPositionChange()}),s(),a(15,"div",9)(16,"span",10),c(17),d(18,"translate"),s(),a(19,"span",10),c(20),d(21,"translate"),s()(),a(22,"h6",7),c(23),d(24,"translate"),s(),a(25,"nouislider",11),te("ngModelChange",function(f){return ee(i.service.getCharacteristic("CurrentPosition").value,f)||(i.service.getCharacteristic("CurrentPosition").value=f),f}),s(),a(26,"div",9)(27,"span",10),c(28),d(29,"translate"),s(),a(30,"span",10),c(31),d(32,"translate"),s()()(),v(33,"div",12),s()),o&2&&(r(2),m("innerText",i.service.customName||i.service.serviceName),r(),w("aria-label",p(4,20,"form.button_close")),r(5),C(i.service.values.PositionState===2?8:i.service.values.PositionState===1?9:i.service.values.PositionState===0?10:-1),r(4),K("",p(13,22,"accessories.control.target"),": ",i.targetPosition.value,"%"),r(2),m("min",i.targetPosition.min)("max",i.targetPosition.max)("step",i.targetPosition.step),Q("ngModel",i.targetPosition.value),r(3),S(p(18,24,"accessories.control.closed")),r(3),S(p(21,26,"accessories.control.open")),r(3),K(" ",p(24,28,"accessories.control.current"),": ",i.service.getCharacteristic("CurrentPosition").value,"% "),r(2),m("min",0)("max",100)("step",1)("disabled",!0),Q("ngModel",i.service.getCharacteristic("CurrentPosition").value),r(3),S(p(29,30,"accessories.control.closed")),r(3),S(p(32,32,"accessories.control.open")))},dependencies:[Se,le,fe,he,A],styles:[".windowcovering-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();var Td=e=>({"window-on":e});function Md(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/windowcovering-closed.svg"),w("aria-label","Window Covering"))}function Ed(e,n){e&1&&v(0,"div",2),e&2&&(m("inlineSVG","/assets/hap-icons/windowcovering-open.svg"),w("aria-label","Window Covering"))}function wd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.closed")," ")}function kd(e,n){if(e&1&&(c(0),d(1,"translate")),e&2){let t=g(2);K(" ",p(1,2,"accessories.control.open")," ",t.service.values.CurrentPosition,"% ")}}function Dd(e,n){e&1&&(c(0),d(1,"translate")),e&2&&B(" ",p(1,1,"accessories.control.open")," ")}function Ad(e,n){if(e&1&&(a(0,"div",4),h(1,wd,2,3),h(2,kd,2,4),h(3,Dd,2,3),s()),e&2){let t=g();r(),C(t.service.values.CurrentPosition===0?1:-1),r(),C(t.service.values.CurrentPosition>0&&t.service.values.CurrentPosition<100?2:-1),r(),C(t.service.values.CurrentPosition===100?3:-1)}}function Id(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),B("",p(2,1,"accessories.control.opening"),"..."))}function Vd(e,n){e&1&&(a(0,"div",5),c(1),d(2,"translate"),s()),e&2&&(r(),B("",p(2,1,"accessories.control.closing"),"..."))}var Fo=(()=>{class e{$modal=H(ae);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(No,{size:"md"});t.componentInstance.service=this.service}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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),y("longclick",function(){return i.onLongClick()})("shortclick",function(){return i.onClick()}),a(1,"div",1),h(2,Md,1,2,"div",2),h(3,Ed,1,2,"div",2),a(4,"div",3),c(5),s(),h(6,Ad,4,3,"div",4),h(7,Id,3,3,"div",5),h(8,Vd,3,3,"div",5),s()()),o&2&&(m("ngClass",oe(7,Td,i.service.values.TargetPosition)),r(2),C(i.service.values.TargetPosition?-1:2),r(),C(i.service.values.TargetPosition?3:-1),r(2),S(i.service.customName||i.service.serviceName),r(),C(i.service.values.PositionState===2?6:-1),r(),C(i.service.values.PositionState===1?7:-1),r(),C(i.service.values.PositionState===0?8:-1))},dependencies:[ie,O,Y,q,A],styles:[".windowcovering-mode-control[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{font-size:1.4rem;text-transform:initial}"]})}return e})();function Pd(e,n){if(e&1){let t=j();a(0,"a",4),y("click",function(){L(t);let i=g();return R(i.$accessories.showAccessoryInformation(i.service))}),v(1,"i",5),s()}}function Ld(e,n){e&1&&v(0,"i",1)}function Rd(e,n){if(e&1&&(a(0,"app-switch",2),c(1,"Switch"),s()),e&2){let t=g();m("service",t.service)}}function Od(e,n){if(e&1&&(a(0,"app-thermostat",2),c(1,"Thermostat"),s()),e&2){let t=g();m("service",t.service)}}function Hd(e,n){if(e&1&&(a(0,"app-outlet",2),c(1,"Outlet"),s()),e&2){let t=g();m("service",t.service)}}function Nd(e,n){if(e&1&&(a(0,"app-fan",3),c(1,"Fan"),s()),e&2){let t=g();m("service",t.service)}}function Fd(e,n){if(e&1&&(a(0,"app-fanv2",3),c(1,"Fan"),s()),e&2){let t=g();m("service",t.service)}}function Gd(e,n){if(e&1&&(a(0,"app-airpurifier",3),c(1,"Air Purifier"),s()),e&2){let t=g();m("service",t.service)}}function Ud(e,n){if(e&1&&(a(0,"app-lightbulb",2),c(1,"Lightbulb"),s()),e&2){let t=g();m("service",t.service)}}function Wd(e,n){if(e&1&&(a(0,"app-lightsensor",2),c(1,"Light Sensor"),s()),e&2){let t=g();m("service",t.service)}}function jd(e,n){if(e&1&&(a(0,"app-lockmechanism",2),c(1,"Lock Mechanism"),s()),e&2){let t=g();m("service",t.service)}}function $d(e,n){if(e&1&&(a(0,"app-temperaturesensor",2),c(1,"Temperature Sensor"),s()),e&2){let t=g();m("service",t.service)}}function zd(e,n){if(e&1&&(a(0,"app-garagedooropener",2),c(1,"Garage Door Opener"),s()),e&2){let t=g();m("service",t.service)}}function qd(e,n){if(e&1&&(a(0,"app-motionsensor",2),c(1,"Motion Sensor"),s()),e&2){let t=g();m("service",t.service)}}function Yd(e,n){if(e&1&&(a(0,"app-occupancysensor",2),c(1,"Occupancy Sensor"),s()),e&2){let t=g();m("service",t.service)}}function Kd(e,n){if(e&1&&(a(0,"app-contactsensor",2),c(1,"Contact Sensor"),s()),e&2){let t=g();m("service",t.service)}}function Xd(e,n){if(e&1&&(a(0,"app-humiditysensor",2),c(1,"Humidity Sensor"),s()),e&2){let t=g();m("service",t.service)}}function Zd(e,n){if(e&1&&(a(0,"app-airqualitysensor",2),c(1,"Air Quality Sensor"),s()),e&2){let t=g();m("service",t.service)}}function Jd(e,n){if(e&1&&(a(0,"app-windowcovering",2),c(1,"Window Covering"),s()),e&2){let t=g();m("service",t.service)}}function Qd(e,n){if(e&1&&(a(0,"app-window",2),c(1,"Window"),s()),e&2){let t=g();m("service",t.service)}}function ep(e,n){if(e&1&&(a(0,"app-door",2),c(1,"Door"),s()),e&2){let t=g();m("service",t.service)}}function tp(e,n){if(e&1&&(a(0,"app-television",2),c(1,"Television"),s()),e&2){let t=g();m("service",t.service)}}function ip(e,n){if(e&1&&(a(0,"app-battery",2),c(1,"Battery"),s()),e&2){let t=g();m("service",t.service)}}function np(e,n){if(e&1&&(a(0,"app-battery",2),c(1,"Battery"),s()),e&2){let t=g();m("service",t.service)}}function op(e,n){if(e&1&&(a(0,"app-speaker",2),c(1,"Speaker"),s()),e&2){let t=g();m("service",t.service)}}function rp(e,n){if(e&1&&(a(0,"app-securitysystem",2),c(1,"Security System"),s()),e&2){let t=g();m("service",t.service)}}function ap(e,n){if(e&1&&(a(0,"app-leaksensor",2),c(1,"Leak Sensor"),s()),e&2){let t=g();m("service",t.service)}}function sp(e,n){if(e&1&&(a(0,"app-smokesensor",2),c(1,"Smoke Sensor"),s()),e&2){let t=g();m("service",t.service)}}function lp(e,n){if(e&1&&(a(0,"app-carbonmonoxidesensor",2),c(1,"Carbon Monoxide Sensor"),s()),e&2){let t=g();m("service",t.service)}}function cp(e,n){if(e&1&&(a(0,"app-carbondioxidesensor",2),c(1,"Carbon Dioxide Sensor"),s()),e&2){let t=g();m("service",t.service)}}function dp(e,n){if(e&1&&(a(0,"app-valve",2),c(1,"Valve"),s()),e&2){let t=g();m("service",t.service)}}function pp(e,n){if(e&1&&(a(0,"app-irrigationsystem",2),c(1,"Irrigation System"),s()),e&2){let t=g();m("service",t.service)}}function mp(e,n){if(e&1&&(a(0,"app-heatercooler",2),c(1,"Heater Cooler"),s()),e&2){let t=g();m("service",t.service)}}function up(e,n){if(e&1&&(a(0,"app-humidifierdehumidifier",2),c(1,"Humidifier Dehumidifier"),s()),e&2){let t=g();m("service",t.service)}}function vp(e,n){if(e&1&&(a(0,"app-statelessprogrammableswitch",2),c(1,"Stateless Programmable Switch"),s()),e&2){let t=g();m("service",t.service)}}function gp(e,n){if(e&1&&(a(0,"app-unknown",2),c(1),s()),e&2){let t=g();m("service",t.service),r(),S(t.service.humanType)}}var i_=(()=>{class e{$accessories=H(B0);service;constructor(){}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=M({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&&(yn(0),h(1,Pd,2,0,"a",0),h(2,Ld,1,0,"i",1),h(3,Rd,2,1,"app-switch",2)(4,Od,2,1,"app-thermostat",2)(5,Hd,2,1,"app-outlet",2)(6,Nd,2,1,"app-fan",3)(7,Fd,2,1,"app-fanv2",3)(8,Gd,2,1,"app-airpurifier",3)(9,Ud,2,1,"app-lightbulb",2)(10,Wd,2,1,"app-lightsensor",2)(11,jd,2,1,"app-lockmechanism",2)(12,$d,2,1,"app-temperaturesensor",2)(13,zd,2,1,"app-garagedooropener",2)(14,qd,2,1,"app-motionsensor",2)(15,Yd,2,1,"app-occupancysensor",2)(16,Kd,2,1,"app-contactsensor",2)(17,Xd,2,1,"app-humiditysensor",2)(18,Zd,2,1,"app-airqualitysensor",2)(19,Jd,2,1,"app-windowcovering",2)(20,Qd,2,1,"app-window",2)(21,ep,2,1,"app-door",2)(22,tp,2,1,"app-television",2)(23,ip,2,1,"app-battery",2)(24,np,2,1,"app-battery",2)(25,op,2,1,"app-speaker",2)(26,rp,2,1,"app-securitysystem",2)(27,ap,2,1,"app-leaksensor",2)(28,sp,2,1,"app-smokesensor",2)(29,lp,2,1,"app-carbonmonoxidesensor",2)(30,cp,2,1,"app-carbondioxidesensor",2)(31,dp,2,1,"app-valve",2)(32,pp,2,1,"app-irrigationsystem",2)(33,mp,2,1,"app-heatercooler",2)(34,up,2,1,"app-humidifierdehumidifier",2)(35,vp,2,1,"app-statelessprogrammableswitch",2)(36,gp,2,2,"app-unknown",2),Bn()),o&2){let l;r(),C(i.$accessories.readyForControl?1:-1),r(),C(i.$accessories.readyForControl?-1:2),r(),C((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:[Eo,Io,So,X0,eo,G0,uo,vo,ho,Do,to,Co,_o,z0,ao,U0,Fo,Ho,Y0,ko,W0,To,yo,lo,Bo,$0,j0,Ro,so,no,ro,Mo,Vo],encapsulation:2})}return e})();export{Ui as a,Pp as b,Lp as c,$e as d,y0 as e,B0 as f,cu as g,F0 as h,G0 as i,U0 as j,j0 as k,$0 as l,z0 as m,q0 as n,Y0 as o,K0 as p,Q0 as q,to as r,io as s,oo as t,so as u,lo as v,mo as w,uo as x,vo as y,fo as z,ho as A,Co as B,_o as C,So as D,xo as E,yo as F,Bo as G,bo as H,To as I,Mo as J,Eo as K,ko as L,Ao as M,Vo as N,Lo as O,Ro as P,Oo as Q,Ho as R,No as S,Fo as T,i_ as U};
|