homebridge-config-ui-x 5.0.0-beta.33 → 5.0.0-beta.34

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.
Files changed (80) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/package.json +1 -1
  3. package/public/{chunk-7GT27K3E.js → chunk-2JINSU5B.js} +2 -2
  4. package/public/{chunk-OLYOQI2N.js → chunk-44IMEBTB.js} +1 -1
  5. package/public/{chunk-DASL7RGE.js → chunk-5X54Q3FD.js} +1 -1
  6. package/public/{chunk-RY4JLM5Q.js → chunk-5ZSNNIKJ.js} +1 -1
  7. package/public/{chunk-CIF6FZS4.js → chunk-5ZT54DSW.js} +1 -1
  8. package/public/chunk-66FT35IX.js +1 -0
  9. package/public/{chunk-DJXDSGTS.js → chunk-6CX56ZND.js} +1 -1
  10. package/public/{chunk-FGXB4ABC.js → chunk-6EYZFG24.js} +1 -1
  11. package/public/{chunk-S4RPUBPU.js → chunk-6QPHXOZC.js} +1 -1
  12. package/public/{chunk-BMFB2CR3.js → chunk-7MMULU6Y.js} +1 -1
  13. package/public/{chunk-5D5VS362.js → chunk-AEEEQIJE.js} +1 -1
  14. package/public/{chunk-DHEJ72XV.js → chunk-ALITXBFB.js} +1 -1
  15. package/public/{chunk-Z52JKZRJ.js → chunk-AUK4QOTZ.js} +1 -1
  16. package/public/{chunk-QVYOCVSK.js → chunk-B76GBL4B.js} +1 -1
  17. package/public/{chunk-VBIPFSJS.js → chunk-BW3RP5Z6.js} +1 -1
  18. package/public/{chunk-SN2RLKY5.js → chunk-CSNBDW7X.js} +1 -1
  19. package/public/chunk-DVDQHLU5.js +1 -0
  20. package/public/chunk-DWSREAP4.js +1 -0
  21. package/public/{chunk-UE7ANWWM.js → chunk-ECPXULUG.js} +3 -3
  22. package/public/{chunk-D6VQ2XSW.js → chunk-FBEA3VDX.js} +1 -1
  23. package/public/{chunk-IZVXTMWH.js → chunk-FD7DU2T6.js} +1 -1
  24. package/public/{chunk-535SHNCE.js → chunk-GIH272CI.js} +1 -1
  25. package/public/chunk-HMLHVDJF.js +1 -0
  26. package/public/chunk-HTFRR7WO.js +1 -0
  27. package/public/{chunk-4Y35I3ZB.js → chunk-IBAAUN7N.js} +1 -1
  28. package/public/chunk-IL3XKKUJ.js +1 -0
  29. package/public/chunk-JK3RHKKI.js +1 -0
  30. package/public/{chunk-G4QCORZA.js → chunk-JRYIDN5A.js} +1 -1
  31. package/public/{chunk-SO6OPTOU.js → chunk-JW4ADG4J.js} +1 -1
  32. package/public/chunk-JXMP2COV.js +1 -0
  33. package/public/{chunk-JTZVAPYW.js → chunk-KDRA3MEJ.js} +1 -1
  34. package/public/{chunk-L4J26EOW.js → chunk-KQCQXUPA.js} +1 -1
  35. package/public/chunk-KR4MXYEC.js +1 -0
  36. package/public/{chunk-73SS2RFT.js → chunk-LGXZ3NIY.js} +1 -1
  37. package/public/{chunk-AC3C235T.js → chunk-MHSBTNY7.js} +1 -1
  38. package/public/{chunk-EENQAA4Y.js → chunk-MT6ZT5IE.js} +1 -1
  39. package/public/{chunk-SC5UI2C5.js → chunk-NKUNOOPR.js} +1 -1
  40. package/public/chunk-O7HZGHEN.js +1 -0
  41. package/public/{chunk-YTCXC42L.js → chunk-OJXZ32YU.js} +1 -1
  42. package/public/{chunk-6CZSY3Q6.js → chunk-PIB3VSUK.js} +1 -1
  43. package/public/chunk-PSZOBMWW.js +1 -0
  44. package/public/{chunk-DYAIZVQW.js → chunk-PXSBVLJG.js} +1 -1
  45. package/public/{chunk-B5ETSZTP.js → chunk-QBZMR5ZA.js} +5 -5
  46. package/public/{chunk-5NI2YZKY.js → chunk-QIB3UYWT.js} +1 -1
  47. package/public/{chunk-WPD4PYFJ.js → chunk-QJO6CX2S.js} +1 -1
  48. package/public/chunk-R5FQWVOF.js +1 -0
  49. package/public/{chunk-BNZI5IYM.js → chunk-RXWL6NYS.js} +1 -1
  50. package/public/{chunk-434LJ6OT.js → chunk-S7WIN5GE.js} +1 -1
  51. package/public/{chunk-WKC47KND.js → chunk-SVHMQXON.js} +1 -1
  52. package/public/{chunk-CT72LAN4.js → chunk-T5TIN7RG.js} +1 -1
  53. package/public/chunk-TXTVDWSI.js +1 -0
  54. package/public/{chunk-GPFJKK77.js → chunk-TZZUA6XE.js} +1 -1
  55. package/public/{chunk-HYJNTVQ7.js → chunk-UI554AVG.js} +1 -1
  56. package/public/{chunk-HKUX6SIQ.js → chunk-UUG6JREI.js} +1 -1
  57. package/public/{chunk-WZIQ43Z4.js → chunk-V6C73VHB.js} +1 -1
  58. package/public/{chunk-YE4T476I.js → chunk-WFQZ4LHW.js} +1 -1
  59. package/public/{chunk-UMWOVQL4.js → chunk-WI7AGEIT.js} +1 -1
  60. package/public/{chunk-LEFLOPGL.js → chunk-WONZP2FV.js} +1 -1
  61. package/public/chunk-WVNSMAAF.js +1 -0
  62. package/public/{chunk-I7ZQNVVI.js → chunk-YCN3VYIF.js} +1 -1
  63. package/public/{chunk-MUUAF3E7.js → chunk-ZHC72G3F.js} +1 -1
  64. package/public/index.html +1 -1
  65. package/public/main-GSCN3GTX.js +1 -0
  66. package/public/chunk-5WDISWJ3.js +0 -1
  67. package/public/chunk-ADCZTDDT.js +0 -1
  68. package/public/chunk-BBAREJCS.js +0 -1
  69. package/public/chunk-FFVPS42K.js +0 -1
  70. package/public/chunk-HOKDECJU.js +0 -1
  71. package/public/chunk-OBSMZNST.js +0 -1
  72. package/public/chunk-OLJ6JSXQ.js +0 -1
  73. package/public/chunk-QZU6CGDB.js +0 -1
  74. package/public/chunk-SDH5ANWO.js +0 -1
  75. package/public/chunk-TU2JUQW2.js +0 -1
  76. package/public/chunk-VZWZVEBH.js +0 -1
  77. package/public/chunk-WBKWERKR.js +0 -1
  78. package/public/chunk-WKPWPRZJ.js +0 -1
  79. package/public/chunk-YK65RXXO.js +0 -1
  80. package/public/main-AHGLEGVQ.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as St,b as qC}from"./chunk-7GT27K3E.js";import{a as zs}from"./chunk-NSCP3SOQ.js";import{a as ii,b as ni}from"./chunk-5KLZWFYX.js";import{a as Ks}from"./chunk-JF5AT3NK.js";import{a as Zs}from"./chunk-HYJNTVQ7.js";import{a as Js}from"./chunk-474BOAR2.js";import{a as tn}from"./chunk-RP5TYXWG.js";import{a as Hs,b as Ws}from"./chunk-7BCHGXO4.js";import{a as ao}from"./chunk-XFK2EZ3K.js";import{a as Gs}from"./chunk-EEDUUZ6J.js";import{a as mf,b as Ff,c as Cf,d as gf,e as hf,f as Ef,g as ei,m as Ce,n as Ue,o as ti}from"./chunk-N4F42HDL.js";import{a as Ms,b as Zu,c as Qu,e as rt,f as js,h as Ns,i as qs,k as Vs,l as fu,m as Rs,o as Xu,r as Yu,s as Su,t as ku,x as Ls,y as It,z as oo}from"./chunk-YLEC7AUG.js";import{a as ui}from"./chunk-JTZVAPYW.js";import{d as qt}from"./chunk-T3GI7KUT.js";import{a as Us}from"./chunk-RY4JLM5Q.js";import{b as $e}from"./chunk-IZVXTMWH.js";import{h as ce,j as ru,k as De}from"./chunk-73SS2RFT.js";import{e as Os}from"./chunk-HA6CO5NZ.js";import{a as de,b as ge}from"./chunk-675OFXLW.js";import{Aa as vs,Ac as Gt,Bb as S,Bc as Ju,Cc as _,D as _s,Dc as B,Ec as Ve,Fa as xt,Ga as Bs,Ia as uf,Ic as Ts,Ka as nf,Lb as H,M as Yn,Mb as h,Nb as wt,Ob as Ku,Pb as J,Qb as As,Rb as x,Tb as He,Ub as We,Vb as Ge,Wb as d,Xb as c,Yb as w,Zb as Is,_ as ro,_b as Ss,a as Z,ac as z,b as Ee,ba as Yi,bd as Ct,cd as Iu,db as ae,dc as P,dd as it,e as F,ec as C,g as Oe,ga as ys,gb as xs,gd as Ps,h as W,ha as Bt,ia as ef,ib as s,ic as Df,jb as pe,jc as sf,k as gs,kc as lf,kd as pf,lc as df,ma as tf,mb as ff,mc as cf,n as ct,na as k,oc as g,pb as rf,pc as R,q as hs,qc as j,rb as of,rc as Wt,sc as ks,tc as Be,ub as K,uc as xe,v as Es,vb as af,vc as we,w as fe,wa as en,wb as Gu,wc as $s,x as bs,xa as N,xb as ws,xc as Ne,ya as q,yc as At,zc as Au}from"./chunk-CKNHTRCL.js";var Xs=F((pV,Qs)=>{function RC(){this.__data__=[],this.size=0}Qs.exports=RC});var bf=F((mV,Ys)=>{function LC(e,u){return e===u||e!==e&&u!==u}Ys.exports=LC});var un=F((FV,e0)=>{var zC=bf();function UC(e,u){for(var t=e.length;t--;)if(zC(e[t][0],u))return t;return-1}e0.exports=UC});var u0=F((CV,t0)=>{var HC=un(),WC=Array.prototype,GC=WC.splice;function KC(e){var u=this.__data__,t=HC(u,e);if(t<0)return!1;var i=u.length-1;return t==i?u.pop():GC.call(u,t,1),--this.size,!0}t0.exports=KC});var n0=F((gV,i0)=>{var JC=un();function ZC(e){var u=this.__data__,t=JC(u,e);return t<0?void 0:u[t][1]}i0.exports=ZC});var r0=F((hV,f0)=>{var QC=un();function XC(e){return QC(this.__data__,e)>-1}f0.exports=XC});var a0=F((EV,o0)=>{var YC=un();function e4(e,u){var t=this.__data__,i=YC(t,e);return i<0?(++this.size,t.push([e,u])):t[i][1]=u,this}o0.exports=e4});var nn=F((bV,D0)=>{var t4=Xs(),u4=u0(),i4=n0(),n4=r0(),f4=a0();function ri(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}ri.prototype.clear=t4;ri.prototype.delete=u4;ri.prototype.get=i4;ri.prototype.has=n4;ri.prototype.set=f4;D0.exports=ri});var l0=F((_V,s0)=>{var r4=nn();function o4(){this.__data__=new r4,this.size=0}s0.exports=o4});var c0=F((yV,d0)=>{function a4(e){var u=this.__data__,t=u.delete(e);return this.size=u.size,t}d0.exports=a4});var m0=F((vV,p0)=>{function D4(e){return this.__data__.get(e)}p0.exports=D4});var C0=F((BV,F0)=>{function s4(e){return this.__data__.has(e)}F0.exports=s4});var Do=F((xV,g0)=>{var l4=typeof global=="object"&&global&&global.Object===Object&&global;g0.exports=l4});var kt=F((wV,h0)=>{var d4=Do(),c4=typeof self=="object"&&self&&self.Object===Object&&self,p4=d4||c4||Function("return this")();h0.exports=p4});var oi=F((AV,E0)=>{var m4=kt(),F4=m4.Symbol;E0.exports=F4});var v0=F((IV,y0)=>{var b0=oi(),_0=Object.prototype,C4=_0.hasOwnProperty,g4=_0.toString,fn=b0?b0.toStringTag:void 0;function h4(e){var u=C4.call(e,fn),t=e[fn];try{e[fn]=void 0;var i=!0}catch{}var n=g4.call(e);return i&&(u?e[fn]=t:delete e[fn]),n}y0.exports=h4});var x0=F((SV,B0)=>{var E4=Object.prototype,b4=E4.toString;function _4(e){return b4.call(e)}B0.exports=_4});var $u=F((kV,I0)=>{var w0=oi(),y4=v0(),v4=x0(),B4="[object Null]",x4="[object Undefined]",A0=w0?w0.toStringTag:void 0;function w4(e){return e==null?e===void 0?x4:B4:A0&&A0 in Object(e)?y4(e):v4(e)}I0.exports=w4});var Tu=F(($V,S0)=>{function A4(e){var u=typeof e;return e!=null&&(u=="object"||u=="function")}S0.exports=A4});var so=F((TV,k0)=>{var I4=$u(),S4=Tu(),k4="[object AsyncFunction]",$4="[object Function]",T4="[object GeneratorFunction]",P4="[object Proxy]";function O4(e){if(!S4(e))return!1;var u=I4(e);return u==$4||u==T4||u==k4||u==P4}k0.exports=O4});var T0=F((PV,$0)=>{var M4=kt(),j4=M4["__core-js_shared__"];$0.exports=j4});var M0=F((OV,O0)=>{var lo=T0(),P0=function(){var e=/[^.]+$/.exec(lo&&lo.keys&&lo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function N4(e){return!!P0&&P0 in e}O0.exports=N4});var co=F((MV,j0)=>{var q4=Function.prototype,V4=q4.toString;function R4(e){if(e!=null){try{return V4.call(e)}catch{}try{return e+""}catch{}}return""}j0.exports=R4});var q0=F((jV,N0)=>{var L4=so(),z4=M0(),U4=Tu(),H4=co(),W4=/[\\^$.*+?()[\]{}|]/g,G4=/^\[object .+?Constructor\]$/,K4=Function.prototype,J4=Object.prototype,Z4=K4.toString,Q4=J4.hasOwnProperty,X4=RegExp("^"+Z4.call(Q4).replace(W4,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Y4(e){if(!U4(e)||z4(e))return!1;var u=L4(e)?X4:G4;return u.test(H4(e))}N0.exports=Y4});var R0=F((NV,V0)=>{function e5(e,u){return e==null?void 0:e[u]}V0.exports=e5});var ou=F((qV,L0)=>{var t5=q0(),u5=R0();function i5(e,u){var t=u5(e,u);return t5(t)?t:void 0}L0.exports=i5});var _f=F((VV,z0)=>{var n5=ou(),f5=kt(),r5=n5(f5,"Map");z0.exports=r5});var rn=F((RV,U0)=>{var o5=ou(),a5=o5(Object,"create");U0.exports=a5});var G0=F((LV,W0)=>{var H0=rn();function D5(){this.__data__=H0?H0(null):{},this.size=0}W0.exports=D5});var J0=F((zV,K0)=>{function s5(e){var u=this.has(e)&&delete this.__data__[e];return this.size-=u?1:0,u}K0.exports=s5});var Q0=F((UV,Z0)=>{var l5=rn(),d5="__lodash_hash_undefined__",c5=Object.prototype,p5=c5.hasOwnProperty;function m5(e){var u=this.__data__;if(l5){var t=u[e];return t===d5?void 0:t}return p5.call(u,e)?u[e]:void 0}Z0.exports=m5});var Y0=F((HV,X0)=>{var F5=rn(),C5=Object.prototype,g5=C5.hasOwnProperty;function h5(e){var u=this.__data__;return F5?u[e]!==void 0:g5.call(u,e)}X0.exports=h5});var t1=F((WV,e1)=>{var E5=rn(),b5="__lodash_hash_undefined__";function _5(e,u){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=E5&&u===void 0?b5:u,this}e1.exports=_5});var i1=F((GV,u1)=>{var y5=G0(),v5=J0(),B5=Q0(),x5=Y0(),w5=t1();function ai(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}ai.prototype.clear=y5;ai.prototype.delete=v5;ai.prototype.get=B5;ai.prototype.has=x5;ai.prototype.set=w5;u1.exports=ai});var r1=F((KV,f1)=>{var n1=i1(),A5=nn(),I5=_f();function S5(){this.size=0,this.__data__={hash:new n1,map:new(I5||A5),string:new n1}}f1.exports=S5});var a1=F((JV,o1)=>{function k5(e){var u=typeof e;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?e!=="__proto__":e===null}o1.exports=k5});var on=F((ZV,D1)=>{var $5=a1();function T5(e,u){var t=e.__data__;return $5(u)?t[typeof u=="string"?"string":"hash"]:t.map}D1.exports=T5});var l1=F((QV,s1)=>{var P5=on();function O5(e){var u=P5(this,e).delete(e);return this.size-=u?1:0,u}s1.exports=O5});var c1=F((XV,d1)=>{var M5=on();function j5(e){return M5(this,e).get(e)}d1.exports=j5});var m1=F((YV,p1)=>{var N5=on();function q5(e){return N5(this,e).has(e)}p1.exports=q5});var C1=F((eR,F1)=>{var V5=on();function R5(e,u){var t=V5(this,e),i=t.size;return t.set(e,u),this.size+=t.size==i?0:1,this}F1.exports=R5});var yf=F((tR,g1)=>{var L5=r1(),z5=l1(),U5=c1(),H5=m1(),W5=C1();function Di(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}Di.prototype.clear=L5;Di.prototype.delete=z5;Di.prototype.get=U5;Di.prototype.has=H5;Di.prototype.set=W5;g1.exports=Di});var E1=F((uR,h1)=>{var G5=nn(),K5=_f(),J5=yf(),Z5=200;function Q5(e,u){var t=this.__data__;if(t instanceof G5){var i=t.__data__;if(!K5||i.length<Z5-1)return i.push([e,u]),this.size=++t.size,this;t=this.__data__=new J5(i)}return t.set(e,u),this.size=t.size,this}h1.exports=Q5});var vf=F((iR,b1)=>{var X5=nn(),Y5=l0(),eg=c0(),tg=m0(),ug=C0(),ig=E1();function si(e){var u=this.__data__=new X5(e);this.size=u.size}si.prototype.clear=Y5;si.prototype.delete=eg;si.prototype.get=tg;si.prototype.has=ug;si.prototype.set=ig;b1.exports=si});var y1=F((nR,_1)=>{function ng(e,u){for(var t=-1,i=e==null?0:e.length;++t<i&&u(e[t],t,e)!==!1;);return e}_1.exports=ng});var B1=F((fR,v1)=>{var fg=ou(),rg=function(){try{var e=fg(Object,"defineProperty");return e({},"",{}),e}catch{}}();v1.exports=rg});var po=F((rR,w1)=>{var x1=B1();function og(e,u,t){u=="__proto__"&&x1?x1(e,u,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[u]=t}w1.exports=og});var mo=F((oR,A1)=>{var ag=po(),Dg=bf(),sg=Object.prototype,lg=sg.hasOwnProperty;function dg(e,u,t){var i=e[u];(!(lg.call(e,u)&&Dg(i,t))||t===void 0&&!(u in e))&&ag(e,u,t)}A1.exports=dg});var an=F((aR,I1)=>{var cg=mo(),pg=po();function mg(e,u,t,i){var n=!t;t||(t={});for(var f=-1,r=u.length;++f<r;){var o=u[f],a=i?i(t[o],e[o],o,t,e):void 0;a===void 0&&(a=e[o]),n?pg(t,o,a):cg(t,o,a)}return t}I1.exports=mg});var k1=F((DR,S1)=>{function Fg(e,u){for(var t=-1,i=Array(e);++t<e;)i[t]=u(t);return i}S1.exports=Fg});var Kt=F((sR,$1)=>{function Cg(e){return e!=null&&typeof e=="object"}$1.exports=Cg});var P1=F((lR,T1)=>{var gg=$u(),hg=Kt(),Eg="[object Arguments]";function bg(e){return hg(e)&&gg(e)==Eg}T1.exports=bg});var Fo=F((dR,j1)=>{var O1=P1(),_g=Kt(),M1=Object.prototype,yg=M1.hasOwnProperty,vg=M1.propertyIsEnumerable,Bg=O1(function(){return arguments}())?O1:function(e){return _g(e)&&yg.call(e,"callee")&&!vg.call(e,"callee")};j1.exports=Bg});var pt=F((cR,N1)=>{var xg=Array.isArray;N1.exports=xg});var V1=F((pR,q1)=>{function wg(){return!1}q1.exports=wg});var Bf=F((Dn,li)=>{var Ag=kt(),Ig=V1(),z1=typeof Dn=="object"&&Dn&&!Dn.nodeType&&Dn,R1=z1&&typeof li=="object"&&li&&!li.nodeType&&li,Sg=R1&&R1.exports===z1,L1=Sg?Ag.Buffer:void 0,kg=L1?L1.isBuffer:void 0,$g=kg||Ig;li.exports=$g});var Co=F((mR,U1)=>{var Tg=9007199254740991,Pg=/^(?:0|[1-9]\d*)$/;function Og(e,u){var t=typeof e;return u=u==null?Tg:u,!!u&&(t=="number"||t!="symbol"&&Pg.test(e))&&e>-1&&e%1==0&&e<u}U1.exports=Og});var xf=F((FR,H1)=>{var Mg=9007199254740991;function jg(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Mg}H1.exports=jg});var G1=F((CR,W1)=>{var Ng=$u(),qg=xf(),Vg=Kt(),Rg="[object Arguments]",Lg="[object Array]",zg="[object Boolean]",Ug="[object Date]",Hg="[object Error]",Wg="[object Function]",Gg="[object Map]",Kg="[object Number]",Jg="[object Object]",Zg="[object RegExp]",Qg="[object Set]",Xg="[object String]",Yg="[object WeakMap]",eh="[object ArrayBuffer]",th="[object DataView]",uh="[object Float32Array]",ih="[object Float64Array]",nh="[object Int8Array]",fh="[object Int16Array]",rh="[object Int32Array]",oh="[object Uint8Array]",ah="[object Uint8ClampedArray]",Dh="[object Uint16Array]",sh="[object Uint32Array]",Ae={};Ae[uh]=Ae[ih]=Ae[nh]=Ae[fh]=Ae[rh]=Ae[oh]=Ae[ah]=Ae[Dh]=Ae[sh]=!0;Ae[Rg]=Ae[Lg]=Ae[eh]=Ae[zg]=Ae[th]=Ae[Ug]=Ae[Hg]=Ae[Wg]=Ae[Gg]=Ae[Kg]=Ae[Jg]=Ae[Zg]=Ae[Qg]=Ae[Xg]=Ae[Yg]=!1;function lh(e){return Vg(e)&&qg(e.length)&&!!Ae[Ng(e)]}W1.exports=lh});var wf=F((gR,K1)=>{function dh(e){return function(u){return e(u)}}K1.exports=dh});var Af=F((sn,di)=>{var ch=Do(),J1=typeof sn=="object"&&sn&&!sn.nodeType&&sn,ln=J1&&typeof di=="object"&&di&&!di.nodeType&&di,ph=ln&&ln.exports===J1,go=ph&&ch.process,mh=function(){try{var e=ln&&ln.require&&ln.require("util").types;return e||go&&go.binding&&go.binding("util")}catch{}}();di.exports=mh});var ho=F((hR,X1)=>{var Fh=G1(),Ch=wf(),Z1=Af(),Q1=Z1&&Z1.isTypedArray,gh=Q1?Ch(Q1):Fh;X1.exports=gh});var Eo=F((ER,Y1)=>{var hh=k1(),Eh=Fo(),bh=pt(),_h=Bf(),yh=Co(),vh=ho(),Bh=Object.prototype,xh=Bh.hasOwnProperty;function wh(e,u){var t=bh(e),i=!t&&Eh(e),n=!t&&!i&&_h(e),f=!t&&!i&&!n&&vh(e),r=t||i||n||f,o=r?hh(e.length,String):[],a=o.length;for(var D in e)(u||xh.call(e,D))&&!(r&&(D=="length"||n&&(D=="offset"||D=="parent")||f&&(D=="buffer"||D=="byteLength"||D=="byteOffset")||yh(D,a)))&&o.push(D);return o}Y1.exports=wh});var If=F((bR,el)=>{var Ah=Object.prototype;function Ih(e){var u=e&&e.constructor,t=typeof u=="function"&&u.prototype||Ah;return e===t}el.exports=Ih});var bo=F((_R,tl)=>{function Sh(e,u){return function(t){return e(u(t))}}tl.exports=Sh});var il=F((yR,ul)=>{var kh=bo(),$h=kh(Object.keys,Object);ul.exports=$h});var fl=F((vR,nl)=>{var Th=If(),Ph=il(),Oh=Object.prototype,Mh=Oh.hasOwnProperty;function jh(e){if(!Th(e))return Ph(e);var u=[];for(var t in Object(e))Mh.call(e,t)&&t!="constructor"&&u.push(t);return u}nl.exports=jh});var dn=F((BR,rl)=>{var Nh=so(),qh=xf();function Vh(e){return e!=null&&qh(e.length)&&!Nh(e)}rl.exports=Vh});var ci=F((xR,ol)=>{var Rh=Eo(),Lh=fl(),zh=dn();function Uh(e){return zh(e)?Rh(e):Lh(e)}ol.exports=Uh});var Dl=F((wR,al)=>{var Hh=an(),Wh=ci();function Gh(e,u){return e&&Hh(u,Wh(u),e)}al.exports=Gh});var ll=F((AR,sl)=>{function Kh(e){var u=[];if(e!=null)for(var t in Object(e))u.push(t);return u}sl.exports=Kh});var cl=F((IR,dl)=>{var Jh=Tu(),Zh=If(),Qh=ll(),Xh=Object.prototype,Yh=Xh.hasOwnProperty;function e6(e){if(!Jh(e))return Qh(e);var u=Zh(e),t=[];for(var i in e)i=="constructor"&&(u||!Yh.call(e,i))||t.push(i);return t}dl.exports=e6});var Sf=F((SR,pl)=>{var t6=Eo(),u6=cl(),i6=dn();function n6(e){return i6(e)?t6(e,!0):u6(e)}pl.exports=n6});var Fl=F((kR,ml)=>{var f6=an(),r6=Sf();function o6(e,u){return e&&f6(u,r6(u),e)}ml.exports=o6});var bl=F((cn,pi)=>{var a6=kt(),El=typeof cn=="object"&&cn&&!cn.nodeType&&cn,Cl=El&&typeof pi=="object"&&pi&&!pi.nodeType&&pi,D6=Cl&&Cl.exports===El,gl=D6?a6.Buffer:void 0,hl=gl?gl.allocUnsafe:void 0;function s6(e,u){if(u)return e.slice();var t=e.length,i=hl?hl(t):new e.constructor(t);return e.copy(i),i}pi.exports=s6});var yl=F(($R,_l)=>{function l6(e,u){var t=-1,i=e.length;for(u||(u=Array(i));++t<i;)u[t]=e[t];return u}_l.exports=l6});var _o=F((TR,vl)=>{function d6(e,u){for(var t=-1,i=e==null?0:e.length,n=0,f=[];++t<i;){var r=e[t];u(r,t,e)&&(f[n++]=r)}return f}vl.exports=d6});var yo=F((PR,Bl)=>{function c6(){return[]}Bl.exports=c6});var kf=F((OR,wl)=>{var p6=_o(),m6=yo(),F6=Object.prototype,C6=F6.propertyIsEnumerable,xl=Object.getOwnPropertySymbols,g6=xl?function(e){return e==null?[]:(e=Object(e),p6(xl(e),function(u){return C6.call(e,u)}))}:m6;wl.exports=g6});var Il=F((MR,Al)=>{var h6=an(),E6=kf();function b6(e,u){return h6(e,E6(e),u)}Al.exports=b6});var vo=F((jR,Sl)=>{function _6(e,u){for(var t=-1,i=u.length,n=e.length;++t<i;)e[n+t]=u[t];return e}Sl.exports=_6});var $f=F((NR,kl)=>{var y6=bo(),v6=y6(Object.getPrototypeOf,Object);kl.exports=v6});var Bo=F((qR,$l)=>{var B6=vo(),x6=$f(),w6=kf(),A6=yo(),I6=Object.getOwnPropertySymbols,S6=I6?function(e){for(var u=[];e;)B6(u,w6(e)),e=x6(e);return u}:A6;$l.exports=S6});var Pl=F((VR,Tl)=>{var k6=an(),$6=Bo();function T6(e,u){return k6(e,$6(e),u)}Tl.exports=T6});var xo=F((RR,Ol)=>{var P6=vo(),O6=pt();function M6(e,u,t){var i=u(e);return O6(e)?i:P6(i,t(e))}Ol.exports=M6});var wo=F((LR,Ml)=>{var j6=xo(),N6=kf(),q6=ci();function V6(e){return j6(e,q6,N6)}Ml.exports=V6});var Nl=F((zR,jl)=>{var R6=xo(),L6=Bo(),z6=Sf();function U6(e){return R6(e,z6,L6)}jl.exports=U6});var Vl=F((UR,ql)=>{var H6=ou(),W6=kt(),G6=H6(W6,"DataView");ql.exports=G6});var Ll=F((HR,Rl)=>{var K6=ou(),J6=kt(),Z6=K6(J6,"Promise");Rl.exports=Z6});var Ul=F((WR,zl)=>{var Q6=ou(),X6=kt(),Y6=Q6(X6,"Set");zl.exports=Y6});var Wl=F((GR,Hl)=>{var eE=ou(),tE=kt(),uE=eE(tE,"WeakMap");Hl.exports=uE});var pn=F((KR,Yl)=>{var Ao=Vl(),Io=_f(),So=Ll(),ko=Ul(),$o=Wl(),Xl=$u(),mi=co(),Gl="[object Map]",iE="[object Object]",Kl="[object Promise]",Jl="[object Set]",Zl="[object WeakMap]",Ql="[object DataView]",nE=mi(Ao),fE=mi(Io),rE=mi(So),oE=mi(ko),aE=mi($o),Pu=Xl;(Ao&&Pu(new Ao(new ArrayBuffer(1)))!=Ql||Io&&Pu(new Io)!=Gl||So&&Pu(So.resolve())!=Kl||ko&&Pu(new ko)!=Jl||$o&&Pu(new $o)!=Zl)&&(Pu=function(e){var u=Xl(e),t=u==iE?e.constructor:void 0,i=t?mi(t):"";if(i)switch(i){case nE:return Ql;case fE:return Gl;case rE:return Kl;case oE:return Jl;case aE:return Zl}return u});Yl.exports=Pu});var td=F((JR,ed)=>{var DE=Object.prototype,sE=DE.hasOwnProperty;function lE(e){var u=e.length,t=new e.constructor(u);return u&&typeof e[0]=="string"&&sE.call(e,"index")&&(t.index=e.index,t.input=e.input),t}ed.exports=lE});var To=F((ZR,ud)=>{var dE=kt(),cE=dE.Uint8Array;ud.exports=cE});var Tf=F((QR,nd)=>{var id=To();function pE(e){var u=new e.constructor(e.byteLength);return new id(u).set(new id(e)),u}nd.exports=pE});var rd=F((XR,fd)=>{var mE=Tf();function FE(e,u){var t=u?mE(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}fd.exports=FE});var ad=F((YR,od)=>{var CE=/\w*$/;function gE(e){var u=new e.constructor(e.source,CE.exec(e));return u.lastIndex=e.lastIndex,u}od.exports=gE});var cd=F((eL,dd)=>{var Dd=oi(),sd=Dd?Dd.prototype:void 0,ld=sd?sd.valueOf:void 0;function hE(e){return ld?Object(ld.call(e)):{}}dd.exports=hE});var md=F((tL,pd)=>{var EE=Tf();function bE(e,u){var t=u?EE(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}pd.exports=bE});var Cd=F((uL,Fd)=>{var _E=Tf(),yE=rd(),vE=ad(),BE=cd(),xE=md(),wE="[object Boolean]",AE="[object Date]",IE="[object Map]",SE="[object Number]",kE="[object RegExp]",$E="[object Set]",TE="[object String]",PE="[object Symbol]",OE="[object ArrayBuffer]",ME="[object DataView]",jE="[object Float32Array]",NE="[object Float64Array]",qE="[object Int8Array]",VE="[object Int16Array]",RE="[object Int32Array]",LE="[object Uint8Array]",zE="[object Uint8ClampedArray]",UE="[object Uint16Array]",HE="[object Uint32Array]";function WE(e,u,t){var i=e.constructor;switch(u){case OE:return _E(e);case wE:case AE:return new i(+e);case ME:return yE(e,t);case jE:case NE:case qE:case VE:case RE:case LE:case zE:case UE:case HE:return xE(e,t);case IE:return new i;case SE:case TE:return new i(e);case kE:return vE(e);case $E:return new i;case PE:return BE(e)}}Fd.exports=WE});var Ed=F((iL,hd)=>{var GE=Tu(),gd=Object.create,KE=function(){function e(){}return function(u){if(!GE(u))return{};if(gd)return gd(u);e.prototype=u;var t=new e;return e.prototype=void 0,t}}();hd.exports=KE});var _d=F((nL,bd)=>{var JE=Ed(),ZE=$f(),QE=If();function XE(e){return typeof e.constructor=="function"&&!QE(e)?JE(ZE(e)):{}}bd.exports=XE});var vd=F((fL,yd)=>{var YE=pn(),eb=Kt(),tb="[object Map]";function ub(e){return eb(e)&&YE(e)==tb}yd.exports=ub});var Ad=F((rL,wd)=>{var ib=vd(),nb=wf(),Bd=Af(),xd=Bd&&Bd.isMap,fb=xd?nb(xd):ib;wd.exports=fb});var Sd=F((oL,Id)=>{var rb=pn(),ob=Kt(),ab="[object Set]";function Db(e){return ob(e)&&rb(e)==ab}Id.exports=Db});var Pd=F((aL,Td)=>{var sb=Sd(),lb=wf(),kd=Af(),$d=kd&&kd.isSet,db=$d?lb($d):sb;Td.exports=db});var qd=F((DL,Nd)=>{var cb=vf(),pb=y1(),mb=mo(),Fb=Dl(),Cb=Fl(),gb=bl(),hb=yl(),Eb=Il(),bb=Pl(),_b=wo(),yb=Nl(),vb=pn(),Bb=td(),xb=Cd(),wb=_d(),Ab=pt(),Ib=Bf(),Sb=Ad(),kb=Tu(),$b=Pd(),Tb=ci(),Pb=Sf(),Ob=1,Mb=2,jb=4,Od="[object Arguments]",Nb="[object Array]",qb="[object Boolean]",Vb="[object Date]",Rb="[object Error]",Md="[object Function]",Lb="[object GeneratorFunction]",zb="[object Map]",Ub="[object Number]",jd="[object Object]",Hb="[object RegExp]",Wb="[object Set]",Gb="[object String]",Kb="[object Symbol]",Jb="[object WeakMap]",Zb="[object ArrayBuffer]",Qb="[object DataView]",Xb="[object Float32Array]",Yb="[object Float64Array]",e_="[object Int8Array]",t_="[object Int16Array]",u_="[object Int32Array]",i_="[object Uint8Array]",n_="[object Uint8ClampedArray]",f_="[object Uint16Array]",r_="[object Uint32Array]",ye={};ye[Od]=ye[Nb]=ye[Zb]=ye[Qb]=ye[qb]=ye[Vb]=ye[Xb]=ye[Yb]=ye[e_]=ye[t_]=ye[u_]=ye[zb]=ye[Ub]=ye[jd]=ye[Hb]=ye[Wb]=ye[Gb]=ye[Kb]=ye[i_]=ye[n_]=ye[f_]=ye[r_]=!0;ye[Rb]=ye[Md]=ye[Jb]=!1;function Pf(e,u,t,i,n,f){var r,o=u&Ob,a=u&Mb,D=u&jb;if(t&&(r=n?t(e,i,n,f):t(e)),r!==void 0)return r;if(!kb(e))return e;var l=Ab(e);if(l){if(r=Bb(e),!o)return hb(e,r)}else{var p=vb(e),m=p==Md||p==Lb;if(Ib(e))return gb(e,o);if(p==jd||p==Od||m&&!n){if(r=a||m?{}:wb(e),!o)return a?bb(e,Cb(r,e)):Eb(e,Fb(r,e))}else{if(!ye[p])return n?e:{};r=xb(e,p,o)}}f||(f=new cb);var b=f.get(e);if(b)return b;f.set(e,r),$b(e)?e.forEach(function(v){r.add(Pf(v,u,t,v,e,f))}):Sb(e)&&e.forEach(function(v,I){r.set(I,Pf(v,u,t,I,e,f))});var E=D?a?yb:_b:a?Pb:Tb,y=l?void 0:E(e);return pb(y||e,function(v,I){y&&(I=v,v=e[I]),mb(r,I,Pf(v,u,t,I,e,f))}),r}Nd.exports=Pf});var Rd=F((sL,Vd)=>{var o_=qd(),a_=1,D_=4;function s_(e){return o_(e,a_|D_)}Vd.exports=s_});var zd=F((lL,Ld)=>{var l_="__lodash_hash_undefined__";function d_(e){return this.__data__.set(e,l_),this}Ld.exports=d_});var Hd=F((dL,Ud)=>{function c_(e){return this.__data__.has(e)}Ud.exports=c_});var Gd=F((cL,Wd)=>{var p_=yf(),m_=zd(),F_=Hd();function Of(e){var u=-1,t=e==null?0:e.length;for(this.__data__=new p_;++u<t;)this.add(e[u])}Of.prototype.add=Of.prototype.push=m_;Of.prototype.has=F_;Wd.exports=Of});var Jd=F((pL,Kd)=>{function C_(e,u){for(var t=-1,i=e==null?0:e.length;++t<i;)if(u(e[t],t,e))return!0;return!1}Kd.exports=C_});var Qd=F((mL,Zd)=>{function g_(e,u){return e.has(u)}Zd.exports=g_});var Po=F((FL,Xd)=>{var h_=Gd(),E_=Jd(),b_=Qd(),__=1,y_=2;function v_(e,u,t,i,n,f){var r=t&__,o=e.length,a=u.length;if(o!=a&&!(r&&a>o))return!1;var D=f.get(e),l=f.get(u);if(D&&l)return D==u&&l==e;var p=-1,m=!0,b=t&y_?new h_:void 0;for(f.set(e,u),f.set(u,e);++p<o;){var E=e[p],y=u[p];if(i)var v=r?i(y,E,p,u,e,f):i(E,y,p,e,u,f);if(v!==void 0){if(v)continue;m=!1;break}if(b){if(!E_(u,function(I,O){if(!b_(b,O)&&(E===I||n(E,I,t,i,f)))return b.push(O)})){m=!1;break}}else if(!(E===y||n(E,y,t,i,f))){m=!1;break}}return f.delete(e),f.delete(u),m}Xd.exports=v_});var e3=F((CL,Yd)=>{function B_(e){var u=-1,t=Array(e.size);return e.forEach(function(i,n){t[++u]=[n,i]}),t}Yd.exports=B_});var u3=F((gL,t3)=>{function x_(e){var u=-1,t=Array(e.size);return e.forEach(function(i){t[++u]=i}),t}t3.exports=x_});var o3=F((hL,r3)=>{var i3=oi(),n3=To(),w_=bf(),A_=Po(),I_=e3(),S_=u3(),k_=1,$_=2,T_="[object Boolean]",P_="[object Date]",O_="[object Error]",M_="[object Map]",j_="[object Number]",N_="[object RegExp]",q_="[object Set]",V_="[object String]",R_="[object Symbol]",L_="[object ArrayBuffer]",z_="[object DataView]",f3=i3?i3.prototype:void 0,Oo=f3?f3.valueOf:void 0;function U_(e,u,t,i,n,f,r){switch(t){case z_:if(e.byteLength!=u.byteLength||e.byteOffset!=u.byteOffset)return!1;e=e.buffer,u=u.buffer;case L_:return!(e.byteLength!=u.byteLength||!f(new n3(e),new n3(u)));case T_:case P_:case j_:return w_(+e,+u);case O_:return e.name==u.name&&e.message==u.message;case N_:case V_:return e==u+"";case M_:var o=I_;case q_:var a=i&k_;if(o||(o=S_),e.size!=u.size&&!a)return!1;var D=r.get(e);if(D)return D==u;i|=$_,r.set(e,u);var l=A_(o(e),o(u),i,n,f,r);return r.delete(e),l;case R_:if(Oo)return Oo.call(e)==Oo.call(u)}return!1}r3.exports=U_});var s3=F((EL,D3)=>{var a3=wo(),H_=1,W_=Object.prototype,G_=W_.hasOwnProperty;function K_(e,u,t,i,n,f){var r=t&H_,o=a3(e),a=o.length,D=a3(u),l=D.length;if(a!=l&&!r)return!1;for(var p=a;p--;){var m=o[p];if(!(r?m in u:G_.call(u,m)))return!1}var b=f.get(e),E=f.get(u);if(b&&E)return b==u&&E==e;var y=!0;f.set(e,u),f.set(u,e);for(var v=r;++p<a;){m=o[p];var I=e[m],O=u[m];if(i)var L=r?i(O,I,m,u,e,f):i(I,O,m,e,u,f);if(!(L===void 0?I===O||n(I,O,t,i,f):L)){y=!1;break}v||(v=m=="constructor")}if(y&&!v){var U=e.constructor,M=u.constructor;U!=M&&"constructor"in e&&"constructor"in u&&!(typeof U=="function"&&U instanceof U&&typeof M=="function"&&M instanceof M)&&(y=!1)}return f.delete(e),f.delete(u),y}D3.exports=K_});var g3=F((bL,C3)=>{var Mo=vf(),J_=Po(),Z_=o3(),Q_=s3(),l3=pn(),d3=pt(),c3=Bf(),X_=ho(),Y_=1,p3="[object Arguments]",m3="[object Array]",Mf="[object Object]",e9=Object.prototype,F3=e9.hasOwnProperty;function t9(e,u,t,i,n,f){var r=d3(e),o=d3(u),a=r?m3:l3(e),D=o?m3:l3(u);a=a==p3?Mf:a,D=D==p3?Mf:D;var l=a==Mf,p=D==Mf,m=a==D;if(m&&c3(e)){if(!c3(u))return!1;r=!0,l=!1}if(m&&!l)return f||(f=new Mo),r||X_(e)?J_(e,u,t,i,n,f):Z_(e,u,a,t,i,n,f);if(!(t&Y_)){var b=l&&F3.call(e,"__wrapped__"),E=p&&F3.call(u,"__wrapped__");if(b||E){var y=b?e.value():e,v=E?u.value():u;return f||(f=new Mo),n(y,v,t,i,f)}}return m?(f||(f=new Mo),Q_(e,u,t,i,n,f)):!1}C3.exports=t9});var jf=F((_L,b3)=>{var u9=g3(),h3=Kt();function E3(e,u,t,i,n){return e===u?!0:e==null||u==null||!h3(e)&&!h3(u)?e!==e&&u!==u:u9(e,u,t,i,E3,n)}b3.exports=E3});var y3=F((yL,_3)=>{var i9=jf();function n9(e,u){return i9(e,u)}_3.exports=n9});var Cn=F(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.regexpCode=le.getEsmExportName=le.getProperty=le.safeStringify=le.stringify=le.strConcat=le.addCodeArg=le.str=le._=le.nil=le._Code=le.Name=le.IDENTIFIER=le._CodeOrName=void 0;var mn=class{};le._CodeOrName=mn;le.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ou=class extends mn{constructor(u){if(super(),!le.IDENTIFIER.test(u))throw new Error("CodeGen: name must be a valid identifier");this.str=u}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};le.Name=Ou;var gt=class extends mn{constructor(u){super(),this._items=typeof u=="string"?[u]:u}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let u=this._items[0];return u===""||u==='""'}get str(){var u;return(u=this._str)!==null&&u!==void 0?u:this._str=this._items.reduce((t,i)=>`${t}${i}`,"")}get names(){var u;return(u=this._names)!==null&&u!==void 0?u:this._names=this._items.reduce((t,i)=>(i instanceof Ou&&(t[i.str]=(t[i.str]||0)+1),t),{})}};le._Code=gt;le.nil=new gt("");function v3(e,...u){let t=[e[0]],i=0;for(;i<u.length;)No(t,u[i]),t.push(e[++i]);return new gt(t)}le._=v3;var jo=new gt("+");function B3(e,...u){let t=[Fn(e[0])],i=0;for(;i<u.length;)t.push(jo),No(t,u[i]),t.push(jo,Fn(e[++i]));return f9(t),new gt(t)}le.str=B3;function No(e,u){u instanceof gt?e.push(...u._items):u instanceof Ou?e.push(u):e.push(a9(u))}le.addCodeArg=No;function f9(e){let u=1;for(;u<e.length-1;){if(e[u]===jo){let t=r9(e[u-1],e[u+1]);if(t!==void 0){e.splice(u-1,3,t);continue}e[u++]="+"}u++}}function r9(e,u){if(u==='""')return e;if(e==='""')return u;if(typeof e=="string")return u instanceof Ou||e[e.length-1]!=='"'?void 0:typeof u!="string"?`${e.slice(0,-1)}${u}"`:u[0]==='"'?e.slice(0,-1)+u.slice(1):void 0;if(typeof u=="string"&&u[0]==='"'&&!(e instanceof Ou))return`"${e}${u.slice(1)}`}function o9(e,u){return u.emptyStr()?e:e.emptyStr()?u:B3`${e}${u}`}le.strConcat=o9;function a9(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Fn(Array.isArray(e)?e.join(","):e)}function D9(e){return new gt(Fn(e))}le.stringify=D9;function Fn(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}le.safeStringify=Fn;function s9(e){return typeof e=="string"&&le.IDENTIFIER.test(e)?new gt(`.${e}`):v3`[${e}]`}le.getProperty=s9;function l9(e){if(typeof e=="string"&&le.IDENTIFIER.test(e))return new gt(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}le.getEsmExportName=l9;function d9(e){return new gt(e.toString())}le.regexpCode=d9});var Ro=F(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.ValueScope=at.ValueScopeName=at.Scope=at.varKinds=at.UsedValueState=void 0;var ot=Cn(),qo=class extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}},Nf=function(e){return e[e.Started=0]="Started",e[e.Completed=1]="Completed",e}(Nf||(at.UsedValueState=Nf={}));at.varKinds={const:new ot.Name("const"),let:new ot.Name("let"),var:new ot.Name("var")};var qf=class{constructor({prefixes:u,parent:t}={}){this._names={},this._prefixes=u,this._parent=t}toName(u){return u instanceof ot.Name?u:this.name(u)}name(u){return new ot.Name(this._newName(u))}_newName(u){let t=this._names[u]||this._nameGroup(u);return`${u}${t.index++}`}_nameGroup(u){var t,i;if(!((i=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||i===void 0)&&i.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}};at.Scope=qf;var Vf=class extends ot.Name{constructor(u,t){super(t),this.prefix=u}setValue(u,{property:t,itemIndex:i}){this.value=u,this.scopePath=(0,ot._)`.${new ot.Name(t)}[${i}]`}};at.ValueScopeName=Vf;var c9=(0,ot._)`\n`,Vo=class extends qf{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts=Ee(Z({},u),{_n:u.lines?c9:ot.nil})}get(){return this._scope}name(u){return new Vf(u,this._newName(u))}value(u,t){var i;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(u),{prefix:f}=n,r=(i=t.key)!==null&&i!==void 0?i:t.ref,o=this._values[f];if(o){let l=o.get(r);if(l)return l}else o=this._values[f]=new Map;o.set(r,n);let a=this._scope[f]||(this._scope[f]=[]),D=a.length;return a[D]=t.ref,n.setValue(t,{property:f,itemIndex:D}),n}getValue(u,t){let i=this._values[u];if(i)return i.get(t)}scopeRefs(u,t=this._values){return this._reduceValues(t,i=>{if(i.scopePath===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return(0,ot._)`${u}${i.scopePath}`})}scopeCode(u=this._values,t,i){return this._reduceValues(u,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},t,i)}_reduceValues(u,t,i={},n){let f=ot.nil;for(let r in u){let o=u[r];if(!o)continue;let a=i[r]=i[r]||new Map;o.forEach(D=>{if(a.has(D))return;a.set(D,Nf.Started);let l=t(D);if(l){let p=this.opts.es5?at.varKinds.var:at.varKinds.const;f=(0,ot._)`${f}${p} ${D} = ${l};${this.opts._n}`}else if(l=n==null?void 0:n(D))f=(0,ot._)`${f}${l}${this.opts._n}`;else throw new qo(D);a.set(D,Nf.Completed)})}return f}};at.ValueScope=Vo});var ee=F(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.or=ue.and=ue.not=ue.CodeGen=ue.operators=ue.varKinds=ue.ValueScopeName=ue.ValueScope=ue.Scope=ue.Name=ue.regexpCode=ue.stringify=ue.getProperty=ue.nil=ue.strConcat=ue.str=ue._=void 0;var oe=Cn(),$t=Ro(),au=Cn();Object.defineProperty(ue,"_",{enumerable:!0,get:function(){return au._}});Object.defineProperty(ue,"str",{enumerable:!0,get:function(){return au.str}});Object.defineProperty(ue,"strConcat",{enumerable:!0,get:function(){return au.strConcat}});Object.defineProperty(ue,"nil",{enumerable:!0,get:function(){return au.nil}});Object.defineProperty(ue,"getProperty",{enumerable:!0,get:function(){return au.getProperty}});Object.defineProperty(ue,"stringify",{enumerable:!0,get:function(){return au.stringify}});Object.defineProperty(ue,"regexpCode",{enumerable:!0,get:function(){return au.regexpCode}});Object.defineProperty(ue,"Name",{enumerable:!0,get:function(){return au.Name}});var Hf=Ro();Object.defineProperty(ue,"Scope",{enumerable:!0,get:function(){return Hf.Scope}});Object.defineProperty(ue,"ValueScope",{enumerable:!0,get:function(){return Hf.ValueScope}});Object.defineProperty(ue,"ValueScopeName",{enumerable:!0,get:function(){return Hf.ValueScopeName}});Object.defineProperty(ue,"varKinds",{enumerable:!0,get:function(){return Hf.varKinds}});ue.operators={GT:new oe._Code(">"),GTE:new oe._Code(">="),LT:new oe._Code("<"),LTE:new oe._Code("<="),EQ:new oe._Code("==="),NEQ:new oe._Code("!=="),NOT:new oe._Code("!"),OR:new oe._Code("||"),AND:new oe._Code("&&"),ADD:new oe._Code("+")};var Jt=class{optimizeNodes(){return this}optimizeNames(u,t){return this}},Lo=class extends Jt{constructor(u,t,i){super(),this.varKind=u,this.name=t,this.rhs=i}render({es5:u,_n:t}){let i=u?$t.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(u,t){if(u[this.name.str])return this.rhs&&(this.rhs=Fi(this.rhs,u,t)),this}get names(){return this.rhs instanceof oe._CodeOrName?this.rhs.names:{}}},Lf=class extends Jt{constructor(u,t,i){super(),this.lhs=u,this.rhs=t,this.sideEffects=i}render({_n:u}){return`${this.lhs} = ${this.rhs};`+u}optimizeNames(u,t){if(!(this.lhs instanceof oe.Name&&!u[this.lhs.str]&&!this.sideEffects))return this.rhs=Fi(this.rhs,u,t),this}get names(){let u=this.lhs instanceof oe.Name?{}:Z({},this.lhs.names);return Uf(u,this.rhs)}},zo=class extends Lf{constructor(u,t,i,n){super(u,i,n),this.op=t}render({_n:u}){return`${this.lhs} ${this.op}= ${this.rhs};`+u}},Uo=class extends Jt{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`${this.label}:`+u}},Ho=class extends Jt{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`break${this.label?` ${this.label}`:""};`+u}},Wo=class extends Jt{constructor(u){super(),this.error=u}render({_n:u}){return`throw ${this.error};`+u}get names(){return this.error.names}},Go=class extends Jt{constructor(u){super(),this.code=u}render({_n:u}){return`${this.code};`+u}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(u,t){return this.code=Fi(this.code,u,t),this}get names(){return this.code instanceof oe._CodeOrName?this.code.names:{}}},gn=class extends Jt{constructor(u=[]){super(),this.nodes=u}render(u){return this.nodes.reduce((t,i)=>t+i.render(u),"")}optimizeNodes(){let{nodes:u}=this,t=u.length;for(;t--;){let i=u[t].optimizeNodes();Array.isArray(i)?u.splice(t,1,...i):i?u[t]=i:u.splice(t,1)}return u.length>0?this:void 0}optimizeNames(u,t){let{nodes:i}=this,n=i.length;for(;n--;){let f=i[n];f.optimizeNames(u,t)||(p9(u,f.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce((u,t)=>Mu(u,t.names),{})}},Zt=class extends gn{render(u){return"{"+u._n+super.render(u)+"}"+u._n}},Ko=class extends gn{},Jo=(()=>{class e extends Zt{}return e.kind="else",e})(),Rf=(()=>{class e extends Zt{constructor(t,i){super(i),this.condition=t}render(t){let i=`if(${this.condition})`+super.render(t);return this.else&&(i+="else "+this.else.render(t)),i}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let i=this.else;if(i){let n=i.optimizeNodes();i=this.else=Array.isArray(n)?new Jo(n):n}if(i)return t===!1?i instanceof e?i:i.nodes:this.nodes.length?this:new e(S3(t),i instanceof e?[i]:i.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,i){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,i),!!(super.optimizeNames(t,i)||this.else))return this.condition=Fi(this.condition,t,i),this}get names(){let t=super.names;return Uf(t,this.condition),this.else&&Mu(t,this.else.names),t}}return e.kind="if",e})(),Wf=(()=>{class e extends Zt{}return e.kind="for",e})(),Zo=class extends Wf{constructor(u){super(),this.iteration=u}render(u){return`for(${this.iteration})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iteration=Fi(this.iteration,u,t),this}get names(){return Mu(super.names,this.iteration.names)}},Qo=class extends Wf{constructor(u,t,i,n){super(),this.varKind=u,this.name=t,this.from=i,this.to=n}render(u){let t=u.es5?$t.varKinds.var:this.varKind,{name:i,from:n,to:f}=this;return`for(${t} ${i}=${n}; ${i}<${f}; ${i}++)`+super.render(u)}get names(){let u=Uf(super.names,this.from);return Uf(u,this.to)}},zf=class extends Wf{constructor(u,t,i,n){super(),this.loop=u,this.varKind=t,this.name=i,this.iterable=n}render(u){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iterable=Fi(this.iterable,u,t),this}get names(){return Mu(super.names,this.iterable.names)}},x3=(()=>{class e extends Zt{constructor(t,i,n){super(),this.name=t,this.args=i,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}}return e.kind="func",e})(),w3=(()=>{class e extends gn{render(t){return"return "+super.render(t)}}return e.kind="return",e})(),Xo=class extends Zt{render(u){let t="try"+super.render(u);return this.catch&&(t+=this.catch.render(u)),this.finally&&(t+=this.finally.render(u)),t}optimizeNodes(){var u,t;return super.optimizeNodes(),(u=this.catch)===null||u===void 0||u.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(u,t){var i,n;return super.optimizeNames(u,t),(i=this.catch)===null||i===void 0||i.optimizeNames(u,t),(n=this.finally)===null||n===void 0||n.optimizeNames(u,t),this}get names(){let u=super.names;return this.catch&&Mu(u,this.catch.names),this.finally&&Mu(u,this.finally.names),u}},A3=(()=>{class e extends Zt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}}return e.kind="catch",e})(),I3=(()=>{class e extends Zt{render(t){return"finally"+super.render(t)}}return e.kind="finally",e})(),Yo=class{constructor(u,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts=Ee(Z({},t),{_n:t.lines?`
1
+ import{a as St,b as qC}from"./chunk-2JINSU5B.js";import{a as zs}from"./chunk-NSCP3SOQ.js";import{a as ii,b as ni}from"./chunk-5KLZWFYX.js";import{a as Ks}from"./chunk-JF5AT3NK.js";import{a as Zs}from"./chunk-UI554AVG.js";import{a as Js}from"./chunk-474BOAR2.js";import{a as tn}from"./chunk-RP5TYXWG.js";import{a as Hs,b as Ws}from"./chunk-7BCHGXO4.js";import{a as ao}from"./chunk-XFK2EZ3K.js";import{a as Gs}from"./chunk-EEDUUZ6J.js";import{a as mf,b as Ff,c as Cf,d as gf,e as hf,f as Ef,g as ei,m as Ce,n as Ue,o as ti}from"./chunk-N4F42HDL.js";import{a as Ms,b as Zu,c as Qu,e as rt,f as js,h as Ns,i as qs,k as Vs,l as fu,m as Rs,o as Xu,r as Yu,s as Su,t as ku,x as Ls,y as It,z as oo}from"./chunk-YLEC7AUG.js";import{a as ui}from"./chunk-KDRA3MEJ.js";import{d as qt}from"./chunk-T3GI7KUT.js";import{a as Us}from"./chunk-5ZSNNIKJ.js";import{b as $e}from"./chunk-FD7DU2T6.js";import{h as ce,j as ru,k as De}from"./chunk-LGXZ3NIY.js";import{e as Os}from"./chunk-HA6CO5NZ.js";import{a as de,b as ge}from"./chunk-675OFXLW.js";import{Aa as vs,Ac as Gt,Bb as S,Bc as Ju,Cc as _,D as _s,Dc as B,Ec as Ve,Fa as xt,Ga as Bs,Ia as uf,Ic as Ts,Ka as nf,Lb as H,M as Yn,Mb as h,Nb as wt,Ob as Ku,Pb as J,Qb as As,Rb as x,Tb as He,Ub as We,Vb as Ge,Wb as d,Xb as c,Yb as w,Zb as Is,_ as ro,_b as Ss,a as Z,ac as z,b as Ee,ba as Yi,bd as Ct,cd as Iu,db as ae,dc as P,dd as it,e as F,ec as C,g as Oe,ga as ys,gb as xs,gd as Ps,h as W,ha as Bt,ia as ef,ib as s,ic as Df,jb as pe,jc as sf,k as gs,kc as lf,kd as pf,lc as df,ma as tf,mb as ff,mc as cf,n as ct,na as k,oc as g,pb as rf,pc as R,q as hs,qc as j,rb as of,rc as Wt,sc as ks,tc as Be,ub as K,uc as xe,v as Es,vb as af,vc as we,w as fe,wa as en,wb as Gu,wc as $s,x as bs,xa as N,xb as ws,xc as Ne,ya as q,yc as At,zc as Au}from"./chunk-CKNHTRCL.js";var Xs=F((pV,Qs)=>{function RC(){this.__data__=[],this.size=0}Qs.exports=RC});var bf=F((mV,Ys)=>{function LC(e,u){return e===u||e!==e&&u!==u}Ys.exports=LC});var un=F((FV,e0)=>{var zC=bf();function UC(e,u){for(var t=e.length;t--;)if(zC(e[t][0],u))return t;return-1}e0.exports=UC});var u0=F((CV,t0)=>{var HC=un(),WC=Array.prototype,GC=WC.splice;function KC(e){var u=this.__data__,t=HC(u,e);if(t<0)return!1;var i=u.length-1;return t==i?u.pop():GC.call(u,t,1),--this.size,!0}t0.exports=KC});var n0=F((gV,i0)=>{var JC=un();function ZC(e){var u=this.__data__,t=JC(u,e);return t<0?void 0:u[t][1]}i0.exports=ZC});var r0=F((hV,f0)=>{var QC=un();function XC(e){return QC(this.__data__,e)>-1}f0.exports=XC});var a0=F((EV,o0)=>{var YC=un();function e4(e,u){var t=this.__data__,i=YC(t,e);return i<0?(++this.size,t.push([e,u])):t[i][1]=u,this}o0.exports=e4});var nn=F((bV,D0)=>{var t4=Xs(),u4=u0(),i4=n0(),n4=r0(),f4=a0();function ri(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}ri.prototype.clear=t4;ri.prototype.delete=u4;ri.prototype.get=i4;ri.prototype.has=n4;ri.prototype.set=f4;D0.exports=ri});var l0=F((_V,s0)=>{var r4=nn();function o4(){this.__data__=new r4,this.size=0}s0.exports=o4});var c0=F((yV,d0)=>{function a4(e){var u=this.__data__,t=u.delete(e);return this.size=u.size,t}d0.exports=a4});var m0=F((vV,p0)=>{function D4(e){return this.__data__.get(e)}p0.exports=D4});var C0=F((BV,F0)=>{function s4(e){return this.__data__.has(e)}F0.exports=s4});var Do=F((xV,g0)=>{var l4=typeof global=="object"&&global&&global.Object===Object&&global;g0.exports=l4});var kt=F((wV,h0)=>{var d4=Do(),c4=typeof self=="object"&&self&&self.Object===Object&&self,p4=d4||c4||Function("return this")();h0.exports=p4});var oi=F((AV,E0)=>{var m4=kt(),F4=m4.Symbol;E0.exports=F4});var v0=F((IV,y0)=>{var b0=oi(),_0=Object.prototype,C4=_0.hasOwnProperty,g4=_0.toString,fn=b0?b0.toStringTag:void 0;function h4(e){var u=C4.call(e,fn),t=e[fn];try{e[fn]=void 0;var i=!0}catch{}var n=g4.call(e);return i&&(u?e[fn]=t:delete e[fn]),n}y0.exports=h4});var x0=F((SV,B0)=>{var E4=Object.prototype,b4=E4.toString;function _4(e){return b4.call(e)}B0.exports=_4});var $u=F((kV,I0)=>{var w0=oi(),y4=v0(),v4=x0(),B4="[object Null]",x4="[object Undefined]",A0=w0?w0.toStringTag:void 0;function w4(e){return e==null?e===void 0?x4:B4:A0&&A0 in Object(e)?y4(e):v4(e)}I0.exports=w4});var Tu=F(($V,S0)=>{function A4(e){var u=typeof e;return e!=null&&(u=="object"||u=="function")}S0.exports=A4});var so=F((TV,k0)=>{var I4=$u(),S4=Tu(),k4="[object AsyncFunction]",$4="[object Function]",T4="[object GeneratorFunction]",P4="[object Proxy]";function O4(e){if(!S4(e))return!1;var u=I4(e);return u==$4||u==T4||u==k4||u==P4}k0.exports=O4});var T0=F((PV,$0)=>{var M4=kt(),j4=M4["__core-js_shared__"];$0.exports=j4});var M0=F((OV,O0)=>{var lo=T0(),P0=function(){var e=/[^.]+$/.exec(lo&&lo.keys&&lo.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function N4(e){return!!P0&&P0 in e}O0.exports=N4});var co=F((MV,j0)=>{var q4=Function.prototype,V4=q4.toString;function R4(e){if(e!=null){try{return V4.call(e)}catch{}try{return e+""}catch{}}return""}j0.exports=R4});var q0=F((jV,N0)=>{var L4=so(),z4=M0(),U4=Tu(),H4=co(),W4=/[\\^$.*+?()[\]{}|]/g,G4=/^\[object .+?Constructor\]$/,K4=Function.prototype,J4=Object.prototype,Z4=K4.toString,Q4=J4.hasOwnProperty,X4=RegExp("^"+Z4.call(Q4).replace(W4,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Y4(e){if(!U4(e)||z4(e))return!1;var u=L4(e)?X4:G4;return u.test(H4(e))}N0.exports=Y4});var R0=F((NV,V0)=>{function e5(e,u){return e==null?void 0:e[u]}V0.exports=e5});var ou=F((qV,L0)=>{var t5=q0(),u5=R0();function i5(e,u){var t=u5(e,u);return t5(t)?t:void 0}L0.exports=i5});var _f=F((VV,z0)=>{var n5=ou(),f5=kt(),r5=n5(f5,"Map");z0.exports=r5});var rn=F((RV,U0)=>{var o5=ou(),a5=o5(Object,"create");U0.exports=a5});var G0=F((LV,W0)=>{var H0=rn();function D5(){this.__data__=H0?H0(null):{},this.size=0}W0.exports=D5});var J0=F((zV,K0)=>{function s5(e){var u=this.has(e)&&delete this.__data__[e];return this.size-=u?1:0,u}K0.exports=s5});var Q0=F((UV,Z0)=>{var l5=rn(),d5="__lodash_hash_undefined__",c5=Object.prototype,p5=c5.hasOwnProperty;function m5(e){var u=this.__data__;if(l5){var t=u[e];return t===d5?void 0:t}return p5.call(u,e)?u[e]:void 0}Z0.exports=m5});var Y0=F((HV,X0)=>{var F5=rn(),C5=Object.prototype,g5=C5.hasOwnProperty;function h5(e){var u=this.__data__;return F5?u[e]!==void 0:g5.call(u,e)}X0.exports=h5});var t1=F((WV,e1)=>{var E5=rn(),b5="__lodash_hash_undefined__";function _5(e,u){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=E5&&u===void 0?b5:u,this}e1.exports=_5});var i1=F((GV,u1)=>{var y5=G0(),v5=J0(),B5=Q0(),x5=Y0(),w5=t1();function ai(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}ai.prototype.clear=y5;ai.prototype.delete=v5;ai.prototype.get=B5;ai.prototype.has=x5;ai.prototype.set=w5;u1.exports=ai});var r1=F((KV,f1)=>{var n1=i1(),A5=nn(),I5=_f();function S5(){this.size=0,this.__data__={hash:new n1,map:new(I5||A5),string:new n1}}f1.exports=S5});var a1=F((JV,o1)=>{function k5(e){var u=typeof e;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?e!=="__proto__":e===null}o1.exports=k5});var on=F((ZV,D1)=>{var $5=a1();function T5(e,u){var t=e.__data__;return $5(u)?t[typeof u=="string"?"string":"hash"]:t.map}D1.exports=T5});var l1=F((QV,s1)=>{var P5=on();function O5(e){var u=P5(this,e).delete(e);return this.size-=u?1:0,u}s1.exports=O5});var c1=F((XV,d1)=>{var M5=on();function j5(e){return M5(this,e).get(e)}d1.exports=j5});var m1=F((YV,p1)=>{var N5=on();function q5(e){return N5(this,e).has(e)}p1.exports=q5});var C1=F((eR,F1)=>{var V5=on();function R5(e,u){var t=V5(this,e),i=t.size;return t.set(e,u),this.size+=t.size==i?0:1,this}F1.exports=R5});var yf=F((tR,g1)=>{var L5=r1(),z5=l1(),U5=c1(),H5=m1(),W5=C1();function Di(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}Di.prototype.clear=L5;Di.prototype.delete=z5;Di.prototype.get=U5;Di.prototype.has=H5;Di.prototype.set=W5;g1.exports=Di});var E1=F((uR,h1)=>{var G5=nn(),K5=_f(),J5=yf(),Z5=200;function Q5(e,u){var t=this.__data__;if(t instanceof G5){var i=t.__data__;if(!K5||i.length<Z5-1)return i.push([e,u]),this.size=++t.size,this;t=this.__data__=new J5(i)}return t.set(e,u),this.size=t.size,this}h1.exports=Q5});var vf=F((iR,b1)=>{var X5=nn(),Y5=l0(),eg=c0(),tg=m0(),ug=C0(),ig=E1();function si(e){var u=this.__data__=new X5(e);this.size=u.size}si.prototype.clear=Y5;si.prototype.delete=eg;si.prototype.get=tg;si.prototype.has=ug;si.prototype.set=ig;b1.exports=si});var y1=F((nR,_1)=>{function ng(e,u){for(var t=-1,i=e==null?0:e.length;++t<i&&u(e[t],t,e)!==!1;);return e}_1.exports=ng});var B1=F((fR,v1)=>{var fg=ou(),rg=function(){try{var e=fg(Object,"defineProperty");return e({},"",{}),e}catch{}}();v1.exports=rg});var po=F((rR,w1)=>{var x1=B1();function og(e,u,t){u=="__proto__"&&x1?x1(e,u,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[u]=t}w1.exports=og});var mo=F((oR,A1)=>{var ag=po(),Dg=bf(),sg=Object.prototype,lg=sg.hasOwnProperty;function dg(e,u,t){var i=e[u];(!(lg.call(e,u)&&Dg(i,t))||t===void 0&&!(u in e))&&ag(e,u,t)}A1.exports=dg});var an=F((aR,I1)=>{var cg=mo(),pg=po();function mg(e,u,t,i){var n=!t;t||(t={});for(var f=-1,r=u.length;++f<r;){var o=u[f],a=i?i(t[o],e[o],o,t,e):void 0;a===void 0&&(a=e[o]),n?pg(t,o,a):cg(t,o,a)}return t}I1.exports=mg});var k1=F((DR,S1)=>{function Fg(e,u){for(var t=-1,i=Array(e);++t<e;)i[t]=u(t);return i}S1.exports=Fg});var Kt=F((sR,$1)=>{function Cg(e){return e!=null&&typeof e=="object"}$1.exports=Cg});var P1=F((lR,T1)=>{var gg=$u(),hg=Kt(),Eg="[object Arguments]";function bg(e){return hg(e)&&gg(e)==Eg}T1.exports=bg});var Fo=F((dR,j1)=>{var O1=P1(),_g=Kt(),M1=Object.prototype,yg=M1.hasOwnProperty,vg=M1.propertyIsEnumerable,Bg=O1(function(){return arguments}())?O1:function(e){return _g(e)&&yg.call(e,"callee")&&!vg.call(e,"callee")};j1.exports=Bg});var pt=F((cR,N1)=>{var xg=Array.isArray;N1.exports=xg});var V1=F((pR,q1)=>{function wg(){return!1}q1.exports=wg});var Bf=F((Dn,li)=>{var Ag=kt(),Ig=V1(),z1=typeof Dn=="object"&&Dn&&!Dn.nodeType&&Dn,R1=z1&&typeof li=="object"&&li&&!li.nodeType&&li,Sg=R1&&R1.exports===z1,L1=Sg?Ag.Buffer:void 0,kg=L1?L1.isBuffer:void 0,$g=kg||Ig;li.exports=$g});var Co=F((mR,U1)=>{var Tg=9007199254740991,Pg=/^(?:0|[1-9]\d*)$/;function Og(e,u){var t=typeof e;return u=u==null?Tg:u,!!u&&(t=="number"||t!="symbol"&&Pg.test(e))&&e>-1&&e%1==0&&e<u}U1.exports=Og});var xf=F((FR,H1)=>{var Mg=9007199254740991;function jg(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Mg}H1.exports=jg});var G1=F((CR,W1)=>{var Ng=$u(),qg=xf(),Vg=Kt(),Rg="[object Arguments]",Lg="[object Array]",zg="[object Boolean]",Ug="[object Date]",Hg="[object Error]",Wg="[object Function]",Gg="[object Map]",Kg="[object Number]",Jg="[object Object]",Zg="[object RegExp]",Qg="[object Set]",Xg="[object String]",Yg="[object WeakMap]",eh="[object ArrayBuffer]",th="[object DataView]",uh="[object Float32Array]",ih="[object Float64Array]",nh="[object Int8Array]",fh="[object Int16Array]",rh="[object Int32Array]",oh="[object Uint8Array]",ah="[object Uint8ClampedArray]",Dh="[object Uint16Array]",sh="[object Uint32Array]",Ae={};Ae[uh]=Ae[ih]=Ae[nh]=Ae[fh]=Ae[rh]=Ae[oh]=Ae[ah]=Ae[Dh]=Ae[sh]=!0;Ae[Rg]=Ae[Lg]=Ae[eh]=Ae[zg]=Ae[th]=Ae[Ug]=Ae[Hg]=Ae[Wg]=Ae[Gg]=Ae[Kg]=Ae[Jg]=Ae[Zg]=Ae[Qg]=Ae[Xg]=Ae[Yg]=!1;function lh(e){return Vg(e)&&qg(e.length)&&!!Ae[Ng(e)]}W1.exports=lh});var wf=F((gR,K1)=>{function dh(e){return function(u){return e(u)}}K1.exports=dh});var Af=F((sn,di)=>{var ch=Do(),J1=typeof sn=="object"&&sn&&!sn.nodeType&&sn,ln=J1&&typeof di=="object"&&di&&!di.nodeType&&di,ph=ln&&ln.exports===J1,go=ph&&ch.process,mh=function(){try{var e=ln&&ln.require&&ln.require("util").types;return e||go&&go.binding&&go.binding("util")}catch{}}();di.exports=mh});var ho=F((hR,X1)=>{var Fh=G1(),Ch=wf(),Z1=Af(),Q1=Z1&&Z1.isTypedArray,gh=Q1?Ch(Q1):Fh;X1.exports=gh});var Eo=F((ER,Y1)=>{var hh=k1(),Eh=Fo(),bh=pt(),_h=Bf(),yh=Co(),vh=ho(),Bh=Object.prototype,xh=Bh.hasOwnProperty;function wh(e,u){var t=bh(e),i=!t&&Eh(e),n=!t&&!i&&_h(e),f=!t&&!i&&!n&&vh(e),r=t||i||n||f,o=r?hh(e.length,String):[],a=o.length;for(var D in e)(u||xh.call(e,D))&&!(r&&(D=="length"||n&&(D=="offset"||D=="parent")||f&&(D=="buffer"||D=="byteLength"||D=="byteOffset")||yh(D,a)))&&o.push(D);return o}Y1.exports=wh});var If=F((bR,el)=>{var Ah=Object.prototype;function Ih(e){var u=e&&e.constructor,t=typeof u=="function"&&u.prototype||Ah;return e===t}el.exports=Ih});var bo=F((_R,tl)=>{function Sh(e,u){return function(t){return e(u(t))}}tl.exports=Sh});var il=F((yR,ul)=>{var kh=bo(),$h=kh(Object.keys,Object);ul.exports=$h});var fl=F((vR,nl)=>{var Th=If(),Ph=il(),Oh=Object.prototype,Mh=Oh.hasOwnProperty;function jh(e){if(!Th(e))return Ph(e);var u=[];for(var t in Object(e))Mh.call(e,t)&&t!="constructor"&&u.push(t);return u}nl.exports=jh});var dn=F((BR,rl)=>{var Nh=so(),qh=xf();function Vh(e){return e!=null&&qh(e.length)&&!Nh(e)}rl.exports=Vh});var ci=F((xR,ol)=>{var Rh=Eo(),Lh=fl(),zh=dn();function Uh(e){return zh(e)?Rh(e):Lh(e)}ol.exports=Uh});var Dl=F((wR,al)=>{var Hh=an(),Wh=ci();function Gh(e,u){return e&&Hh(u,Wh(u),e)}al.exports=Gh});var ll=F((AR,sl)=>{function Kh(e){var u=[];if(e!=null)for(var t in Object(e))u.push(t);return u}sl.exports=Kh});var cl=F((IR,dl)=>{var Jh=Tu(),Zh=If(),Qh=ll(),Xh=Object.prototype,Yh=Xh.hasOwnProperty;function e6(e){if(!Jh(e))return Qh(e);var u=Zh(e),t=[];for(var i in e)i=="constructor"&&(u||!Yh.call(e,i))||t.push(i);return t}dl.exports=e6});var Sf=F((SR,pl)=>{var t6=Eo(),u6=cl(),i6=dn();function n6(e){return i6(e)?t6(e,!0):u6(e)}pl.exports=n6});var Fl=F((kR,ml)=>{var f6=an(),r6=Sf();function o6(e,u){return e&&f6(u,r6(u),e)}ml.exports=o6});var bl=F((cn,pi)=>{var a6=kt(),El=typeof cn=="object"&&cn&&!cn.nodeType&&cn,Cl=El&&typeof pi=="object"&&pi&&!pi.nodeType&&pi,D6=Cl&&Cl.exports===El,gl=D6?a6.Buffer:void 0,hl=gl?gl.allocUnsafe:void 0;function s6(e,u){if(u)return e.slice();var t=e.length,i=hl?hl(t):new e.constructor(t);return e.copy(i),i}pi.exports=s6});var yl=F(($R,_l)=>{function l6(e,u){var t=-1,i=e.length;for(u||(u=Array(i));++t<i;)u[t]=e[t];return u}_l.exports=l6});var _o=F((TR,vl)=>{function d6(e,u){for(var t=-1,i=e==null?0:e.length,n=0,f=[];++t<i;){var r=e[t];u(r,t,e)&&(f[n++]=r)}return f}vl.exports=d6});var yo=F((PR,Bl)=>{function c6(){return[]}Bl.exports=c6});var kf=F((OR,wl)=>{var p6=_o(),m6=yo(),F6=Object.prototype,C6=F6.propertyIsEnumerable,xl=Object.getOwnPropertySymbols,g6=xl?function(e){return e==null?[]:(e=Object(e),p6(xl(e),function(u){return C6.call(e,u)}))}:m6;wl.exports=g6});var Il=F((MR,Al)=>{var h6=an(),E6=kf();function b6(e,u){return h6(e,E6(e),u)}Al.exports=b6});var vo=F((jR,Sl)=>{function _6(e,u){for(var t=-1,i=u.length,n=e.length;++t<i;)e[n+t]=u[t];return e}Sl.exports=_6});var $f=F((NR,kl)=>{var y6=bo(),v6=y6(Object.getPrototypeOf,Object);kl.exports=v6});var Bo=F((qR,$l)=>{var B6=vo(),x6=$f(),w6=kf(),A6=yo(),I6=Object.getOwnPropertySymbols,S6=I6?function(e){for(var u=[];e;)B6(u,w6(e)),e=x6(e);return u}:A6;$l.exports=S6});var Pl=F((VR,Tl)=>{var k6=an(),$6=Bo();function T6(e,u){return k6(e,$6(e),u)}Tl.exports=T6});var xo=F((RR,Ol)=>{var P6=vo(),O6=pt();function M6(e,u,t){var i=u(e);return O6(e)?i:P6(i,t(e))}Ol.exports=M6});var wo=F((LR,Ml)=>{var j6=xo(),N6=kf(),q6=ci();function V6(e){return j6(e,q6,N6)}Ml.exports=V6});var Nl=F((zR,jl)=>{var R6=xo(),L6=Bo(),z6=Sf();function U6(e){return R6(e,z6,L6)}jl.exports=U6});var Vl=F((UR,ql)=>{var H6=ou(),W6=kt(),G6=H6(W6,"DataView");ql.exports=G6});var Ll=F((HR,Rl)=>{var K6=ou(),J6=kt(),Z6=K6(J6,"Promise");Rl.exports=Z6});var Ul=F((WR,zl)=>{var Q6=ou(),X6=kt(),Y6=Q6(X6,"Set");zl.exports=Y6});var Wl=F((GR,Hl)=>{var eE=ou(),tE=kt(),uE=eE(tE,"WeakMap");Hl.exports=uE});var pn=F((KR,Yl)=>{var Ao=Vl(),Io=_f(),So=Ll(),ko=Ul(),$o=Wl(),Xl=$u(),mi=co(),Gl="[object Map]",iE="[object Object]",Kl="[object Promise]",Jl="[object Set]",Zl="[object WeakMap]",Ql="[object DataView]",nE=mi(Ao),fE=mi(Io),rE=mi(So),oE=mi(ko),aE=mi($o),Pu=Xl;(Ao&&Pu(new Ao(new ArrayBuffer(1)))!=Ql||Io&&Pu(new Io)!=Gl||So&&Pu(So.resolve())!=Kl||ko&&Pu(new ko)!=Jl||$o&&Pu(new $o)!=Zl)&&(Pu=function(e){var u=Xl(e),t=u==iE?e.constructor:void 0,i=t?mi(t):"";if(i)switch(i){case nE:return Ql;case fE:return Gl;case rE:return Kl;case oE:return Jl;case aE:return Zl}return u});Yl.exports=Pu});var td=F((JR,ed)=>{var DE=Object.prototype,sE=DE.hasOwnProperty;function lE(e){var u=e.length,t=new e.constructor(u);return u&&typeof e[0]=="string"&&sE.call(e,"index")&&(t.index=e.index,t.input=e.input),t}ed.exports=lE});var To=F((ZR,ud)=>{var dE=kt(),cE=dE.Uint8Array;ud.exports=cE});var Tf=F((QR,nd)=>{var id=To();function pE(e){var u=new e.constructor(e.byteLength);return new id(u).set(new id(e)),u}nd.exports=pE});var rd=F((XR,fd)=>{var mE=Tf();function FE(e,u){var t=u?mE(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}fd.exports=FE});var ad=F((YR,od)=>{var CE=/\w*$/;function gE(e){var u=new e.constructor(e.source,CE.exec(e));return u.lastIndex=e.lastIndex,u}od.exports=gE});var cd=F((eL,dd)=>{var Dd=oi(),sd=Dd?Dd.prototype:void 0,ld=sd?sd.valueOf:void 0;function hE(e){return ld?Object(ld.call(e)):{}}dd.exports=hE});var md=F((tL,pd)=>{var EE=Tf();function bE(e,u){var t=u?EE(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}pd.exports=bE});var Cd=F((uL,Fd)=>{var _E=Tf(),yE=rd(),vE=ad(),BE=cd(),xE=md(),wE="[object Boolean]",AE="[object Date]",IE="[object Map]",SE="[object Number]",kE="[object RegExp]",$E="[object Set]",TE="[object String]",PE="[object Symbol]",OE="[object ArrayBuffer]",ME="[object DataView]",jE="[object Float32Array]",NE="[object Float64Array]",qE="[object Int8Array]",VE="[object Int16Array]",RE="[object Int32Array]",LE="[object Uint8Array]",zE="[object Uint8ClampedArray]",UE="[object Uint16Array]",HE="[object Uint32Array]";function WE(e,u,t){var i=e.constructor;switch(u){case OE:return _E(e);case wE:case AE:return new i(+e);case ME:return yE(e,t);case jE:case NE:case qE:case VE:case RE:case LE:case zE:case UE:case HE:return xE(e,t);case IE:return new i;case SE:case TE:return new i(e);case kE:return vE(e);case $E:return new i;case PE:return BE(e)}}Fd.exports=WE});var Ed=F((iL,hd)=>{var GE=Tu(),gd=Object.create,KE=function(){function e(){}return function(u){if(!GE(u))return{};if(gd)return gd(u);e.prototype=u;var t=new e;return e.prototype=void 0,t}}();hd.exports=KE});var _d=F((nL,bd)=>{var JE=Ed(),ZE=$f(),QE=If();function XE(e){return typeof e.constructor=="function"&&!QE(e)?JE(ZE(e)):{}}bd.exports=XE});var vd=F((fL,yd)=>{var YE=pn(),eb=Kt(),tb="[object Map]";function ub(e){return eb(e)&&YE(e)==tb}yd.exports=ub});var Ad=F((rL,wd)=>{var ib=vd(),nb=wf(),Bd=Af(),xd=Bd&&Bd.isMap,fb=xd?nb(xd):ib;wd.exports=fb});var Sd=F((oL,Id)=>{var rb=pn(),ob=Kt(),ab="[object Set]";function Db(e){return ob(e)&&rb(e)==ab}Id.exports=Db});var Pd=F((aL,Td)=>{var sb=Sd(),lb=wf(),kd=Af(),$d=kd&&kd.isSet,db=$d?lb($d):sb;Td.exports=db});var qd=F((DL,Nd)=>{var cb=vf(),pb=y1(),mb=mo(),Fb=Dl(),Cb=Fl(),gb=bl(),hb=yl(),Eb=Il(),bb=Pl(),_b=wo(),yb=Nl(),vb=pn(),Bb=td(),xb=Cd(),wb=_d(),Ab=pt(),Ib=Bf(),Sb=Ad(),kb=Tu(),$b=Pd(),Tb=ci(),Pb=Sf(),Ob=1,Mb=2,jb=4,Od="[object Arguments]",Nb="[object Array]",qb="[object Boolean]",Vb="[object Date]",Rb="[object Error]",Md="[object Function]",Lb="[object GeneratorFunction]",zb="[object Map]",Ub="[object Number]",jd="[object Object]",Hb="[object RegExp]",Wb="[object Set]",Gb="[object String]",Kb="[object Symbol]",Jb="[object WeakMap]",Zb="[object ArrayBuffer]",Qb="[object DataView]",Xb="[object Float32Array]",Yb="[object Float64Array]",e_="[object Int8Array]",t_="[object Int16Array]",u_="[object Int32Array]",i_="[object Uint8Array]",n_="[object Uint8ClampedArray]",f_="[object Uint16Array]",r_="[object Uint32Array]",ye={};ye[Od]=ye[Nb]=ye[Zb]=ye[Qb]=ye[qb]=ye[Vb]=ye[Xb]=ye[Yb]=ye[e_]=ye[t_]=ye[u_]=ye[zb]=ye[Ub]=ye[jd]=ye[Hb]=ye[Wb]=ye[Gb]=ye[Kb]=ye[i_]=ye[n_]=ye[f_]=ye[r_]=!0;ye[Rb]=ye[Md]=ye[Jb]=!1;function Pf(e,u,t,i,n,f){var r,o=u&Ob,a=u&Mb,D=u&jb;if(t&&(r=n?t(e,i,n,f):t(e)),r!==void 0)return r;if(!kb(e))return e;var l=Ab(e);if(l){if(r=Bb(e),!o)return hb(e,r)}else{var p=vb(e),m=p==Md||p==Lb;if(Ib(e))return gb(e,o);if(p==jd||p==Od||m&&!n){if(r=a||m?{}:wb(e),!o)return a?bb(e,Cb(r,e)):Eb(e,Fb(r,e))}else{if(!ye[p])return n?e:{};r=xb(e,p,o)}}f||(f=new cb);var b=f.get(e);if(b)return b;f.set(e,r),$b(e)?e.forEach(function(v){r.add(Pf(v,u,t,v,e,f))}):Sb(e)&&e.forEach(function(v,I){r.set(I,Pf(v,u,t,I,e,f))});var E=D?a?yb:_b:a?Pb:Tb,y=l?void 0:E(e);return pb(y||e,function(v,I){y&&(I=v,v=e[I]),mb(r,I,Pf(v,u,t,I,e,f))}),r}Nd.exports=Pf});var Rd=F((sL,Vd)=>{var o_=qd(),a_=1,D_=4;function s_(e){return o_(e,a_|D_)}Vd.exports=s_});var zd=F((lL,Ld)=>{var l_="__lodash_hash_undefined__";function d_(e){return this.__data__.set(e,l_),this}Ld.exports=d_});var Hd=F((dL,Ud)=>{function c_(e){return this.__data__.has(e)}Ud.exports=c_});var Gd=F((cL,Wd)=>{var p_=yf(),m_=zd(),F_=Hd();function Of(e){var u=-1,t=e==null?0:e.length;for(this.__data__=new p_;++u<t;)this.add(e[u])}Of.prototype.add=Of.prototype.push=m_;Of.prototype.has=F_;Wd.exports=Of});var Jd=F((pL,Kd)=>{function C_(e,u){for(var t=-1,i=e==null?0:e.length;++t<i;)if(u(e[t],t,e))return!0;return!1}Kd.exports=C_});var Qd=F((mL,Zd)=>{function g_(e,u){return e.has(u)}Zd.exports=g_});var Po=F((FL,Xd)=>{var h_=Gd(),E_=Jd(),b_=Qd(),__=1,y_=2;function v_(e,u,t,i,n,f){var r=t&__,o=e.length,a=u.length;if(o!=a&&!(r&&a>o))return!1;var D=f.get(e),l=f.get(u);if(D&&l)return D==u&&l==e;var p=-1,m=!0,b=t&y_?new h_:void 0;for(f.set(e,u),f.set(u,e);++p<o;){var E=e[p],y=u[p];if(i)var v=r?i(y,E,p,u,e,f):i(E,y,p,e,u,f);if(v!==void 0){if(v)continue;m=!1;break}if(b){if(!E_(u,function(I,O){if(!b_(b,O)&&(E===I||n(E,I,t,i,f)))return b.push(O)})){m=!1;break}}else if(!(E===y||n(E,y,t,i,f))){m=!1;break}}return f.delete(e),f.delete(u),m}Xd.exports=v_});var e3=F((CL,Yd)=>{function B_(e){var u=-1,t=Array(e.size);return e.forEach(function(i,n){t[++u]=[n,i]}),t}Yd.exports=B_});var u3=F((gL,t3)=>{function x_(e){var u=-1,t=Array(e.size);return e.forEach(function(i){t[++u]=i}),t}t3.exports=x_});var o3=F((hL,r3)=>{var i3=oi(),n3=To(),w_=bf(),A_=Po(),I_=e3(),S_=u3(),k_=1,$_=2,T_="[object Boolean]",P_="[object Date]",O_="[object Error]",M_="[object Map]",j_="[object Number]",N_="[object RegExp]",q_="[object Set]",V_="[object String]",R_="[object Symbol]",L_="[object ArrayBuffer]",z_="[object DataView]",f3=i3?i3.prototype:void 0,Oo=f3?f3.valueOf:void 0;function U_(e,u,t,i,n,f,r){switch(t){case z_:if(e.byteLength!=u.byteLength||e.byteOffset!=u.byteOffset)return!1;e=e.buffer,u=u.buffer;case L_:return!(e.byteLength!=u.byteLength||!f(new n3(e),new n3(u)));case T_:case P_:case j_:return w_(+e,+u);case O_:return e.name==u.name&&e.message==u.message;case N_:case V_:return e==u+"";case M_:var o=I_;case q_:var a=i&k_;if(o||(o=S_),e.size!=u.size&&!a)return!1;var D=r.get(e);if(D)return D==u;i|=$_,r.set(e,u);var l=A_(o(e),o(u),i,n,f,r);return r.delete(e),l;case R_:if(Oo)return Oo.call(e)==Oo.call(u)}return!1}r3.exports=U_});var s3=F((EL,D3)=>{var a3=wo(),H_=1,W_=Object.prototype,G_=W_.hasOwnProperty;function K_(e,u,t,i,n,f){var r=t&H_,o=a3(e),a=o.length,D=a3(u),l=D.length;if(a!=l&&!r)return!1;for(var p=a;p--;){var m=o[p];if(!(r?m in u:G_.call(u,m)))return!1}var b=f.get(e),E=f.get(u);if(b&&E)return b==u&&E==e;var y=!0;f.set(e,u),f.set(u,e);for(var v=r;++p<a;){m=o[p];var I=e[m],O=u[m];if(i)var L=r?i(O,I,m,u,e,f):i(I,O,m,e,u,f);if(!(L===void 0?I===O||n(I,O,t,i,f):L)){y=!1;break}v||(v=m=="constructor")}if(y&&!v){var U=e.constructor,M=u.constructor;U!=M&&"constructor"in e&&"constructor"in u&&!(typeof U=="function"&&U instanceof U&&typeof M=="function"&&M instanceof M)&&(y=!1)}return f.delete(e),f.delete(u),y}D3.exports=K_});var g3=F((bL,C3)=>{var Mo=vf(),J_=Po(),Z_=o3(),Q_=s3(),l3=pn(),d3=pt(),c3=Bf(),X_=ho(),Y_=1,p3="[object Arguments]",m3="[object Array]",Mf="[object Object]",e9=Object.prototype,F3=e9.hasOwnProperty;function t9(e,u,t,i,n,f){var r=d3(e),o=d3(u),a=r?m3:l3(e),D=o?m3:l3(u);a=a==p3?Mf:a,D=D==p3?Mf:D;var l=a==Mf,p=D==Mf,m=a==D;if(m&&c3(e)){if(!c3(u))return!1;r=!0,l=!1}if(m&&!l)return f||(f=new Mo),r||X_(e)?J_(e,u,t,i,n,f):Z_(e,u,a,t,i,n,f);if(!(t&Y_)){var b=l&&F3.call(e,"__wrapped__"),E=p&&F3.call(u,"__wrapped__");if(b||E){var y=b?e.value():e,v=E?u.value():u;return f||(f=new Mo),n(y,v,t,i,f)}}return m?(f||(f=new Mo),Q_(e,u,t,i,n,f)):!1}C3.exports=t9});var jf=F((_L,b3)=>{var u9=g3(),h3=Kt();function E3(e,u,t,i,n){return e===u?!0:e==null||u==null||!h3(e)&&!h3(u)?e!==e&&u!==u:u9(e,u,t,i,E3,n)}b3.exports=E3});var y3=F((yL,_3)=>{var i9=jf();function n9(e,u){return i9(e,u)}_3.exports=n9});var Cn=F(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.regexpCode=le.getEsmExportName=le.getProperty=le.safeStringify=le.stringify=le.strConcat=le.addCodeArg=le.str=le._=le.nil=le._Code=le.Name=le.IDENTIFIER=le._CodeOrName=void 0;var mn=class{};le._CodeOrName=mn;le.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Ou=class extends mn{constructor(u){if(super(),!le.IDENTIFIER.test(u))throw new Error("CodeGen: name must be a valid identifier");this.str=u}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};le.Name=Ou;var gt=class extends mn{constructor(u){super(),this._items=typeof u=="string"?[u]:u}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let u=this._items[0];return u===""||u==='""'}get str(){var u;return(u=this._str)!==null&&u!==void 0?u:this._str=this._items.reduce((t,i)=>`${t}${i}`,"")}get names(){var u;return(u=this._names)!==null&&u!==void 0?u:this._names=this._items.reduce((t,i)=>(i instanceof Ou&&(t[i.str]=(t[i.str]||0)+1),t),{})}};le._Code=gt;le.nil=new gt("");function v3(e,...u){let t=[e[0]],i=0;for(;i<u.length;)No(t,u[i]),t.push(e[++i]);return new gt(t)}le._=v3;var jo=new gt("+");function B3(e,...u){let t=[Fn(e[0])],i=0;for(;i<u.length;)t.push(jo),No(t,u[i]),t.push(jo,Fn(e[++i]));return f9(t),new gt(t)}le.str=B3;function No(e,u){u instanceof gt?e.push(...u._items):u instanceof Ou?e.push(u):e.push(a9(u))}le.addCodeArg=No;function f9(e){let u=1;for(;u<e.length-1;){if(e[u]===jo){let t=r9(e[u-1],e[u+1]);if(t!==void 0){e.splice(u-1,3,t);continue}e[u++]="+"}u++}}function r9(e,u){if(u==='""')return e;if(e==='""')return u;if(typeof e=="string")return u instanceof Ou||e[e.length-1]!=='"'?void 0:typeof u!="string"?`${e.slice(0,-1)}${u}"`:u[0]==='"'?e.slice(0,-1)+u.slice(1):void 0;if(typeof u=="string"&&u[0]==='"'&&!(e instanceof Ou))return`"${e}${u.slice(1)}`}function o9(e,u){return u.emptyStr()?e:e.emptyStr()?u:B3`${e}${u}`}le.strConcat=o9;function a9(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:Fn(Array.isArray(e)?e.join(","):e)}function D9(e){return new gt(Fn(e))}le.stringify=D9;function Fn(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}le.safeStringify=Fn;function s9(e){return typeof e=="string"&&le.IDENTIFIER.test(e)?new gt(`.${e}`):v3`[${e}]`}le.getProperty=s9;function l9(e){if(typeof e=="string"&&le.IDENTIFIER.test(e))return new gt(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}le.getEsmExportName=l9;function d9(e){return new gt(e.toString())}le.regexpCode=d9});var Ro=F(at=>{"use strict";Object.defineProperty(at,"__esModule",{value:!0});at.ValueScope=at.ValueScopeName=at.Scope=at.varKinds=at.UsedValueState=void 0;var ot=Cn(),qo=class extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}},Nf=function(e){return e[e.Started=0]="Started",e[e.Completed=1]="Completed",e}(Nf||(at.UsedValueState=Nf={}));at.varKinds={const:new ot.Name("const"),let:new ot.Name("let"),var:new ot.Name("var")};var qf=class{constructor({prefixes:u,parent:t}={}){this._names={},this._prefixes=u,this._parent=t}toName(u){return u instanceof ot.Name?u:this.name(u)}name(u){return new ot.Name(this._newName(u))}_newName(u){let t=this._names[u]||this._nameGroup(u);return`${u}${t.index++}`}_nameGroup(u){var t,i;if(!((i=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||i===void 0)&&i.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}};at.Scope=qf;var Vf=class extends ot.Name{constructor(u,t){super(t),this.prefix=u}setValue(u,{property:t,itemIndex:i}){this.value=u,this.scopePath=(0,ot._)`.${new ot.Name(t)}[${i}]`}};at.ValueScopeName=Vf;var c9=(0,ot._)`\n`,Vo=class extends qf{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts=Ee(Z({},u),{_n:u.lines?c9:ot.nil})}get(){return this._scope}name(u){return new Vf(u,this._newName(u))}value(u,t){var i;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(u),{prefix:f}=n,r=(i=t.key)!==null&&i!==void 0?i:t.ref,o=this._values[f];if(o){let l=o.get(r);if(l)return l}else o=this._values[f]=new Map;o.set(r,n);let a=this._scope[f]||(this._scope[f]=[]),D=a.length;return a[D]=t.ref,n.setValue(t,{property:f,itemIndex:D}),n}getValue(u,t){let i=this._values[u];if(i)return i.get(t)}scopeRefs(u,t=this._values){return this._reduceValues(t,i=>{if(i.scopePath===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return(0,ot._)`${u}${i.scopePath}`})}scopeCode(u=this._values,t,i){return this._reduceValues(u,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},t,i)}_reduceValues(u,t,i={},n){let f=ot.nil;for(let r in u){let o=u[r];if(!o)continue;let a=i[r]=i[r]||new Map;o.forEach(D=>{if(a.has(D))return;a.set(D,Nf.Started);let l=t(D);if(l){let p=this.opts.es5?at.varKinds.var:at.varKinds.const;f=(0,ot._)`${f}${p} ${D} = ${l};${this.opts._n}`}else if(l=n==null?void 0:n(D))f=(0,ot._)`${f}${l}${this.opts._n}`;else throw new qo(D);a.set(D,Nf.Completed)})}return f}};at.ValueScope=Vo});var ee=F(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.or=ue.and=ue.not=ue.CodeGen=ue.operators=ue.varKinds=ue.ValueScopeName=ue.ValueScope=ue.Scope=ue.Name=ue.regexpCode=ue.stringify=ue.getProperty=ue.nil=ue.strConcat=ue.str=ue._=void 0;var oe=Cn(),$t=Ro(),au=Cn();Object.defineProperty(ue,"_",{enumerable:!0,get:function(){return au._}});Object.defineProperty(ue,"str",{enumerable:!0,get:function(){return au.str}});Object.defineProperty(ue,"strConcat",{enumerable:!0,get:function(){return au.strConcat}});Object.defineProperty(ue,"nil",{enumerable:!0,get:function(){return au.nil}});Object.defineProperty(ue,"getProperty",{enumerable:!0,get:function(){return au.getProperty}});Object.defineProperty(ue,"stringify",{enumerable:!0,get:function(){return au.stringify}});Object.defineProperty(ue,"regexpCode",{enumerable:!0,get:function(){return au.regexpCode}});Object.defineProperty(ue,"Name",{enumerable:!0,get:function(){return au.Name}});var Hf=Ro();Object.defineProperty(ue,"Scope",{enumerable:!0,get:function(){return Hf.Scope}});Object.defineProperty(ue,"ValueScope",{enumerable:!0,get:function(){return Hf.ValueScope}});Object.defineProperty(ue,"ValueScopeName",{enumerable:!0,get:function(){return Hf.ValueScopeName}});Object.defineProperty(ue,"varKinds",{enumerable:!0,get:function(){return Hf.varKinds}});ue.operators={GT:new oe._Code(">"),GTE:new oe._Code(">="),LT:new oe._Code("<"),LTE:new oe._Code("<="),EQ:new oe._Code("==="),NEQ:new oe._Code("!=="),NOT:new oe._Code("!"),OR:new oe._Code("||"),AND:new oe._Code("&&"),ADD:new oe._Code("+")};var Jt=class{optimizeNodes(){return this}optimizeNames(u,t){return this}},Lo=class extends Jt{constructor(u,t,i){super(),this.varKind=u,this.name=t,this.rhs=i}render({es5:u,_n:t}){let i=u?$t.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(u,t){if(u[this.name.str])return this.rhs&&(this.rhs=Fi(this.rhs,u,t)),this}get names(){return this.rhs instanceof oe._CodeOrName?this.rhs.names:{}}},Lf=class extends Jt{constructor(u,t,i){super(),this.lhs=u,this.rhs=t,this.sideEffects=i}render({_n:u}){return`${this.lhs} = ${this.rhs};`+u}optimizeNames(u,t){if(!(this.lhs instanceof oe.Name&&!u[this.lhs.str]&&!this.sideEffects))return this.rhs=Fi(this.rhs,u,t),this}get names(){let u=this.lhs instanceof oe.Name?{}:Z({},this.lhs.names);return Uf(u,this.rhs)}},zo=class extends Lf{constructor(u,t,i,n){super(u,i,n),this.op=t}render({_n:u}){return`${this.lhs} ${this.op}= ${this.rhs};`+u}},Uo=class extends Jt{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`${this.label}:`+u}},Ho=class extends Jt{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`break${this.label?` ${this.label}`:""};`+u}},Wo=class extends Jt{constructor(u){super(),this.error=u}render({_n:u}){return`throw ${this.error};`+u}get names(){return this.error.names}},Go=class extends Jt{constructor(u){super(),this.code=u}render({_n:u}){return`${this.code};`+u}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(u,t){return this.code=Fi(this.code,u,t),this}get names(){return this.code instanceof oe._CodeOrName?this.code.names:{}}},gn=class extends Jt{constructor(u=[]){super(),this.nodes=u}render(u){return this.nodes.reduce((t,i)=>t+i.render(u),"")}optimizeNodes(){let{nodes:u}=this,t=u.length;for(;t--;){let i=u[t].optimizeNodes();Array.isArray(i)?u.splice(t,1,...i):i?u[t]=i:u.splice(t,1)}return u.length>0?this:void 0}optimizeNames(u,t){let{nodes:i}=this,n=i.length;for(;n--;){let f=i[n];f.optimizeNames(u,t)||(p9(u,f.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce((u,t)=>Mu(u,t.names),{})}},Zt=class extends gn{render(u){return"{"+u._n+super.render(u)+"}"+u._n}},Ko=class extends gn{},Jo=(()=>{class e extends Zt{}return e.kind="else",e})(),Rf=(()=>{class e extends Zt{constructor(t,i){super(i),this.condition=t}render(t){let i=`if(${this.condition})`+super.render(t);return this.else&&(i+="else "+this.else.render(t)),i}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let i=this.else;if(i){let n=i.optimizeNodes();i=this.else=Array.isArray(n)?new Jo(n):n}if(i)return t===!1?i instanceof e?i:i.nodes:this.nodes.length?this:new e(S3(t),i instanceof e?[i]:i.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,i){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,i),!!(super.optimizeNames(t,i)||this.else))return this.condition=Fi(this.condition,t,i),this}get names(){let t=super.names;return Uf(t,this.condition),this.else&&Mu(t,this.else.names),t}}return e.kind="if",e})(),Wf=(()=>{class e extends Zt{}return e.kind="for",e})(),Zo=class extends Wf{constructor(u){super(),this.iteration=u}render(u){return`for(${this.iteration})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iteration=Fi(this.iteration,u,t),this}get names(){return Mu(super.names,this.iteration.names)}},Qo=class extends Wf{constructor(u,t,i,n){super(),this.varKind=u,this.name=t,this.from=i,this.to=n}render(u){let t=u.es5?$t.varKinds.var:this.varKind,{name:i,from:n,to:f}=this;return`for(${t} ${i}=${n}; ${i}<${f}; ${i}++)`+super.render(u)}get names(){let u=Uf(super.names,this.from);return Uf(u,this.to)}},zf=class extends Wf{constructor(u,t,i,n){super(),this.loop=u,this.varKind=t,this.name=i,this.iterable=n}render(u){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iterable=Fi(this.iterable,u,t),this}get names(){return Mu(super.names,this.iterable.names)}},x3=(()=>{class e extends Zt{constructor(t,i,n){super(),this.name=t,this.args=i,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}}return e.kind="func",e})(),w3=(()=>{class e extends gn{render(t){return"return "+super.render(t)}}return e.kind="return",e})(),Xo=class extends Zt{render(u){let t="try"+super.render(u);return this.catch&&(t+=this.catch.render(u)),this.finally&&(t+=this.finally.render(u)),t}optimizeNodes(){var u,t;return super.optimizeNodes(),(u=this.catch)===null||u===void 0||u.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(u,t){var i,n;return super.optimizeNames(u,t),(i=this.catch)===null||i===void 0||i.optimizeNames(u,t),(n=this.finally)===null||n===void 0||n.optimizeNames(u,t),this}get names(){let u=super.names;return this.catch&&Mu(u,this.catch.names),this.finally&&Mu(u,this.finally.names),u}},A3=(()=>{class e extends Zt{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}}return e.kind="catch",e})(),I3=(()=>{class e extends Zt{render(t){return"finally"+super.render(t)}}return e.kind="finally",e})(),Yo=class{constructor(u,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts=Ee(Z({},t),{_n:t.lines?`
2
2
  `:""}),this._extScope=u,this._scope=new $t.Scope({parent:u}),this._nodes=[new Ko]}toString(){return this._root.render(this.opts)}name(u){return this._scope.name(u)}scopeName(u){return this._extScope.name(u)}scopeValue(u,t){let i=this._extScope.value(u,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(u,t){return this._extScope.getValue(u,t)}scopeRefs(u){return this._extScope.scopeRefs(u,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(u,t,i,n){let f=this._scope.toName(t);return i!==void 0&&n&&(this._constants[f.str]=i),this._leafNode(new Lo(u,f,i)),f}const(u,t,i){return this._def($t.varKinds.const,u,t,i)}let(u,t,i){return this._def($t.varKinds.let,u,t,i)}var(u,t,i){return this._def($t.varKinds.var,u,t,i)}assign(u,t,i){return this._leafNode(new Lf(u,t,i))}add(u,t){return this._leafNode(new zo(u,ue.operators.ADD,t))}code(u){return typeof u=="function"?u():u!==oe.nil&&this._leafNode(new Go(u)),this}object(...u){let t=["{"];for(let[i,n]of u)t.length>1&&t.push(","),t.push(i),(i!==n||this.opts.es5)&&(t.push(":"),(0,oe.addCodeArg)(t,n));return t.push("}"),new oe._Code(t)}if(u,t,i){if(this._blockNode(new Rf(u)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(u){return this._elseNode(new Rf(u))}else(){return this._elseNode(new Jo)}endIf(){return this._endBlockNode(Rf,Jo)}_for(u,t){return this._blockNode(u),t&&this.code(t).endFor(),this}for(u,t){return this._for(new Zo(u),t)}forRange(u,t,i,n,f=this.opts.es5?$t.varKinds.var:$t.varKinds.let){let r=this._scope.toName(u);return this._for(new Qo(f,r,t,i),()=>n(r))}forOf(u,t,i,n=$t.varKinds.const){let f=this._scope.toName(u);if(this.opts.es5){let r=t instanceof oe.Name?t:this.var("_arr",t);return this.forRange("_i",0,(0,oe._)`${r}.length`,o=>{this.var(f,(0,oe._)`${r}[${o}]`),i(f)})}return this._for(new zf("of",n,f,t),()=>i(f))}forIn(u,t,i,n=this.opts.es5?$t.varKinds.var:$t.varKinds.const){if(this.opts.ownProperties)return this.forOf(u,(0,oe._)`Object.keys(${t})`,i);let f=this._scope.toName(u);return this._for(new zf("in",n,f,t),()=>i(f))}endFor(){return this._endBlockNode(Wf)}label(u){return this._leafNode(new Uo(u))}break(u){return this._leafNode(new Ho(u))}return(u){let t=new w3;if(this._blockNode(t),this.code(u),t.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(w3)}try(u,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');let n=new Xo;if(this._blockNode(n),this.code(u),t){let f=this.name("e");this._currNode=n.catch=new A3(f),t(f)}return i&&(this._currNode=n.finally=new I3,this.code(i)),this._endBlockNode(A3,I3)}throw(u){return this._leafNode(new Wo(u))}block(u,t){return this._blockStarts.push(this._nodes.length),u&&this.code(u).endBlock(t),this}endBlock(u){let t=this._blockStarts.pop();if(t===void 0)throw new Error("CodeGen: not in self-balancing block");let i=this._nodes.length-t;if(i<0||u!==void 0&&i!==u)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${u} expected`);return this._nodes.length=t,this}func(u,t=oe.nil,i,n){return this._blockNode(new x3(u,t,i)),n&&this.code(n).endFunc(),this}endFunc(){return this._endBlockNode(x3)}optimize(u=1){for(;u-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(u){return this._currNode.nodes.push(u),this}_blockNode(u){this._currNode.nodes.push(u),this._nodes.push(u)}_endBlockNode(u,t){let i=this._currNode;if(i instanceof u||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${u.kind}/${t.kind}`:u.kind}"`)}_elseNode(u){let t=this._currNode;if(!(t instanceof Rf))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=u,this}get _root(){return this._nodes[0]}get _currNode(){let u=this._nodes;return u[u.length-1]}set _currNode(u){let t=this._nodes;t[t.length-1]=u}};ue.CodeGen=Yo;function Mu(e,u){for(let t in u)e[t]=(e[t]||0)+(u[t]||0);return e}function Uf(e,u){return u instanceof oe._CodeOrName?Mu(e,u.names):e}function Fi(e,u,t){if(e instanceof oe.Name)return i(e);if(!n(e))return e;return new oe._Code(e._items.reduce((f,r)=>(r instanceof oe.Name&&(r=i(r)),r instanceof oe._Code?f.push(...r._items):f.push(r),f),[]));function i(f){let r=t[f.str];return r===void 0||u[f.str]!==1?f:(delete u[f.str],r)}function n(f){return f instanceof oe._Code&&f._items.some(r=>r instanceof oe.Name&&u[r.str]===1&&t[r.str]!==void 0)}}function p9(e,u){for(let t in u)e[t]=(e[t]||0)-(u[t]||0)}function S3(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,oe._)`!${ea(e)}`}ue.not=S3;var m9=k3(ue.operators.AND);function F9(...e){return e.reduce(m9)}ue.and=F9;var C9=k3(ue.operators.OR);function g9(...e){return e.reduce(C9)}ue.or=g9;function k3(e){return(u,t)=>u===oe.nil?t:t===oe.nil?u:(0,oe._)`${ea(u)} ${e} ${ea(t)}`}function ea(e){return e instanceof oe.Name?e:(0,oe._)`(${e})`}});var ne=F(ie=>{"use strict";Object.defineProperty(ie,"__esModule",{value:!0});ie.checkStrictMode=ie.getErrorPath=ie.Type=ie.useFunc=ie.setEvaluated=ie.evaluatedPropsToName=ie.mergeEvaluated=ie.eachItem=ie.unescapeJsonPointer=ie.escapeJsonPointer=ie.escapeFragment=ie.unescapeFragment=ie.schemaRefOrVal=ie.schemaHasRulesButRef=ie.schemaHasRules=ie.checkUnknownRules=ie.alwaysValidSchema=ie.toHash=void 0;var be=ee(),h9=Cn();function E9(e){let u={};for(let t of e)u[t]=!0;return u}ie.toHash=E9;function b9(e,u){return typeof u=="boolean"?u:Object.keys(u).length===0?!0:(P3(e,u),!O3(u,e.self.RULES.all))}ie.alwaysValidSchema=b9;function P3(e,u=e.schema){let{opts:t,self:i}=e;if(!t.strictSchema||typeof u=="boolean")return;let n=i.RULES.keywords;for(let f in u)n[f]||N3(e,`unknown keyword: "${f}"`)}ie.checkUnknownRules=P3;function O3(e,u){if(typeof e=="boolean")return!e;for(let t in e)if(u[t])return!0;return!1}ie.schemaHasRules=O3;function _9(e,u){if(typeof e=="boolean")return!e;for(let t in e)if(t!=="$ref"&&u.all[t])return!0;return!1}ie.schemaHasRulesButRef=_9;function y9({topSchemaRef:e,schemaPath:u},t,i,n){if(!n){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,be._)`${t}`}return(0,be._)`${e}${u}${(0,be.getProperty)(i)}`}ie.schemaRefOrVal=y9;function v9(e){return M3(decodeURIComponent(e))}ie.unescapeFragment=v9;function B9(e){return encodeURIComponent(ua(e))}ie.escapeFragment=B9;function ua(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}ie.escapeJsonPointer=ua;function M3(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}ie.unescapeJsonPointer=M3;function x9(e,u){if(Array.isArray(e))for(let t of e)u(t);else u(e)}ie.eachItem=x9;function $3({mergeNames:e,mergeToName:u,mergeValues:t,resultToName:i}){return(n,f,r,o)=>{let a=r===void 0?f:r instanceof be.Name?(f instanceof be.Name?e(n,f,r):u(n,f,r),r):f instanceof be.Name?(u(n,r,f),f):t(f,r);return o===be.Name&&!(a instanceof be.Name)?i(n,a):a}}ie.mergeEvaluated={props:$3({mergeNames:(e,u,t)=>e.if((0,be._)`${t} !== true && ${u} !== undefined`,()=>{e.if((0,be._)`${u} === true`,()=>e.assign(t,!0),()=>e.assign(t,(0,be._)`${t} || {}`).code((0,be._)`Object.assign(${t}, ${u})`))}),mergeToName:(e,u,t)=>e.if((0,be._)`${t} !== true`,()=>{u===!0?e.assign(t,!0):(e.assign(t,(0,be._)`${t} || {}`),ia(e,t,u))}),mergeValues:(e,u)=>e===!0?!0:Z(Z({},e),u),resultToName:j3}),items:$3({mergeNames:(e,u,t)=>e.if((0,be._)`${t} !== true && ${u} !== undefined`,()=>e.assign(t,(0,be._)`${u} === true ? true : ${t} > ${u} ? ${t} : ${u}`)),mergeToName:(e,u,t)=>e.if((0,be._)`${t} !== true`,()=>e.assign(t,u===!0?!0:(0,be._)`${t} > ${u} ? ${t} : ${u}`)),mergeValues:(e,u)=>e===!0?!0:Math.max(e,u),resultToName:(e,u)=>e.var("items",u)})};function j3(e,u){if(u===!0)return e.var("props",!0);let t=e.var("props",(0,be._)`{}`);return u!==void 0&&ia(e,t,u),t}ie.evaluatedPropsToName=j3;function ia(e,u,t){Object.keys(t).forEach(i=>e.assign((0,be._)`${u}${(0,be.getProperty)(i)}`,!0))}ie.setEvaluated=ia;var T3={};function w9(e,u){return e.scopeValue("func",{ref:u,code:T3[u.code]||(T3[u.code]=new h9._Code(u.code))})}ie.useFunc=w9;var ta=function(e){return e[e.Num=0]="Num",e[e.Str=1]="Str",e}(ta||(ie.Type=ta={}));function A9(e,u,t){if(e instanceof be.Name){let i=u===ta.Num;return t?i?(0,be._)`"[" + ${e} + "]"`:(0,be._)`"['" + ${e} + "']"`:i?(0,be._)`"/" + ${e}`:(0,be._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,be.getProperty)(e).toString():"/"+ua(e)}ie.getErrorPath=A9;function N3(e,u,t=e.opts.strictSchema){if(t){if(u=`strict mode: ${u}`,t===!0)throw new Error(u);e.self.logger.warn(u)}}ie.checkStrictMode=N3});var ht=F(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});var Qe=ee(),I9={data:new Qe.Name("data"),valCxt:new Qe.Name("valCxt"),instancePath:new Qe.Name("instancePath"),parentData:new Qe.Name("parentData"),parentDataProperty:new Qe.Name("parentDataProperty"),rootData:new Qe.Name("rootData"),dynamicAnchors:new Qe.Name("dynamicAnchors"),vErrors:new Qe.Name("vErrors"),errors:new Qe.Name("errors"),this:new Qe.Name("this"),self:new Qe.Name("self"),scope:new Qe.Name("scope"),json:new Qe.Name("json"),jsonPos:new Qe.Name("jsonPos"),jsonLen:new Qe.Name("jsonLen"),jsonPart:new Qe.Name("jsonPart")};na.default=I9});var hn=F(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.extendErrors=Xe.resetErrorsCount=Xe.reportExtraError=Xe.reportError=Xe.keyword$DataError=Xe.keywordError=void 0;var se=ee(),Gf=ne(),nt=ht();Xe.keywordError={message:({keyword:e})=>(0,se.str)`must pass "${e}" keyword validation`};Xe.keyword$DataError={message:({keyword:e,schemaType:u})=>u?(0,se.str)`"${e}" keyword must be ${u} ($data)`:(0,se.str)`"${e}" keyword is invalid ($data)`};function S9(e,u=Xe.keywordError,t,i){let{it:n}=e,{gen:f,compositeRule:r,allErrors:o}=n,a=R3(e,u,t);(i!=null?i:r||o)?q3(f,a):V3(n,(0,se._)`[${a}]`)}Xe.reportError=S9;function k9(e,u=Xe.keywordError,t){let{it:i}=e,{gen:n,compositeRule:f,allErrors:r}=i,o=R3(e,u,t);q3(n,o),f||r||V3(i,nt.default.vErrors)}Xe.reportExtraError=k9;function $9(e,u){e.assign(nt.default.errors,u),e.if((0,se._)`${nt.default.vErrors} !== null`,()=>e.if(u,()=>e.assign((0,se._)`${nt.default.vErrors}.length`,u),()=>e.assign(nt.default.vErrors,null)))}Xe.resetErrorsCount=$9;function T9({gen:e,keyword:u,schemaValue:t,data:i,errsCount:n,it:f}){if(n===void 0)throw new Error("ajv implementation error");let r=e.name("err");e.forRange("i",n,nt.default.errors,o=>{e.const(r,(0,se._)`${nt.default.vErrors}[${o}]`),e.if((0,se._)`${r}.instancePath === undefined`,()=>e.assign((0,se._)`${r}.instancePath`,(0,se.strConcat)(nt.default.instancePath,f.errorPath))),e.assign((0,se._)`${r}.schemaPath`,(0,se.str)`${f.errSchemaPath}/${u}`),f.opts.verbose&&(e.assign((0,se._)`${r}.schema`,t),e.assign((0,se._)`${r}.data`,i))})}Xe.extendErrors=T9;function q3(e,u){let t=e.const("err",u);e.if((0,se._)`${nt.default.vErrors} === null`,()=>e.assign(nt.default.vErrors,(0,se._)`[${t}]`),(0,se._)`${nt.default.vErrors}.push(${t})`),e.code((0,se._)`${nt.default.errors}++`)}function V3(e,u){let{gen:t,validateName:i,schemaEnv:n}=e;n.$async?t.throw((0,se._)`new ${e.ValidationError}(${u})`):(t.assign((0,se._)`${i}.errors`,u),t.return(!1))}var ju={keyword:new se.Name("keyword"),schemaPath:new se.Name("schemaPath"),params:new se.Name("params"),propertyName:new se.Name("propertyName"),message:new se.Name("message"),schema:new se.Name("schema"),parentSchema:new se.Name("parentSchema")};function R3(e,u,t){let{createErrors:i}=e.it;return i===!1?(0,se._)`{}`:P9(e,u,t)}function P9(e,u,t={}){let{gen:i,it:n}=e,f=[O9(n,t),M9(e,t)];return j9(e,u,f),i.object(...f)}function O9({errorPath:e},{instancePath:u}){let t=u?(0,se.str)`${e}${(0,Gf.getErrorPath)(u,Gf.Type.Str)}`:e;return[nt.default.instancePath,(0,se.strConcat)(nt.default.instancePath,t)]}function M9({keyword:e,it:{errSchemaPath:u}},{schemaPath:t,parentSchema:i}){let n=i?u:(0,se.str)`${u}/${e}`;return t&&(n=(0,se.str)`${n}${(0,Gf.getErrorPath)(t,Gf.Type.Str)}`),[ju.schemaPath,n]}function j9(e,{params:u,message:t},i){let{keyword:n,data:f,schemaValue:r,it:o}=e,{opts:a,propertyName:D,topSchemaRef:l,schemaPath:p}=o;i.push([ju.keyword,n],[ju.params,typeof u=="function"?u(e):u||(0,se._)`{}`]),a.messages&&i.push([ju.message,typeof t=="function"?t(e):t]),a.verbose&&i.push([ju.schema,r],[ju.parentSchema,(0,se._)`${l}${p}`],[nt.default.data,f]),D&&i.push([ju.propertyName,D])}});var z3=F(Ci=>{"use strict";Object.defineProperty(Ci,"__esModule",{value:!0});Ci.boolOrEmptySchema=Ci.topBoolOrEmptySchema=void 0;var N9=hn(),q9=ee(),V9=ht(),R9={message:"boolean schema is false"};function L9(e){let{gen:u,schema:t,validateName:i}=e;t===!1?L3(e,!1):typeof t=="object"&&t.$async===!0?u.return(V9.default.data):(u.assign((0,q9._)`${i}.errors`,null),u.return(!0))}Ci.topBoolOrEmptySchema=L9;function z9(e,u){let{gen:t,schema:i}=e;i===!1?(t.var(u,!1),L3(e)):t.var(u,!0)}Ci.boolOrEmptySchema=z9;function L3(e,u){let{gen:t,data:i}=e,n={gen:t,keyword:"false schema",data:i,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,N9.reportError)(n,R9,void 0,u)}});var fa=F(gi=>{"use strict";Object.defineProperty(gi,"__esModule",{value:!0});gi.getRules=gi.isJSONType=void 0;var U9=["string","number","integer","boolean","null","object","array"],H9=new Set(U9);function W9(e){return typeof e=="string"&&H9.has(e)}gi.isJSONType=W9;function G9(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:Ee(Z({},e),{integer:!0,boolean:!0,null:!0}),rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}gi.getRules=G9});var ra=F(Du=>{"use strict";Object.defineProperty(Du,"__esModule",{value:!0});Du.shouldUseRule=Du.shouldUseGroup=Du.schemaHasRulesForType=void 0;function K9({schema:e,self:u},t){let i=u.RULES.types[t];return i&&i!==!0&&U3(e,i)}Du.schemaHasRulesForType=K9;function U3(e,u){return u.rules.some(t=>H3(e,t))}Du.shouldUseGroup=U3;function H3(e,u){var t;return e[u.keyword]!==void 0||((t=u.definition.implements)===null||t===void 0?void 0:t.some(i=>e[i]!==void 0))}Du.shouldUseRule=H3});var En=F(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.reportTypeError=Ye.checkDataTypes=Ye.checkDataType=Ye.coerceAndCheckDataType=Ye.getJSONTypes=Ye.getSchemaTypes=Ye.DataType=void 0;var J9=fa(),Z9=ra(),Q9=hn(),te=ee(),W3=ne(),hi=function(e){return e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong",e}(hi||(Ye.DataType=hi={}));function X9(e){let u=G3(e.type);if(u.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!u.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&u.push("null")}return u}Ye.getSchemaTypes=X9;function G3(e){let u=Array.isArray(e)?e:e?[e]:[];if(u.every(J9.isJSONType))return u;throw new Error("type must be JSONType or JSONType[]: "+u.join(","))}Ye.getJSONTypes=G3;function Y9(e,u){let{gen:t,data:i,opts:n}=e,f=ey(u,n.coerceTypes),r=u.length>0&&!(f.length===0&&u.length===1&&(0,Z9.schemaHasRulesForType)(e,u[0]));if(r){let o=aa(u,i,n.strictNumbers,hi.Wrong);t.if(o,()=>{f.length?ty(e,u,f):Da(e)})}return r}Ye.coerceAndCheckDataType=Y9;var K3=new Set(["string","number","integer","boolean","null"]);function ey(e,u){return u?e.filter(t=>K3.has(t)||u==="array"&&t==="array"):[]}function ty(e,u,t){let{gen:i,data:n,opts:f}=e,r=i.let("dataType",(0,te._)`typeof ${n}`),o=i.let("coerced",(0,te._)`undefined`);f.coerceTypes==="array"&&i.if((0,te._)`${r} == 'object' && Array.isArray(${n}) && ${n}.length == 1`,()=>i.assign(n,(0,te._)`${n}[0]`).assign(r,(0,te._)`typeof ${n}`).if(aa(u,n,f.strictNumbers),()=>i.assign(o,n))),i.if((0,te._)`${o} !== undefined`);for(let D of t)(K3.has(D)||D==="array"&&f.coerceTypes==="array")&&a(D);i.else(),Da(e),i.endIf(),i.if((0,te._)`${o} !== undefined`,()=>{i.assign(n,o),uy(e,o)});function a(D){switch(D){case"string":i.elseIf((0,te._)`${r} == "number" || ${r} == "boolean"`).assign(o,(0,te._)`"" + ${n}`).elseIf((0,te._)`${n} === null`).assign(o,(0,te._)`""`);return;case"number":i.elseIf((0,te._)`${r} == "boolean" || ${n} === null
3
3
  || (${r} == "string" && ${n} && ${n} == +${n})`).assign(o,(0,te._)`+${n}`);return;case"integer":i.elseIf((0,te._)`${r} === "boolean" || ${n} === null
4
4
  || (${r} === "string" && ${n} && ${n} == +${n} && !(${n} % 1))`).assign(o,(0,te._)`+${n}`);return;case"boolean":i.elseIf((0,te._)`${n} === "false" || ${n} === 0 || ${n} === null`).assign(o,!1).elseIf((0,te._)`${n} === "true" || ${n} === 1`).assign(o,!0);return;case"null":i.elseIf((0,te._)`${n} === "" || ${n} === 0 || ${n} === false`),i.assign(o,null);return;case"array":i.elseIf((0,te._)`${r} === "string" || ${r} === "number"
@@ -20,10 +20,10 @@ Should be: [ [ object1, pointer1 ], [ object 2, pointer2 ], etc... ]`),n}}static
20
20
  `;t.source.postMessage({action:"inline-style",style:o},t.origin)})}getConfigBlocks(){return this.pluginConfig}updateConfigBlocks(t){for(let i of t)i[this.pluginType]=this.pluginAlias;this.pluginConfig=t}schemaFormUpdated(){if(!(!this.iframe||!this.iframe.contentWindow)){if(this.schemaFormRecentlyRefreshed){this.schemaFormRecentlyRefreshed=!1;return}this.schemaFormRecentlyUpdated=!0,this.iframe.contentWindow.postMessage({action:"stream",event:"configChanged",data:this.pluginConfig},ru.api.origin)}}schemaFormRefresh(){if(this.schemaFormRecentlyUpdated){this.schemaFormRecentlyUpdated=!1;return}this.schemaFormRecentlyRefreshed=!0,this.showSchemaForm&&(this.showSchemaForm=!1,setTimeout(()=>{this.showSchemaForm=!0}))}formCreate(t,i,n,f,r){return W(this,null,function*(){yield this.formEnd(),this.formId=t,this.formSchema=i,this.formData=n,this.formSubmitButtonLabel=f,this.formCancelButtonLabel=r})}formEnd(){return W(this,null,function*(){this.formId&&(this.formId=void 0,this.formSchema=void 0,this.formData=void 0,this.formSubmitButtonLabel=void 0,this.formCancelButtonLabel=void 0,yield new Promise(t=>setTimeout(t)))})}formUpdated(t){this.iframe.contentWindow.postMessage({action:"stream",event:this.formId,data:{formEvent:"change",formData:t}},ru.api.origin)}formValidEvent(t){this.formValid=t}formActionEvent(t){this.iframe.contentWindow.postMessage({action:"stream",event:this.formId,data:{formEvent:t,formData:this.formData}},ru.api.origin)}handleGetCachedAccessories(t){return W(this,null,function*(){let i=yield fe(this.$api.get("/server/cached-accessories"));return this.requestResponse(t,i.filter(n=>n.plugin===this.plugin.name))})}savePluginConfig(t=!1){return W(this,null,function*(){var i;this.saveInProgress=!0;try{let n=yield fe(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig));if(this.saveInProgress=!1,t){if(this.isFirstSave&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&((i=n[0])!=null&&i.platform)){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&this.$settings.env.serviceMode&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let f=this.$modal.open(fi,{size:"lg",backdrop:"static"});f.componentInstance.bridges=this.childBridges.map(r=>({name:r.name,username:r.username}));return}this.$activeModal.close(),this.$modal.open(St,{size:"lg",backdrop:"static"})}}catch(n){this.saveInProgress=!1,console.error(n),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}getChildBridges(){return W(this,null,function*(){try{(yield fe(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}onIsValid(t){this.formIsValid=t}ngOnDestroy(){window.removeEventListener("message",this.handleMessage),this.io.end(),this.schemaFormRefreshSubject.complete(),this.schemaFormUpdatedSubject.complete(),this.formUpdatedSubject.complete()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],viewQuery:function(i,n){i&1&&df(n.customPluginUiElementTarget,ZM,5),i&2&&cf()},inputs:{plugin:"plugin",schema:"schema",pluginConfig:"pluginConfig"},decls:26,vars:17,consts:[["custompluginui",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body","pb-0",2,"min-height","110px"],[1,"text-center","primary-text"],["width","100%","height","1px;","sandbox","allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-downloads allow-forms",2,"border","0"],[1,"card","card-body"],[1,"loading-overlay","text-center","primary-text","d-flex","align-items-center","justify-content-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right","d-flex","align-items-center","justify-content-end"],["container","modal","placement","top","openDelay","150","triggers","hover",1,"fa","fa-fw","fa-xl",3,"ngClass","ngbTooltip"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[3,"dataChange","dataChanged","isValid","configSchema","data"],[1,"text-right","custom-form-action-buttons"],[1,"btn","btn-elegant"],[1,"btn","btn-primary",3,"disabled"],[1,"btn","btn-elegant",3,"click"],[1,"btn","btn-primary",3,"click","disabled"]],template:function(i,n){if(i&1){let f=z();d(0,"div",1)(1,"div",2)(2,"h5",3),g(3),c(),d(4,"button",4),_(5,"translate"),P("click",function(){return N(f),q(n.$activeModal.dismiss("Dismiss"))}),d(6,"span",5),g(7,"\xD7"),c()()(),d(8,"div",6),S(9,QM,2,0,"div",7),w(10,"iframe",8,0),S(12,XM,2,2,"div",9)(13,tj,5,4,"div",9)(14,uj,2,0,"div",10),c(),d(15,"div",11)(16,"div",12)(17,"button",13),P("click",function(){return N(f),q(n.$activeModal.dismiss("Dismiss"))}),g(18),_(19,"translate"),c()(),w(20,"div",14),d(21,"div",15),S(22,ij,2,4,"i",16),d(23,"button",17),P("click",function(){return N(f),q(n.savePluginConfig(!0))}),S(24,nj,2,3)(25,fj,1,0,"i",18),c()()()()}i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),h("disabled",n.saveInProgress),H("aria-label",B(5,13,"form.button_close")),s(5),x(n.loading?9:-1),s(3),x(n.uiLoaded&&n.pluginConfig.length&&n.schema.singular&&n.showSchemaForm?12:-1),s(),x(n.formId?13:-1),s(),x(n.pluginSpinner?14:-1),s(3),h("disabled",n.saveInProgress),s(),j(" ",B(19,15,"form.button_close")," "),s(4),x(n.saveButtonDisabled?-1:22),s(),h("disabled",n.saveInProgress||n.saveButtonDisabled),s(),x(n.saveInProgress?-1:24),s(),x(n.saveInProgress?25:-1))},dependencies:[Ki,ti,Ct,ge],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}.loading-overlay[_ngcontent-%COMP%]{position:absolute;top:16px;left:16px;right:16px;bottom:16px;background-color:#ffffffb3} body.dark-mode .loading-overlay{background-color:#242424b3}.custom-form-action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:2px}"]})}return e})();var fC=Oe(nC(),1);var Ji=(()=>{class e{el=k(nf);constructor(){}ngOnInit(){this.el.nativeElement.querySelectorAll("a").forEach(n=>{n.target="_blank",n.rel="noopener noreferrer"});let i=new fC.EmojiConvertor;this.el.nativeElement.innerHTML=i.replace_colons(this.el.nativeElement.innerHTML)}static \u0275fac=function(i){return new(i||e)};static \u0275dir=Gu({type:e,selectors:[["markdown"]]})}return e})();var rj=e=>({link:e});function oj(e,u){if(e&1&&(d(0,"div",6),w(1,"p",11),_(2,"translate"),c()),e&2){let t=C();s(),h("innerHTML",Ve(2,1,"accessories.message_must_use_insecure_mode",At(4,rj,t.linkInsecure)),ae)}}function aj(e,u){e&1&&(d(0,"p"),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"plugins.settings.custom.homebridge-gsh.message_account_link_required")))}function Dj(e,u){if(e&1){let t=z();d(0,"div",12)(1,"button",14),P("click",function(){N(t);let n=C(2);return q(n.linkAccount())}),g(2),_(3,"translate"),c()()}e&2&&(s(2),j(" ",B(3,1,"plugins.settings.custom.homebridge-gsh.label_link_account")," "))}function sj(e,u){e&1&&(d(0,"div",17)(1,"p",18)(2,"strong"),g(3),_(4,"translate"),c()()()),e&2&&(s(3),R(B(4,1,"plugins.settings.custom.homebridge-gsh.message_homebridge_restart_required")))}function lj(e,u){if(e&1&&(d(0,"div",13),w(1,"i",15),d(2,"h4",16),g(3),_(4,"titlecase"),_(5,"translate"),c(),S(6,sj,5,3,"div",17),c()),e&2){let t=C(2);s(3),Wt(" ",B(4,3,t.linkType)," ",B(5,5,"plugins.settings.custom.homebridge-gsh.label_account_linked")," "),s(3),x(t.justLinked?6:-1)}}function dj(e,u){if(e&1&&w(0,"markdown",19),e&2){let t=C(3);h("data",t.schema.footerDisplay)}}function cj(e,u){if(e&1){let t=z();d(0,"div",17),S(1,dj,1,1,"markdown",19),c(),d(2,"div",20)(3,"app-schema-form",21),we("dataChange",function(n){N(t);let f=C(2);return xe(f.gshConfig,n)||(f.gshConfig=n),q(n)}),c()()}if(e&2){let t=C(2);s(),x(t.schema.footerDisplay?1:-1),s(2),h("configSchema",t.schema),Be("data",t.gshConfig)}}function pj(e,u){if(e&1&&(d(0,"p"),g(1),_(2,"translate"),c(),S(3,aj,3,3,"p")(4,Dj,4,3,"div",12)(5,lj,7,7,"div",13)(6,cj,4,3)),e&2){let t=C();s(),R(B(2,5,"plugins.settings.custom.homebridge-gsh.message_about")),s(2),x(t.gshConfig.token?-1:3),s(),x(t.gshConfig.token?-1:4),s(),x(t.gshConfig.token?5:-1),s(),x(t.gshConfig&&t.gshConfig.token?6:-1)}}function mj(e,u){if(e&1){let t=z();d(0,"button",22),P("click",function(){N(t);let n=C();return q(n.unlinkAccount())}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"plugins.settings.custom.homebridge-gsh.label_unlink_account")," "))}function Fj(e,u){if(e&1){let t=z();d(0,"button",23),P("click",function(){N(t);let n=C();return q(n.saveAndClose())}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"form.button_save")," "))}var oC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$jwtHelper=k(Us);$settings=k($e);$toastr=k(ce);$translate=k(de);plugin;schema;pluginConfig;justLinked=!1;gshConfig;linkType;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt"></i></a>';linkDomain="https://homebridge-gsh.iot.oz.nu";linkUrl=`${this.linkDomain}/link-account`;popup;originCheckInterval;constructor(){window.addEventListener("message",this.windowMessageListener,!1)}ngOnInit(){this.pluginConfig.length||this.pluginConfig.push({name:"Google Smart Home",platform:this.schema.pluginAlias}),this.gshConfig=this.pluginConfig[0],this.parseToken()}windowMessageListener=t=>{t.origin!==this.linkDomain&&(console.error("Refusing to process message from",t.origin),console.error(t));try{let i=JSON.parse(t.data);i.token&&this.processToken(i.token)}catch(i){console.error(i)}};linkAccount(){let n=window.top.outerHeight/2+window.top.screenY-350,f=window.top.outerWidth/2+window.top.screenX-450/2;this.popup=window.open(this.linkUrl,"oznu-google-smart-home-auth",`toolbar=no, location=no, directories=no, status=no, menubar=no scrollbars=no, resizable=no, copyhistory=no, width=450, height=700, top=${n}, left=${f}`),this.originCheckInterval=setInterval(()=>{this.popup.postMessage("origin-check",this.linkDomain)},2e3)}unlinkAccount(){this.gshConfig={name:"Google Smart Home",platform:this.schema.pluginAlias},this.pluginConfig.splice(0,this.pluginConfig.length),this.saveConfig()}processToken(t){clearInterval(this.originCheckInterval),this.popup&&this.popup.close(),this.gshConfig.token=t,this.gshConfig.notice="Keep your token a secret!",this.pluginConfig.length||this.pluginConfig.push(this.gshConfig),this.parseToken(),this.saveConfig()}parseToken(){if(this.gshConfig.token)try{let t=this.$jwtHelper.decodeToken(this.gshConfig.token);this.linkType=t.id.split("|")[0].split("-")[0]}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.custom.homebridge-gsh.message_invalid_token"),this.$translate.instant("toast.title_error")),delete this.gshConfig.token}}saveConfig(){return W(this,null,function*(){try{yield fe(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig)),this.justLinked=!0,this.$toastr.success(this.$translate.instant("plugins.settings.restart_required"),this.$translate.instant("plugins.settings.plugin_config_saved"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}saveAndClose(){return W(this,null,function*(){this.gshConfig.platform=this.schema.pluginAlias,this.pluginConfig[0]=this.gshConfig,yield this.saveConfig(),this.$activeModal.close()})}close(){this.$activeModal.close()}ngOnDestroy(){clearInterval(this.originCheckInterval),window.removeEventListener("message",this.windowMessageListener),this.popup&&this.popup.close()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["app-homebridge-google-smarthome"]],inputs:{plugin:"plugin",schema:"schema",pluginConfig:"pluginConfig"},decls:17,vars:10,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],["role","alert",1,"alert","alert-warning"],[1,"modal-footer"],["type","button","data-dismiss","modal",1,"btn","btn-elegant","mr-auto"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-primary"],[1,"mb-0",3,"innerHTML"],[1,"text-center"],[1,"text-center","mt-1"],[1,"btn","btn-primary","btn-lg",3,"click"],[1,"fas","fa-fw","fa-check-circle","primary-text",2,"font-size","50px"],[1,"mt-2"],[1,"mt-3"],[1,"primary-text"],[1,"plugin-md",3,"data"],[1,"card","p-2","pt-3","mt-4"],[3,"dataChange","configSchema","data"],["type","button","data-dismiss","modal",1,"btn","btn-elegant","mr-auto",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3,"Homebridge Google Smart Home"),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(6,"span",4),g(7,"\xD7"),c()()(),d(8,"div",5),S(9,oj,3,6,"div",6)(10,pj,7,7),c(),d(11,"div",7),S(12,mj,3,3,"button",8),d(13,"button",9),P("click",function(){return n.close()}),g(14),_(15,"translate"),c(),S(16,Fj,3,3,"button",10),c()()),i&2&&(s(4),H("aria-label",B(5,6,"form.button_close")),s(5),x(n.$settings.env.enableAccessories?-1:9),s(),x(n.$settings.env.enableAccessories?10:-1),s(2),x(n.gshConfig.token?12:-1),s(2),j(" ",B(15,8,"form.button_close")," "),s(2),x(n.gshConfig.token?16:-1))},dependencies:[ni,ii,Ji,Ki,Ps,ge],encapsulation:2})}return e})();var aC=(()=>{class e{$api=k(De);$modal=k(Ue);plugins={"homebridge-gsh":oC};constructor(){}openSettings(t,i){return W(this,null,function*(){let n=yield this.loadPluginConfig(t.name),f=this.$modal.open(this.plugins[t.name],{size:"lg",backdrop:"static"});return f.componentInstance.plugin=t,f.componentInstance.schema=i,f.componentInstance.pluginConfig=n,f.result.catch(()=>{})})}openCustomSettingsUi(t,i){return W(this,null,function*(){let n=yield this.loadPluginConfig(t.name),f=this.$modal.open(iC,{size:"lg",backdrop:"static"});return f.componentInstance.plugin=t,f.componentInstance.schema=i,f.componentInstance.pluginConfig=n,f.result.catch(()=>{})})}loadPluginConfig(t){return W(this,null,function*(){return fe(this.$api.get(`/config-editor/plugin/${encodeURIComponent(t)}`))})}static \u0275fac=function(i){return new(i||e)};static \u0275prov=Bt({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var cC=Oe(tn(),1);var pC=Oe(Hs(),1),mC=Oe(Ws(),1);function Cj(e,u){e&1&&(d(0,"div",6),w(1,"i",13),c())}function gj(e,u){e&1&&(d(0,"div",16),w(1,"i",17),c(),d(2,"ul",18)(3,"li"),g(4," All your plugins are marked as compatible with the new version of Homebridge. You are all set to continue below. "),c()())}function hj(e,u){e&1&&(d(0,"div",16),w(1,"i",19),c(),d(2,"ul",18)(3,"li"),g(4,"Some of your plugins are not explicitly marked as compatible with the new version of Homebridge."),c(),d(5,"li"),g(6," This does "),d(7,"span",20),g(8,"not"),c(),g(9," necessarily mean that they won't work. We just can't guarantee that they will. "),c(),d(10,"li"),g(11," For more information about this update, please see the "),d(12,"a",21),g(13,"wiki page"),c(),g(14,". "),c(),d(15,"li"),g(16,"To ignore this warning and continue with the update, click continue below."),c()())}function Ej(e,u){e&1&&w(0,"i",22)}function bj(e,u){e&1&&w(0,"i",23)}function _j(e,u){if(e&1&&(d(0,"li",15),g(1),S(2,Ej,1,0,"i",22)(3,bj,1,0,"i",23),c()),e&2){let t=u.$implicit;s(),j(" ",t.displayName," "),s(),x(t.hb2Ready==="supported"?2:-1),s(),x(t.hb2Ready==="unknown"?3:-1)}}function yj(e,u){if(e&1&&(S(0,gj,5,0)(1,hj,17,0),d(2,"ul",14),We(3,_j,4,3,"li",15,He),c()),e&2){let t=C();x(t.allPluginsSupported?0:-1),s(),x(t.allPluginsSupported?-1:1),s(2),Ge(t.installedPlugins)}}var DC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$settings=k($e);$toastr=k(ce);$translate=k(de);loading=!0;installedPlugins=[];allPluginsSupported=!0;constructor(){}ngOnInit(){this.loadInstalledPlugins()}loadInstalledPlugins(){return W(this,null,function*(){this.installedPlugins=[],this.loading=!0;let t=this.$settings.env.homebridgeVersion.split(".")[0];try{let i=yield fe(this.$api.get("/plugins"));this.installedPlugins=i.filter(n=>n.name!=="homebridge-config-ui-x").map(n=>{var o,a;let f=((a=(o=n.engines)==null?void 0:o.homebridge)==null?void 0:a.split("||").map(D=>D.trim()))||[],r=t==="2"?"hide":f.some(D=>D.startsWith("^2")||D.startsWith(">=2"))?"supported":"unknown";return r==="unknown"&&(this.allPluginsSupported=!1),Ee(Z({},n),{hb2Ready:r})}),this.installedPlugins.length===0&&this.$activeModal.close("update"),this.loading=!1}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],decls:22,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"w-100","text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-check-circle","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"fas","fa-fw","fa-info-circle","primary-text",2,"font-size","75px"],[1,"font-weight-bold"],["href","https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0","target","_blank"],["aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.0",1,"fas","fa-check-circle","green-text","fa-xl","ml-2"],["aria-label","The developer has not specifically marked this plugin as compatible with Homebridge v2.0, but it may still work.",1,"fas","fa-question-circle","orange-text","fa-xl","ml-2"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3,"Homebridge v2 Update"),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.close("Dismiss")}),d(6,"span",4),g(7,"\xD7"),c()()(),d(8,"div",5),S(9,Cj,2,0,"div",6)(10,yj,5,2),c(),d(11,"div",7)(12,"div",8)(13,"button",9),_(14,"translate"),P("click",function(){return n.$activeModal.close("Dismiss")}),g(15),_(16,"translate"),c()(),w(17,"div",10),d(18,"div",11)(19,"button",12),P("click",function(){return n.$activeModal.close("update")}),g(20),_(21,"translate"),c()()()()),i&2&&(s(4),H("aria-label",B(5,7,"form.button_close")),s(5),x(n.loading?9:-1),s(),x(n.loading?-1:10),s(3),H("aria-label",B(14,9,"form.button_close")),s(2),j(" ",B(16,11,"form.button_close")," "),s(4),h("disabled",n.loading),s(),j(" ",B(21,13,"plugins.node_update.continue")," "))},dependencies:[ge],encapsulation:2})}return e})();var sC=Oe(tn(),1);var vj=["pluginlogoutput"],lC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$log=k(Zs);$modal=k(Ue);$toastr=k(ce);$translate=k(de);plugin;termTarget=of("pluginlogoutput");resizeEvent=new ct;pluginAlias;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){this.getPluginLog()}getPluginLog(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{var i;this.pluginAlias=this.plugin.name==="homebridge-config-ui-x"?"Homebridge UI":((i=t[0])==null?void 0:i.name)||this.plugin.name,this.$log.startTerminal(this.termTarget(),{},this.resizeEvent,this.pluginAlias)},error:t=>{console.error(t),this.$toastr.error(t.error.message||t.message,this.$translate.instant("toast.title_error")),this.$activeModal.dismiss()}})}downloadLogFile(){let t=this.$modal.open(Gs,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download?colour=yes",{observe:"response",responseType:"text"}).subscribe({next:i=>{if(!i.body)return;let n=i.body.split(`
21
21
  `),f="",r=!1;n.forEach(o=>{if(o){if(r)if(o.match(/36m\[.*?\]/))r=!1;else{f+=`${o.replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"")}\r
22
22
  `;return}o.includes(`36m[${this.pluginAlias}]`)&&(f+=`${o.replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"")}\r
23
- `,r=!0)}}),(0,sC.saveAs)(new Blob([f],{type:"text/plain;charset=utf-8"}),`${this.plugin.name}.log.txt`)},error:i=>W(this,null,function*(){let n;try{n=JSON.parse(yield i.error.text()).message}catch(f){console.error(f)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}ngOnDestroy(){this.$log.destroyTerminal()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],viewQuery:function(i,n){i&1&&df(n.termTarget,vj,5),i&2&&cf()},hostBindings:function(i,n){i&1&&P("resize",function(r){return n.onWindowResize(r)},!1,xs)},inputs:{plugin:"plugin"},decls:22,vars:13,consts:[["pluginlogoutput",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","d-flex","flex-row","flex-grow-1","w-100","p-0"],[1,"w-100","bg-black","plugin-log-output","terminal","align-self-end","w-100","h-100","mb-0","p-2"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){if(i&1){let f=z();d(0,"div",1)(1,"div",2)(2,"h5",3),g(3),c(),d(4,"button",4),_(5,"translate"),P("click",function(){return N(f),q(n.$activeModal.dismiss("Dismiss"))}),d(6,"span",5),g(7,"\xD7"),c()()(),d(8,"div",6),w(9,"div",7,0),c(),d(11,"div",8)(12,"div",9)(13,"button",10),_(14,"translate"),P("click",function(){return N(f),q(n.$activeModal.dismiss("Dismiss"))}),g(15),_(16,"translate"),c()(),w(17,"div",11),d(18,"div",12)(19,"button",13),P("click",function(){return N(f),q(n.downloadLogFile())}),g(20),_(21,"translate"),c()()()()}i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),H("aria-label",B(5,5,"form.button_close")),s(9),H("aria-label",B(14,7,"form.button_close")),s(2),j(" ",B(16,9,"form.button_close")," "),s(5),R(B(21,11,"form.button_download")))},dependencies:[ge],encapsulation:2})}return e})();var Bj=(e,u)=>({pluginName:e,targetVersion:u}),dC=()=>["homebridge","homebridge-config-ui-x"],FC=(e,u,t,i)=>({"fa-arrow-alt-circle-down":e,"fa-code-compare":u,"fa-arrow-alt-circle-up":t,"fa-trash":i});function xj(e,u){e&1&&(d(0,"p",13),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"restart.homebridge")))}function wj(e,u){e&1&&(d(0,"p",13),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"restart.child_bridges")))}function Aj(e,u){if(e&1&&S(0,xj,3,3,"p",13)(1,wj,3,3,"p",13),e&2){let t=C(3);x(Ne(2,dC).includes(t.pluginName)||t.childBridges.length===0?0:-1),s(),x(!Ne(3,dC).includes(t.pluginName)&&t.childBridges.length>0?1:-1)}}function Ij(e,u){if(e&1&&(d(0,"div",12),w(1,"markdown",14),c()),e&2){let t=C(3);s(),h("data",t.changeLog)}}function Sj(e,u){if(e&1&&(d(0,"div",9),w(1,"i",10),c(),d(2,"h6",11),g(3),_(4,"translate"),c(),S(5,Aj,2,4)(6,Ij,2,1,"div",12)),e&2){let t=C(2);s(3),j(" ",Ve(4,3,"plugins.manage.thanks_for_updating",Au(6,Bj,t.pluginName,t.targetVersion))," "),s(2),x(t.isDisabled?-1:5),s(),x(t.changeLog?6:-1)}}function kj(e,u){if(e&1&&(d(0,"div",6),S(1,Sj,7,9),c()),e&2){let t=C();s(),x(t.justUpdatedPlugin?1:-1)}}function $j(e,u){e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"plugins.manage.manual_update_command")))}function Tj(e,u){if(e&1&&(d(0,"pre",17),g(1),c()),e&2){let t=C(2);s(),Wt(`hb-service stop
23
+ `,r=!0)}}),(0,sC.saveAs)(new Blob([f],{type:"text/plain;charset=utf-8"}),`${this.plugin.name}.log.txt`)},error:i=>W(this,null,function*(){let n;try{n=JSON.parse(yield i.error.text()).message}catch(f){console.error(f)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}ngOnDestroy(){this.$log.destroyTerminal()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],viewQuery:function(i,n){i&1&&df(n.termTarget,vj,5),i&2&&cf()},hostBindings:function(i,n){i&1&&P("resize",function(r){return n.onWindowResize(r)},!1,xs)},inputs:{plugin:"plugin"},decls:22,vars:13,consts:[["pluginlogoutput",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","d-flex","flex-row","flex-grow-1","w-100","p-0"],[1,"w-100","bg-black","plugin-log-output","terminal","align-self-end","w-100","h-100","mb-0","p-2"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-right"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){if(i&1){let f=z();d(0,"div",1)(1,"div",2)(2,"h5",3),g(3),c(),d(4,"button",4),_(5,"translate"),P("click",function(){return N(f),q(n.$activeModal.dismiss("Dismiss"))}),d(6,"span",5),g(7,"\xD7"),c()()(),d(8,"div",6),w(9,"div",7,0),c(),d(11,"div",8)(12,"div",9)(13,"button",10),_(14,"translate"),P("click",function(){return N(f),q(n.$activeModal.dismiss("Dismiss"))}),g(15),_(16,"translate"),c()(),w(17,"div",11),d(18,"div",12)(19,"button",13),P("click",function(){return N(f),q(n.downloadLogFile())}),g(20),_(21,"translate"),c()()()()}i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),H("aria-label",B(5,5,"form.button_close")),s(9),H("aria-label",B(14,7,"form.button_close")),s(2),j(" ",B(16,9,"form.button_close")," "),s(5),R(B(21,11,"form.button_download")))},dependencies:[ge],encapsulation:2})}return e})();var Bj=(e,u)=>({pluginName:e,targetVersion:u}),dC=()=>["homebridge","homebridge-config-ui-x"],FC=(e,u,t,i)=>({"fa-arrow-alt-circle-down":e,"fa-code-compare":u,"fa-arrow-alt-circle-up":t,"fa-trash":i});function xj(e,u){e&1&&(d(0,"p",13),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"plugins.settings.restart_required")))}function wj(e,u){e&1&&(d(0,"p",13),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"restart.child_bridges")))}function Aj(e,u){if(e&1&&S(0,xj,3,3,"p",13)(1,wj,3,3,"p",13),e&2){let t=C(3);x(Ne(2,dC).includes(t.pluginName)||t.childBridges.length===0?0:-1),s(),x(!Ne(3,dC).includes(t.pluginName)&&t.childBridges.length>0?1:-1)}}function Ij(e,u){if(e&1&&(d(0,"div",12),w(1,"markdown",14),c()),e&2){let t=C(3);s(),h("data",t.changeLog)}}function Sj(e,u){if(e&1&&(d(0,"div",9),w(1,"i",10),c(),d(2,"h6",11),g(3),_(4,"translate"),c(),S(5,Aj,2,4)(6,Ij,2,1,"div",12)),e&2){let t=C(2);s(3),j(" ",Ve(4,3,"plugins.manage.thanks_for_updating",Au(6,Bj,t.pluginName,t.targetVersion))," "),s(2),x(t.isDisabled?-1:5),s(),x(t.changeLog?6:-1)}}function kj(e,u){if(e&1&&(d(0,"div",6),S(1,Sj,7,9),c()),e&2){let t=C();s(),x(t.justUpdatedPlugin?1:-1)}}function $j(e,u){e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"plugins.manage.manual_update_command")))}function Tj(e,u){if(e&1&&(d(0,"pre",17),g(1),c()),e&2){let t=C(2);s(),Wt(`hb-service stop
24
24
  npm install -g `,t.pluginName,"@",t.targetVersion,`
25
25
  hb-service start`)}}function Pj(e,u){if(e&1&&(d(0,"div",7)(1,"div",9),w(2,"i",15),c(),d(3,"ul",16)(4,"li"),g(5),_(6,"translate"),c(),S(7,$j,3,3,"li"),c(),S(8,Tj,2,2,"pre",17),c()),e&2){let t=C();s(2),h("ngClass",Ju(6,FC,t.action==="Install",t.action==="Update"&&t.installedVersion,t.action==="Update"&&!t.installedVersion,t.action==="Uninstall")),s(3),R(B(6,4,"plugins.manage.online_updates")),s(2),x(t.$settings.env.serviceMode?7:-1),s(),x(t.$settings.env.serviceMode?8:-1)}}function Oj(e,u){if(e&1&&(d(0,"span"),g(1),c()),e&2){let t=C(3);s(),j("v",t.installedVersion," \u2192 ")}}function Mj(e,u){if(e&1&&g(0),e&2){let t=C(3);j(" ",t.release.name," ")}}function jj(e,u){if(e&1&&g(0),e&2){let t=C(3);j(" v",t.latestVersion," ")}}function Nj(e,u){if(e&1&&(d(0,"h6",9),S(1,Oj,2,1,"span")(2,Mj,1,1)(3,jj,1,1),c()),e&2){let t=C(2);s(),x(t.installedVersion?1:-1),s(),x(t.release.name?2:-1),s(),x(t.release.name?-1:3)}}function qj(e,u){if(e&1&&(d(0,"div",6)(1,"div",9),w(2,"i",18),c(),S(3,Nj,4,3,"h6",9),d(4,"div",12),w(5,"markdown",14),c()()),e&2){let t=C();s(2),h("ngClass",Ju(3,FC,t.action==="Install"&&!t.installedVersion,t.action==="Install"&&t.installedVersion,t.action==="Update",t.action==="Uninstall")),s(),x(t.release.name||t.latestVersion?3:-1),s(2),h("data",t.release.changelog)}}function Vj(e,u){if(e&1){let t=z();d(0,"button",25),_(1,"translate"),P("click",function(){N(t);let n=C(2);return q(n.$activeModal.dismiss("Dismiss"))}),g(2),_(3,"translate"),c()}e&2&&(H("aria-label",B(1,2,"form.button_close")),s(2),j(" ",B(3,4,"form.button_close")," "))}function Rj(e,u){if(e&1){let t=z();d(0,"button",25),_(1,"translate"),P("click",function(){N(t);let n=C(2);return q(n.$activeModal.dismiss("Dismiss"))}),g(2),_(3,"translate"),c()}e&2&&(H("aria-label",B(1,2,"form.button_close")),s(2),j(" ",B(3,4,"form.button_close")," "))}function Lj(e,u){if(e&1){let t=z();d(0,"button",26),P("click",function(){N(t);let n=C(2);return q(n.update())}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"plugins.button_update")," "))}function zj(e,u){if(e&1){let t=z();d(0,"button",26),P("click",function(){N(t);let n=C(2);return q(!["homebridge","homebridge-config-ui-x"].includes(n.pluginName)&&n.childBridges.length>0?n.onRestartChildBridgeClick():n.onRestartHomebridgeClick())}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"menu.tooltip_restart")," "))}function Uj(e,u){if(e&1){let t=z();d(0,"button",27),P("click",function(){N(t);let n=C(2);return q(n.downloadLogFile())}),g(1),_(2,"translate"),c()}e&2&&(s(),R(B(2,1,"form.button_download")))}function Hj(e,u){if(e&1&&(d(0,"div",8)(1,"div",19),S(2,Vj,4,6,"button",20),c(),d(3,"div",21),S(4,Rj,4,6,"button",20),c(),d(5,"div",22),S(6,Lj,3,3,"button",23)(7,zj,3,3,"button",23)(8,Uj,3,3,"button",24),c()()),e&2){let t=C();s(2),x(!t.justUpdatedPlugin&&t.onlineUpdateOk||t.justUpdatedPlugin&&(!t.isDisabled||t.actionFailed)?2:-1),s(2),x(t.justUpdatedPlugin&&t.isDisabled&&!t.actionFailed||!t.onlineUpdateOk?4:-1),s(2),x(t.onlineUpdateOk&&t.showReleaseNotes?6:-1),s(),x(t.justUpdatedPlugin&&!t.isDisabled?7:-1),s(),x(t.actionFailed?8:-1)}}var Zi=(()=>{class e{$activeModal=k(Ce);$api=k(De);$modal=k(Ue);$router=k(qt);$settings=k($e);$toastr=k(ce);$translate=k(de);$ws=k(ui);pluginName;pluginDisplayName;targetVersion="latest";latestVersion;installedVersion;isDisabled;action;actionComplete=!1;actionFailed=!1;showReleaseNotes=!1;justUpdatedPlugin=!1;updateToBeta=!1;changeLog;childBridges=[];release;presentTenseVerb;pastTenseVerb;onlineUpdateOk;io;toastSuccess;term=new pC.Terminal;termTarget;fitAddon=new mC.FitAddon;errorLog="";constructor(){this.term.loadAddon(this.fitAddon)}ngOnInit(){switch(this.io=this.$ws.connectToNamespace("plugins"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",t=>{this.term.write(t);let i=t.toString().replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"").trimEnd();i&&(this.errorLog+=`${i}\r
26
- `)}),this.toastSuccess=this.$translate.instant("toast.title_success"),this.onlineUpdateOk=!(["homebridge","homebridge-config-ui-x"].includes(this.pluginName)&&this.$settings.env.platform==="win32"),this.action){case"Install":this.install(),this.presentTenseVerb=this.$translate.instant("plugins.manage.install"),this.pastTenseVerb=this.$translate.instant("plugins.manage.installed");break;case"Uninstall":this.uninstall(),this.presentTenseVerb=this.$translate.instant("plugins.manage.uninstall"),this.pastTenseVerb=this.$translate.instant("plugins.manage.uninstalled");break;case"Update":switch(this.targetVersion){case"latest":this.updateToBeta=!1,this.getReleaseNotes();break;case"alpha":case"beta":case"test":this.updateToBeta=!0,this.getReleaseNotes();break;default:this.update()}this.presentTenseVerb=this.$translate.instant("plugins.manage.update"),this.pastTenseVerb=this.$translate.instant("plugins.manage.updated");break}}install(){if(this.onlineUpdateOk){if(this.pluginName==="homebridge")return this.upgradeHomebridge();this.io.request("install",{name:this.pluginName,version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(`${this.pastTenseVerb} ${this.pluginName}`,this.toastSuccess),window.location.href=`/plugins?installed=${this.pluginName}`},error:t=>{this.actionFailed=!0,console.error(t),this.$router.navigate(["/plugins"]),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}}uninstall(){this.io.request("uninstall",{name:this.pluginName,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close(),this.$router.navigate(["/plugins"]),this.$modal.open(St,{size:"lg",backdrop:"static"})},error:t=>{this.actionFailed=!0,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}update(){if(this.showReleaseNotes=!1,!!this.onlineUpdateOk){if(this.pluginName==="homebridge")return this.upgradeHomebridge();this.io.request("update",{name:this.pluginName,version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>W(this,null,function*(){try{yield Promise.all([this.getChangeLog(),this.getChildBridges()])}catch(t){console.error(t)}this.actionComplete=!0,this.justUpdatedPlugin=!0,this.$router.navigate([this.pluginName==="homebridge-config-ui-x"?"/":"/plugins"])}),error:t=>{this.actionFailed=!0,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}}upgradeHomebridge(){return W(this,null,function*(){let t="update";Number(this.installedVersion.split(".")[0])<2&&["2","alpha","beta"].includes(this.targetVersion.split(".")[0])&&(t=yield this.$modal.open(DC,{size:"lg",backdrop:"static"}).result),t==="update"?this.io.request("homebridge-update",{version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close();let i=this.$modal.open(St,{size:"lg",backdrop:"static"});i.componentInstance.fullRestart=!0},error:i=>{this.actionFailed=!0,console.error(i),this.$toastr.error(i.message,this.$translate.instant("toast.title_error")),this.$activeModal.close()}}):this.$activeModal.close()})}getChangeLog(){return W(this,null,function*(){let t=yield fe(this.$api.get(`/plugins/changelog/${encodeURIComponent(this.pluginName)}`));this.changeLog=t.changelog})}getChildBridges(){return W(this,null,function*(){if(!this.$settings.env.serviceMode)return;(yield fe(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.pluginName===i.plugin&&this.childBridges.push(i)})})}getReleaseNotes(){this.$api.get(`/plugins/release/${encodeURIComponent(this.pluginName)}`).subscribe({next:t=>{this.showReleaseNotes=!0,this.release=t},error:()=>{this.onlineUpdateOk&&this.update()}})}onRestartHomebridgeClick(){this.pluginName==="homebridge-config-ui-x"?this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{window.location.href="/restart"},error:t=>{console.error(t),window.location.href="/restart"}}):(this.$router.navigate(["/restart"]),this.$activeModal.close())}onRestartChildBridgeClick(){return W(this,null,function*(){try{for(let i of this.childBridges)yield fe(this.$api.put(`/server/restart/${i.username}`,{}));let t=this.$modal.open(lC,{size:"xl",backdrop:"static"});t.componentInstance.plugin={name:this.pluginName}}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.manage.child_bridge_restart_failed"),this.$translate.instant("toast.title_error"))}finally{this.$activeModal.close()}})}downloadLogFile(){let t=new Blob([this.errorLog],{type:"text/plain;charset=utf-8"});(0,cC.saveAs)(t,`${this.pluginName}-error.log`)}ngOnDestroy(){this.io.end()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{pluginName:"pluginName",pluginDisplayName:"pluginDisplayName",targetVersion:"targetVersion",latestVersion:"latestVersion",installedVersion:"installedVersion",isDisabled:"isDisabled",action:"action"},decls:13,vars:9,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-body","plugin-modal-body"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"mb-3","text-center"],[1,"far","fa-fw","fa-check-circle","primary-text",2,"font-size","75px"],[1,"text-center","mb-2"],[1,"alert","pt-3","px-3","pb-0","mb-0"],[1,"text-center","mb-3","grey-text"],[1,"plugin-md",3,"data"],[1,"fas","fa-fw","primary-text",2,"font-size","75px",3,"ngClass"],[1,"mb-3"],[1,"p-2","mb-0",2,"background-color","#efefef"],[1,"far","fa-fw","primary-text",2,"font-size","75px",3,"ngClass"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["type","button",1,"btn","btn-primary"],[1,"btn","btn-primary"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(6,"span",4),g(7,"\xD7"),c()()(),w(8,"div",5),S(9,kj,2,1,"div",6)(10,Pj,9,11,"div",7)(11,qj,6,8,"div",6)(12,Hj,9,5,"div",8),c()),i&2&&(s(3),R(n.pluginDisplayName),s(),H("aria-label",B(5,7,"form.button_close")),s(4),h("hidden",!n.onlineUpdateOk||n.actionComplete||n.showReleaseNotes),s(),x(n.actionComplete?9:-1),s(),x(n.onlineUpdateOk?-1:10),s(),x(n.showReleaseNotes&&!n.actionComplete&&n.onlineUpdateOk?11:-1),s(),x(!n.onlineUpdateOk||n.actionComplete||n.showReleaseNotes||n.actionFailed?12:-1))},dependencies:[ni,ii,Ji,ge,Ct],styles:[".plugin-modal-body[_ngcontent-%COMP%]{max-height:60vh;overflow-y:auto;overflow-x:hidden} .plugin-md{text-align:left;font-size:.95rem;word-wrap:break-word} .plugin-md img{max-width:100%} .plugin-md h1{font-size:1.4rem;font-weight:300} .plugin-md h2{font-size:1.3rem;font-weight:300} .plugin-md h3{font-size:1.2rem;font-weight:300} .plugin-md h4{font-size:1.1rem;font-weight:300} .plugin-md h5{font-size:1rem;font-weight:300} .plugin-md pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}"]})}return e})();var CC=Oe(ao(),1);function Wj(e,u){e&1&&(d(0,"div",6),w(1,"i",13),c())}function Gj(e,u){if(e&1&&(w(0,"i",21),d(1,"h6",22),g(2),_(3,"translate"),c(),d(4,"p",23),g(5),_(6,"translate"),d(7,"span",24),g(8),c()()),e&2){let t=C(2);s(2),R(B(3,3,"plugins.manage.select_version")),s(3),j(" ",B(6,5,"plugins.status_installed"),": "),s(3),j("v",t.plugin.installedVersion,"")}}function Kj(e,u){e&1&&(w(0,"i",25),d(1,"h6",23),g(2),_(3,"translate"),c()),e&2&&(s(2),R(B(3,1,"plugins.manage.select_version")))}function Jj(e,u){if(e&1){let t=z();d(0,"button",28),P("click",function(){N(t);let n=C().$implicit,f=C(2);return q(f.doInstall(n.version))}),w(1,"i",29),c()}}function Zj(e,u){e&1&&(d(0,"button",20),w(1,"i",30),c())}function Qj(e,u){if(e&1&&(d(0,"li",15)(1,"span",9),g(2),w(3,"br"),d(4,"small",26),g(5),c()(),S(6,Jj,2,0,"button",27)(7,Zj,2,0,"button",20),c()),e&2){let t=u.$implicit,i=C(2);s(2),j(" ",t.tag," "),s(3),j("v",t.version,""),s(),x(i.plugin.installedVersion!==t.version?6:-1),s(),x(i.plugin.installedVersion===t.version?7:-1)}}function Xj(e,u){if(e&1&&(d(0,"option",18),g(1),c()),e&2){let t=u.$implicit;h("value",t.version),s(),j("v",t.version,"")}}function Yj(e,u){if(e&1){let t=z();d(0,"button",31),P("click",function(){N(t);let n=C(2);return q(n.doInstall(n.versionSelect))}),w(1,"i",29),c()}if(e&2){let t=C(2);h("disabled",!t.versionSelect)}}function eN(e,u){e&1&&(d(0,"button",20),w(1,"i",30),c())}function tN(e,u){if(e&1){let t=z();d(0,"div",7),S(1,Gj,9,7)(2,Kj,4,3),d(3,"ul",14),We(4,Qj,8,4,"li",15,He),d(6,"li",15)(7,"div",16),g(8),_(9,"translate"),w(10,"br"),d(11,"select",17),we("ngModelChange",function(n){N(t);let f=C();return xe(f.versionSelect,n)||(f.versionSelect=n),q(n)}),We(12,Xj,2,2,"option",18,He),c()(),S(14,Yj,2,1,"button",19)(15,eN,2,0,"button",20),c()()()}if(e&2){let t=C();s(),x(t.plugin.installedVersion?1:-1),s(),x(t.plugin.installedVersion?-1:2),s(2),Ge(t.versionsWithTags),s(4),j(" ",B(9,6,"plugins.manage.all_versions")," "),s(3),Be("ngModel",t.versionSelect),s(),Ge(t.versions),s(2),x(t.versionSelect!==t.plugin.installedVersion?14:-1),s(),x(t.versionSelect&&t.versionSelect===t.plugin.installedVersion?15:-1)}}var gC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$toastr=k(ce);$translate=k(de);plugin;loading=!0;versions=[];versionsWithTags=[];versionSelect;constructor(){}ngOnInit(){this.versionSelect=this.plugin.installedVersion||this.plugin.latestVersion,this.lookupVersions()}lookupVersions(){this.$api.get(`/plugins/lookup/${encodeURIComponent(this.plugin.name)}/versions`).subscribe({next:t=>{let i=new Set;for(let[n,f]of Object.entries(t.versions)){this.versions.push({version:n,engines:f.engines||null});let r=Object.keys(t.tags).find(o=>t.tags[o]===n);r&&(this.versionsWithTags.push({version:n,tag:r}),i.add(n))}this.versions.sort((n,f)=>(0,CC.rcompare)(n.version,f.version)),this.versionsWithTags.sort((n,f)=>{let r=["latest","next","beta","alpha"],o=r.includes(n.tag)?r.indexOf(n.tag):999,a=r.includes(f.tag)?r.indexOf(f.tag):999;return o-a}),!this.versions.find(n=>n.version===this.versionSelect)&&t.tags.latest&&(this.versionSelect=t.tags.latest),this.loading=!1},error:t=>{console.error(t),this.$toastr.error(t.error.message||t.message,this.$translate.instant("toast.title_error")),this.$activeModal.dismiss()}})}doInstall(t){this.$activeModal.close({name:this.plugin.name,version:t,engines:this.versions.find(i=>i.version===t).engines,action:this.plugin.installedVersion?"alternate":"install"})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","d-flex","flex-row","flex-grow-1","w-100"],[1,"w-100","text-center","primary-text"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-right"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"text-left",2,"min-width","50%"],[1,"custom-select","w-100",2,"font-size","0.875rem",3,"ngModelChange","ngModel"],[3,"value"],[1,"btn","btn-primary","m-0","ml-3",3,"disabled"],["disabled","",1,"btn","btn-primary","m-0","ml-3"],[1,"fas","fa-fw","fa-code-compare","primary-text","mb-3",2,"font-size","75px"],[1,"mb-1"],[1,"mb-3"],[1,"text-monospace"],[1,"far","fa-fw","fa-arrow-alt-circle-down","primary-text","mb-3",2,"font-size","75px"],[1,"grey-text","text-monospace"],[1,"btn","btn-primary","m-0","ml-3"],[1,"btn","btn-primary","m-0","ml-3",3,"click"],[1,"fas","fa-fw","fa-arrow-alt-circle-down"],[1,"fas","fa-fw","fa-check-circle"],[1,"btn","btn-primary","m-0","ml-3",3,"click","disabled"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(6,"span",4),g(7,"\xD7"),c()()(),d(8,"div",5),S(9,Wj,2,0,"div",6)(10,tN,16,8,"div",7),c(),d(11,"div",8),w(12,"div",9),d(13,"div",10)(14,"button",11),_(15,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),g(16),_(17,"translate"),c()(),w(18,"div",12),c()()),i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),H("aria-label",B(5,6,"form.button_close")),s(5),x(n.loading?9:-1),s(),x(n.loading?-1:10),s(4),H("aria-label",B(15,8,"form.button_close")),s(2),j(" ",B(17,10,"form.button_close")," "))},dependencies:[It,Su,ku,Yu,rt,fu,ge],encapsulation:2})}return e})();var hC=Oe(qC(),1);function uN(e,u){e&1&&(d(0,"div",6),w(1,"i",17),c())}function iN(e,u){e&1&&(d(0,"div",7),g(1),_(2,"translate"),_(3,"translate"),c()),e&2&&(s(),Wt(" ",B(2,2,"plugins.settings.message_manual_config_required")," ",B(3,4,"plugins.settings.message_consult_documentation")," "))}function nN(e,u){if(e&1){let t=z();d(0,"button",28),_(1,"translate"),P("click",function(){N(t);let n=C().$index,f=C(2);return q(f.removeBlock(n))}),w(2,"i",29),c()}e&2&&h("ngbTooltip",B(1,1,"form.button_delete"))}function fN(e,u){if(e&1){let t=z();d(0,"div",18)(1,"div",19)(2,"div",20)(3,"h5",21),g(4),c(),d(5,"div"),S(6,nN,3,3,"button",22),d(7,"button",23),_(8,"translate"),P("click",function(){let n=N(t).$index,f=C(2);return q(f.editBlock(n))}),w(9,"i",24),c()()()(),d(10,"div",25)(11,"div",26)(12,"ngx-monaco-editor",27),we("ngModelChange",function(n){N(t);let f=C(2);return xe(f.currentBlock,n)||(f.currentBlock=n),q(n)}),P("onInit",function(n){N(t);let f=C(2);return q(f.onEditorInit(n))}),c()()()()}if(e&2){let t=u.$implicit,i=u.$index,n=C(2);h("ngbAccordionItem","configBlock."+i)("collapsed",n.show!=="configBlock."+i)("id","configBlock."+i),s(4),R(t.name||n.pluginAlias),s(2),x(n.show==="configBlock."+i?6:-1),s(),h("ngbTooltip",B(8,8,"form.button_edit")),s(5),h("options",n.editorOptions),Be("ngModel",n.currentBlock)}}function rN(e,u){if(e&1&&(d(0,"div",8),We(1,fN,13,10,"div",18,He),c()),e&2){let t=C();h("closeOthers",!0),s(),Ge(t.pluginConfig)}}function oN(e,u){if(e&1){let t=z();d(0,"button",30),P("click",function(){N(t);let n=C();return q(n.addBlock())}),w(1,"i",31),c()}}function aN(e,u){e&1&&(g(0),_(1,"translate")),e&2&&j(" ",B(1,1,"form.button_save")," ")}function DN(e,u){e&1&&w(0,"i",33)}function sN(e,u){if(e&1){let t=z();d(0,"button",32),P("click",function(){N(t);let n=C();return q(n.save())}),S(1,aN,2,3)(2,DN,1,0,"i",33),c()}if(e&2){let t=C();h("disabled",t.saveInProgress),s(),x(t.saveInProgress?-1:1),s(),x(t.saveInProgress?2:-1)}}function lN(e,u){if(e&1){let t=z();d(0,"button",34),P("click",function(){N(t);let n=C();return q(n.openFullConfigEditor())}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"plugins.settings.label_open_config_editor")," "))}var ls=(()=>{class e{$activeModal=k(Ce);$api=k(De);$md=k(Ks);$modal=k(Ue);$plugin=k(Bu);$router=k(qt);$settings=k($e);$toastr=k(ce);$translate=k(de);plugin;pluginAlias;pluginType;loading=!0;canConfigure=!1;show="";pluginConfig;currentBlock;currentBlockIndex=null;saveInProgress=!1;childBridges=[];isFirstSave=!1;monacoEditor;editorOptions;constructor(){}get arrayKey(){return this.pluginType==="accessory"?"accessories":"platforms"}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.$md.detect.mobile()?(this.loading=!1,this.canConfigure=!1):this.loadPluginAlias()}onEditorInit(t){return W(this,null,function*(){window.editor=t,this.monacoEditor=t,yield this.monacoEditor.getModel().setValue(this.currentBlock),yield this.monacoEditor.getAction("editor.action.formatDocument").run()})}loadPluginAlias(){this.$api.get(`/plugins/alias/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{t.pluginAlias&&t.pluginType?(this.pluginAlias=t.pluginAlias,this.pluginType=t.pluginType,this.loadHomebridgeConfig()):this.loading=!1},error:()=>{this.loading=!1}})}loadHomebridgeConfig(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe(t=>{this.pluginConfig=t,this.canConfigure=!0,this.loading=!1,this.pluginConfig.length?this.editBlock(0):(this.isFirstSave=!0,this.addBlock())})}addBlock(){if(!this.saveCurrentBlock()){this.$toastr.error(this.$translate.instant("plugins.config.please_fix"),this.$translate.instant("toast.title_error"));return}this.pluginConfig.push({[this.pluginType]:this.pluginAlias,name:this.pluginAlias}),this.editBlock(this.pluginConfig.length-1)}saveCurrentBlock(){if(this.currentBlockIndex!==null&&this.monacoEditor){let t=this.monacoEditor.getModel().getValue().trim(),i;t.charAt(0)==='"'&&t.charAt(t.length-1)==="]"&&(t=`{${t}}`);try{i=hC.default.parse(t)}catch(f){return console.error(f),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error")),!1}if(Array.isArray(i)||typeof i!="object")return this.$toastr.error(this.$translate.instant("plugins.config.must_be_object"),this.$translate.instant("toast.title_error")),!1;if(!i[this.pluginType]&&Array.isArray(i[this.arrayKey])&&i[this.arrayKey].length&&Object.keys(i).length===1&&(i=i[this.arrayKey][0]),this.pluginType==="accessory"&&(!i.name||typeof i.name!="string"))return this.$toastr.error(this.$translate.instant("plugins.config.name_property"),this.$translate.instant("toast.title_error")),i.name="",this.monacoEditor.getModel().setValue(JSON.stringify(i,null,4)),!1;let n=this.pluginConfig[this.currentBlockIndex];Object.keys(n).forEach(f=>delete n[f]),Object.assign(n,i),n[this.pluginType]=this.pluginAlias}return!0}editBlock(t){this.saveCurrentBlock()&&(this.show=`configBlock.${t}`,this.currentBlockIndex=t,this.currentBlock=JSON.stringify(this.pluginConfig[this.currentBlockIndex],null,4))}removeBlock(t){let i=this.pluginConfig[t],n=this.pluginConfig.findIndex(f=>f===i);n>-1&&this.pluginConfig.splice(n,1),this.currentBlockIndex=null,this.currentBlock=void 0,this.show=""}save(){return W(this,null,function*(){var t;if(this.saveInProgress=!0,!this.saveCurrentBlock()){this.saveInProgress=!1;return}try{let i=yield fe(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig));if(this.$activeModal.close(),this.isFirstSave&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&((t=i[0])!=null&&t.platform)){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&this.$settings.env.serviceMode&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let n=this.$modal.open(fi,{size:"lg",backdrop:"static"});n.componentInstance.bridges=this.childBridges.map(f=>({name:f.name,username:f.username}));return}this.$activeModal.close(),this.$modal.open(St,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error")),this.saveInProgress=!1}})}openFullConfigEditor(){this.$router.navigate(["/config"]),this.$activeModal.close()}getChildBridges(){return W(this,null,function*(){try{(yield fe(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:22,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"alert","alert-warning"],["ngbAccordion","",3,"closeOthers"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-elegant","mr-auto"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"btn","btn-primary"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"card",3,"ngbAccordionItem","collapsed","id"],["ngbAccordionHeader","",1,"card-header"],[1,"d-flex","align-items-center","justify-content-between"],[1,"m-0"],["container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ml-3",3,"ngbTooltip"],["ngbAccordionButton","","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ml-2",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-edit"],["ngbAccordionCollapse",""],["ngbAccordionBody","",1,"card-body","p-0",2,"height","400px"],[1,"flex-grow-1","h-100","w-100","mb-0","pb-0",3,"ngModelChange","onInit","options","ngModel"],["container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ml-3",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-trash"],["type","button","data-dismiss","modal",1,"btn","btn-elegant","mr-auto",3,"click"],[1,"fa","fa-fw","fa-plus"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.close()}),d(6,"span",4),g(7,"\xD7"),c()()(),d(8,"div",5),S(9,uN,2,0,"div",6)(10,iN,4,6,"div",7)(11,rN,3,1,"div",8),c(),d(12,"div",9)(13,"div",10)(14,"button",11),P("click",function(){return n.$activeModal.close()}),g(15),_(16,"translate"),c()(),w(17,"div",12),d(18,"div",13),S(19,oN,2,0,"button",14)(20,sN,3,3,"button",15)(21,lN,3,3,"button",16),c()()()),i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),h("disabled",n.saveInProgress),H("aria-label",B(5,11,"form.button_close")),s(5),x(n.loading?9:-1),s(),x(!n.loading&&!n.canConfigure?10:-1),s(),x(!n.loading&&n.canConfigure?11:-1),s(3),h("disabled",n.saveInProgress),s(),j(" ",B(16,13,"form.button_close")," "),s(4),x(n.canConfigure?19:-1),s(),x(n.canConfigure?20:-1),s(),x(n.canConfigure?-1:21))},dependencies:[Ef,hf,gf,ti,Cf,Ff,mf,zs,It,rt,fu,ge],styles:[".no-padding-card-body .card-body{padding:0!important} body.dark-mode .no-padding-card-body .card-body{background-color:#1e1e1e}.manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var EC=e=>({link:e}),dN=(e,u)=>({"green-text":e,"grey-text":u});function cN(e,u){if(e&1){let t=z();d(0,"button",19),_(1,"translate"),P("click",function(){N(t);let n=C();return q(n.$activeModal.close("Dismiss"))}),d(2,"span",20),g(3,"\xD7"),c()()}if(e&2){let t=C();h("disabled",t.saveInProgress),H("aria-label",B(1,2,"form.button_close"))}}function pN(e,u){e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"child_bridge.bridges_paired_2")))}function mN(e,u){e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2&&(s(),j("",B(2,1,"child_bridge.select_type"),":"))}function FN(e,u){if(e&1&&(d(0,"li"),g(1),_(2,"translate"),c(),S(3,pN,3,3,"li")(4,mN,3,3,"li")),e&2){let t=C();s(),R(B(2,3,"child_bridge.bridges_paired")),s(2),x(t.configBlocks.length===1&&!t.deviceInfo[t.configBlocks[0]._bridge==null?null:t.configBlocks[0]._bridge.username]&&t.originalBridges.length===0?3:-1),s(),x(t.canConfigure?4:-1)}}function CN(e,u){if(e&1&&(d(0,"option",28),g(1),c()),e&2){let t=u.$implicit,i=u.$index;h("value",i),s(),R(t.name||t.platform||t.accessory)}}function gN(e,u){if(e&1){let t=z();d(0,"li",24),g(1),_(2,"translate"),c(),d(3,"li",22)(4,"label",25),g(5),_(6,"translate"),c(),d(7,"div",26)(8,"select",27),we("ngModelChange",function(n){N(t);let f=C(2);return xe(f.selectedBlock,n)||(f.selectedBlock=n),q(n)}),P("change",function(n){N(t);let f=C(2);return q(f.onBlockChange(n.target.value))}),We(9,CN,2,2,"option",28,He),c()()()}if(e&2){let t=C(2);s(),R(B(2,3,"form.label.changes_kept")),s(4),j(" ",B(6,5,t.isPlatform?"child_bridge.config.platform":"child_bridge.config.accessory")," "),s(3),Be("ngModel",t.selectedBlock),s(),Ge(t.configBlocks)}}function hN(e,u){if(e&1&&(d(0,"li",22)(1,"label",29),g(2),_(3,"translate"),c(),d(4,"div",30),g(5),c()()),e&2){let t=C(2);s(2),j(" ",B(3,2,t.isPlatform?"child_bridge.config.platform":"child_bridge.config.accessory")," "),s(3),j(" ",t.configBlocks[t.selectedBlock].name||t.configBlocks[t.selectedBlock].platform||t.configBlocks[t.selectedBlock].accessory," ")}}function EN(e,u){e&1&&(d(0,"li",22)(1,"label",29),g(2),_(3,"translate"),c(),d(4,"div",31),g(5),_(6,"translate"),c()()),e&2&&(s(2),R(B(3,2,"child_bridge.config.use")),s(3),j(" ",B(6,4,"child_bridge.config.prevent")," "))}function bN(e,u){if(e&1&&(d(0,"option",28),g(1),c()),e&2){let t=u.$implicit;h("value",t.username),s(),Wt("",t.name," (",t.username,")")}}function _N(e,u){if(e&1){let t=z();d(0,"li",22)(1,"label",36),g(2),_(3,"translate"),c(),d(4,"div",26)(5,"select",37),P("change",function(n){N(t);let f=C(3);return q(f.onLinkBridgeChange(n.target.value))}),d(6,"option",28),g(7),_(8,"translate"),c(),We(9,bN,2,3,"option",28,He),c()()()}if(e&2){let t=C(3);s(2),R(B(3,2,"child_bridge.config.or_link")),s(5),R(B(8,4,"child_bridge.config.select_existing")),s(2),Ge(t.bridgesAvailableForLink)}}function yN(e,u){if(e&1){let t=z();d(0,"li",32)(1,"span",13),g(2),_(3,"translate"),c(),d(4,"div",33)(5,"input",34),P("change",function(){N(t);let n=C(2);return q(n.toggleExternalBridge(n.configBlocks[n.selectedBlock],n.enabledBlocks[n.selectedBlock],n.selectedBlock))}),we("ngModelChange",function(n){N(t);let f=C(2);return xe(f.enabledBlocks[f.selectedBlock],n)||(f.enabledBlocks[f.selectedBlock]=n),q(n)}),c(),w(6,"label",35),c()(),S(7,_N,11,6,"li",22)}if(e&2){let t=C(2);s(2),R(B(3,5,"child_bridge.config.use")),s(3),h("id","toggleExternalBridgeInput_"+t.selectedBlock),Be("ngModel",t.enabledBlocks[t.selectedBlock]),s(),h("for","toggleExternalBridgeInput_"+t.selectedBlock),s(),x(!(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username)&&t.bridgesAvailableForLink.length?7:-1)}}function vN(e,u){if(e&1&&(d(0,"li",22)(1,"label",29),g(2),_(3,"translate"),c(),d(4,"div",30),g(5),c()(),d(6,"li",22)(7,"label",29),g(8),_(9,"translate"),c(),d(10,"div",30),g(11),c()(),d(12,"li",22)(13,"label",29),g(14),_(15,"translate"),c(),d(16,"div",30),g(17),c()()),e&2){let t=C(2);s(2),R(B(3,6,"accessories.bridge_link_username")),s(3),j(" ",t.currentlySelectedLink.username," "),s(3),R(B(9,8,"accessories.bridge_link_port")),s(3),j(" ",t.currentlySelectedLink.port," "),s(3),R(B(15,10,"accessories.bridge_link_name")),s(3),j(" ",t.currentlySelectedLink.name," ")}}function BN(e,u){e&1&&(d(0,"span"),g(1),_(2,"translate"),c()),e&2&&(s(),j(" \xB7 ",B(2,1,"status.code_scan")," "))}function xN(e,u){if(e&1){let t=z();d(0,"li",32)(1,"span",13),g(2),_(3,"translate"),d(4,"code"),g(5,"-D"),c()(),d(6,"div",33)(7,"input",50),_(8,"translate"),we("ngModelChange",function(n){N(t);let f=C(5);return xe(f.configBlocks[f.selectedBlock]._bridge.debugModeEnabled,n)||(f.configBlocks[f.selectedBlock]._bridge.debugModeEnabled=n),q(n)}),c(),w(9,"label",35),c()()}if(e&2){let t=C(5);s(2),j("",B(3,5,"child_bridge.config.debug")," "),s(5),h("id","homebridgeDebugMode_"+t.selectedBlock),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.debugModeEnabled),H("aria-label",B(8,7,"settings.startup.debug")),s(2),h("for","homebridgeDebugMode_"+t.selectedBlock)}}function wN(e,u){if(e&1){let t=z();d(0,"li",22)(1,"label",29),g(2),_(3,"translate"),c(),d(4,"div",26)(5,"input",44),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.name,n)||(f.configBlocks[f.selectedBlock]._bridge.name=n),q(n)}),c()()(),d(6,"li",22)(7,"label",29),g(8),_(9,"translate"),c(),d(10,"div",26)(11,"input",44),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.manufacturer,n)||(f.configBlocks[f.selectedBlock]._bridge.manufacturer=n),q(n)}),c()()(),d(12,"li",22)(13,"label",29),g(14),_(15,"translate"),c(),d(16,"div",26)(17,"input",44),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.model,n)||(f.configBlocks[f.selectedBlock]._bridge.model=n),q(n)}),c()()(),d(18,"li",22)(19,"label",29),g(20),_(21,"translate"),c(),d(22,"div",26)(23,"input",44),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.firmwareRevision,n)||(f.configBlocks[f.selectedBlock]._bridge.firmwareRevision=n),q(n)}),c()()(),S(24,xN,10,9,"li",32),d(25,"li",22)(26,"label",29)(27,"span",45),g(28,"DEBUG"),c(),w(29,"br")(30,"small",46),_(31,"translate"),c(),d(32,"div",26)(33,"input",47),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.env.DEBUG,n)||(f.configBlocks[f.selectedBlock]._bridge.env.DEBUG=n),q(n)}),c()()(),d(34,"li",22)(35,"label",29)(36,"span",45),g(37,"NODE_OPTIONS"),c(),w(38,"br"),d(39,"small",48),g(40),_(41,"translate"),c()(),d(42,"div",26)(43,"input",49),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.env.NODE_OPTIONS,n)||(f.configBlocks[f.selectedBlock]._bridge.env.NODE_OPTIONS=n),q(n)}),c()()()}if(e&2){let t=C(4);s(2),R(B(3,13,"child_bridge.config.name")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.name),s(3),R(B(9,15,"child_bridge.config.manufacturer")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.manufacturer),s(3),R(B(15,17,"child_bridge.config.model")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.model),s(3),R(B(21,19,"child_bridge.config.firmware")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.firmwareRevision),s(),x(t.canShowBridgeDebug?24:-1),s(6),h("innerHTML",Ve(31,21,"settings.service.debug_tooltip",At(26,EC,t.linkDebug)),ae),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.env.DEBUG),s(7),R(B(41,24,"settings.service.node_tooltip")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.env.NODE_OPTIONS)}}function AN(e,u){if(e&1&&(d(0,"li",38)(1,"div",39),w(2,"app-qrcode",40),d(3,"p",41),g(4),c(),d(5,"p",42),w(6,"i",43),g(7),_(8,"translate"),S(9,BN,3,3,"span"),c()()(),d(10,"li",22)(11,"label",29),g(12),_(13,"translate"),c(),d(14,"div",30),g(15),c()(),d(16,"li",22)(17,"label",29),g(18),_(19,"translate"),c(),d(20,"div",30),g(21),c()(),S(22,wN,44,28)),e&2){let t=C(3);s(2),h("data",t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._setupCode),s(2),R(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username].pincode),s(2),h("ngClass",Au(16,dN,t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired,!t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired)),s(),j(" ",B(8,10,t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," "),s(2),x(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired?-1:9),s(3),R(B(13,12,"accessories.bridge_username")),s(3),j(" ",t.configBlocks[t.selectedBlock]._bridge.username," "),s(3),R(B(19,14,"accessories.bridge_port")),s(3),j(" ",t.configBlocks[t.selectedBlock]._bridge.port," "),s(),x(t.$settings.env.serviceMode?22:-1)}}function IN(e,u){if(e&1&&S(0,AN,23,19),e&2){let t=C(2);x(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]?0:-1)}}function SN(e,u){e&1&&(d(0,"ngb-alert",23),g(1),_(2,"translate"),w(3,"br"),g(4),_(5,"translate"),c()),e&2&&(h("dismissible",!1),s(),j(" ",B(2,3,"child_bridge.restart_homebridge")," "),s(3),j("",B(5,5,"child_bridge.return_to_pair")," "))}function kN(e,u){if(e&1&&(d(0,"ul",21),S(1,gN,11,7)(2,hN,6,4,"li",22)(3,EN,7,6,"li",22)(4,yN,8,7)(5,vN,18,12)(6,IN,1,1),c(),S(7,SN,6,7,"ngb-alert",23)),e&2){let t=C();s(),x(t.configBlocks.length>1?1:-1),s(),x(t.configBlocks.length===1?2:-1),s(),x(t.currentBridgeHasLinks?3:-1),s(),x(t.currentBridgeHasLinks?-1:4),s(),x(t.currentlySelectedLink?5:-1),s(),x(!t.currentlySelectedLink&&(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username)?6:-1),s(),x(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username&&t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]===!1?7:-1)}}function $N(e,u){e&1&&(g(0),_(1,"translate")),e&2&&j(" ",B(1,1,"child_bridge.confirm_delete_2")," ")}function TN(e,u){if(e&1&&(d(0,"li"),g(1),d(2,"span",45),g(3),c(),g(4,") "),c()),e&2){let t=u.$implicit,i=C(2);s(),j(" ",t.bridgeName||(i.deviceInfo[t.id]==null?null:i.deviceInfo[t.id].displayName)," ("),s(2),R(t.id)}}function PN(e,u){if(e&1&&(d(0,"ngb-alert",9)(1,"p"),g(2),_(3,"translate"),S(4,$N,2,3),c(),d(5,"div",15)(6,"ul",51),We(7,TN,5,2,"li",null,He),c()()()),e&2){let t=C();h("dismissible",!1),s(2),j(" ",B(3,3,"child_bridge.confirm_delete_1")," "),s(2),x(t.deletingPairedBridge?4:-1),s(3),Ge(t.deleteBridges)}}function ON(e,u){e&1&&(d(0,"ngb-alert",10),g(1),_(2,"translate"),c()),e&2&&(h("dismissible",!1),s(),j(" ",B(2,2,"child_bridge.must_configure_plugin")," "))}function MN(e,u){if(e&1){let t=z();d(0,"ngb-alert",11)(1,"div",7),g(2),_(3,"translate"),_(4,"translate"),c(),d(5,"button",52),P("click",function(){N(t);let n=C();return q(n.openFullConfigEditor())}),g(6),_(7,"translate"),c()()}e&2&&(h("dismissible",!1),s(2),Wt(" ",B(3,4,"plugins.settings.message_manual_config_required")," ",B(4,6,"plugins.settings.message_consult_documentation")," "),s(4),j(" ",B(7,8,"plugins.settings.label_open_config_editor")," "))}function jN(e,u){if(e&1){let t=z();d(0,"button",53),P("click",function(){N(t);let n=C();return q(n.$activeModal.close("Dismiss"))}),g(1),_(2,"translate"),c()}if(e&2){let t=C();h("disabled",t.saveInProgress),s(),j(" ",B(2,2,"form.button_close")," ")}}function NN(e,u){e&1&&w(0,"i",55)}function qN(e,u){if(e&1){let t=z();d(0,"button",54),P("click",function(){N(t);let n=C();return q(n.save())}),g(1),_(2,"translate"),S(3,NN,1,0,"i",55),c()}if(e&2){let t=C();h("disabled",t.saveInProgress),s(),j(" ",B(2,3,"form.button_save")," "),s(2),x(t.saveInProgress?3:-1)}}function VN(e,u){if(e&1){let t=z();d(0,"button",56),P("click",function(){N(t);let n=C();return q(n.$activeModal.close("Dismiss"))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"form.button_close")," "))}function RN(e,u){e&1&&(g(0),_(1,"translate")),e&2&&j(" ",B(1,1,"form.button_save")," ")}function LN(e,u){e&1&&w(0,"i",55)}function zN(e,u){if(e&1){let t=z();d(0,"button",54),P("click",function(){N(t);let n=C(2);return q(n.save())}),S(1,RN,2,3)(2,LN,1,0,"i",55),c()}if(e&2){let t=C(2);h("disabled",t.saveInProgress),s(),x(t.saveInProgress?-1:1),s(),x(t.saveInProgress?2:-1)}}function UN(e,u){if(e&1){let t=z();d(0,"button",58),P("click",function(){N(t);let n=C(2);return q(n.openPluginConfig())}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"plugins.button_settings")," "))}function HN(e,u){if(e&1&&S(0,zN,3,3,"button",16)(1,UN,3,3,"button",57),e&2){let t=C();x(t.configBlocks.length?0:-1),s(),x(t.configBlocks.length?-1:1)}}var bC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$modal=k(Ue);$plugins=k(Bu);$router=k(qt);$settings=k($e);$toastr=k(ce);$translate=k(de);plugin;schema;justInstalled=!1;canConfigure=!0;configBlocks=[];selectedBlock="0";isPlatform;enabledBlocks={};bridgeCache=new Map;originalBridges=[];deviceInfo=new Map;saveInProgress=!1;canShowBridgeDebug=!1;deleteBridges=[];deletingPairedBridge=!1;accessoryBridgeLinks=[];bridgesAvailableForLink=[];currentlySelectedLink=null;currentBridgeHasLinks=!1;linkChildBridges='<a href="https://github.com/homebridge/homebridge/wiki/Child-Bridges" target="_blank"><i class="fa fa/fw fas fa-fw fa-external-link-alt"></i></a>';linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt"></i></a>';constructor(){}ngOnInit(){this.isPlatform=this.schema.pluginType==="platform",this.loadPluginConfig(),this.canShowBridgeDebug=this.$settings.env.homebridgeVersion.startsWith("2")}onBlockChange(t){if(this.selectedBlock=t,this.currentlySelectedLink=this.accessoryBridgeLinks.find(i=>i.index===t)||null,this.currentBridgeHasLinks=this.accessoryBridgeLinks.some(i=>i.usesIndex===t),this.bridgesAvailableForLink=[],this.configBlocks[Number(t)].accessory)for(let[i,n]of Array.from(this.bridgeCache.entries()))this.deleteBridges.some(f=>f.id===n.username)||i<Number(t)&&this.bridgesAvailableForLink.push({index:i.toString(),usesIndex:t,name:n.name,port:n.port,username:n.username})}onLinkBridgeChange(t){var i,n;if(t){let f=this.configBlocks.findIndex(o=>{var a;return((a=o._bridge)==null?void 0:a.username)===t});this.accessoryBridgeLinks.push({index:this.selectedBlock,usesIndex:f.toString(),name:(i=this.bridgeCache.get(f))==null?void 0:i.name,port:(n=this.bridgeCache.get(f))==null?void 0:n.port,username:t}),this.currentlySelectedLink=this.accessoryBridgeLinks.find(o=>o.index===this.selectedBlock)||null,this.enabledBlocks[Number(this.selectedBlock)]=!0;let r=this.configBlocks[Number(this.selectedBlock)];r._bridge={username:t}}}loadPluginConfig(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>W(this,null,function*(){var n;this.configBlocks=t;for(let[f,r]of this.configBlocks.entries())if(r._bridge&&r._bridge.username){this.enabledBlocks[f]=!0;let o=Array.from(this.bridgeCache.values()).findIndex(D=>D.username===r._bridge.username),a=o!==-1?Array.from(this.bridgeCache.values())[o]:void 0;a?(r._bridge.env={},this.accessoryBridgeLinks.push({index:f.toString(),usesIndex:o.toString(),name:a.name,port:a.port,username:r._bridge.username})):(r._bridge.env=r._bridge.env||{},this.bridgeCache.set(f,r._bridge),yield this.getDeviceInfo(r._bridge.username),r._bridge.name||(r._bridge.name=(n=this.deviceInfo[r._bridge.username])==null?void 0:n.displayName),this.originalBridges.push(r._bridge))}this.justInstalled&&this.bridgeCache.size===0&&this.configBlocks.forEach((f,r)=>{this.enabledBlocks[r]=!0,this.toggleExternalBridge(f,!0,r.toString())}),this.accessoryBridgeLinks.find(f=>{var r;return f.username===((r=this.bridgeCache.get(Number(this.selectedBlock)))==null?void 0:r.username)})&&(this.currentBridgeHasLinks=!0)}),error:t=>{this.canConfigure=!1,console.error(t)}})}toggleExternalBridge(t,i,n){return W(this,null,function*(){var f;if(i){let r=this.bridgeCache.get(Number(n));t._bridge={username:r?r.username:this.generateUsername(),port:yield this.getUnusedPort(),name:r==null?void 0:r.name,model:r==null?void 0:r.model,manufacturer:r==null?void 0:r.manufacturer,firmwareRevision:r==null?void 0:r.firmwareRevision,debugModeEnabled:r==null?void 0:r.debugModeEnabled,env:r==null?void 0:r.env},this.deleteBridges.some(o=>o.id===t._bridge.username)&&(this.deleteBridges=this.deleteBridges.filter(o=>o.id!==t._bridge.username)),this.bridgeCache.set(Number(n),t._bridge),yield this.getDeviceInfo(t._bridge.username)}else{if(this.accessoryBridgeLinks.some(r=>r.index===n))this.accessoryBridgeLinks=this.accessoryBridgeLinks.filter(r=>r.index!==n),this.currentlySelectedLink=null;else{let r=this.originalBridges.find(o=>o.username===t._bridge.username);r&&this.deleteBridges.push({id:t._bridge.username,bridgeName:t._bridge.name||r.displayName,paired:(f=this.deviceInfo[t._bridge.username])==null?void 0:f._isPaired})}delete t._bridge}this.deletingPairedBridge=this.deleteBridges.some(r=>r.paired)})}getUnusedPort(){return W(this,null,function*(){this.saveInProgress=!0;try{return(yield fe(this.$api.get("/server/port/new"))).port}catch{return Math.floor(Math.random()*30001+3e4)}finally{this.saveInProgress=!1}})}getDeviceInfo(t){return W(this,null,function*(){try{this.deviceInfo[t]=yield fe(this.$api.get(`/server/pairings/${t.replace(/:/g,"")}`))}catch(i){console.error(i),this.deviceInfo[t]=!1}})}save(){return W(this,null,function*(){this.saveInProgress=!0;try{if(yield fe(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.configBlocks)),this.$settings.env.serviceMode)for(let t of this.deleteBridges)try{yield fe(this.$api.delete(`/server/pairings/${t.id.replace(/:/g,"")}`))}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("settings.reset_bridge.error"),this.$translate.instant("toast.title_error"))}this.$activeModal.close(),this.$modal.open(St,{size:"lg",backdrop:"static"})}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}finally{this.saveInProgress=!1}})}openPluginConfig(){this.$activeModal.close(),this.$plugins.settings({name:this.plugin.name,settingsSchema:!0,links:{}})}generateUsername(){let t="0123456789ABCDEF",i="0E:";for(let n=0;n<5;n++)i+=t.charAt(Math.round(Math.random()*15)),i+=t.charAt(Math.round(Math.random()*15)),n!==4&&(i+=":");return i}openFullConfigEditor(){this.$router.navigate(["/config"]),this.$activeModal.close()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",schema:"schema",justInstalled:"justInstalled"},decls:24,vars:17,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"disabled"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],[3,"innerHTML"],["type","error",1,"mt-3","mb-0",3,"dismissible"],["type","info",3,"dismissible"],["type","info",1,"mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button",1,"btn","btn-primary",3,"disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["type","info",1,"mt-3","mb-0",3,"dismissible"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-left","text-md-right","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-left","text-md-right","w-100","w-md-50","grey-text","text-monospace"],[1,"text-left","text-md-right","w-100","w-md-50","grey-text"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-right","grey-text"],["type","checkbox",1,"rendux-input",3,"change","ngModelChange","id","ngModel"],[1,"rendux-label",3,"for"],["for","bridgeLink",1,"mb-2","mb-md-0","w-100","w-md-50"],["id","bridgeLink",1,"custom-select",3,"change"],[1,"list-group-item","text-center"],[1,"w-100","d-flex","flex-column","text-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"mx-auto","mt-3","mb-1"],[1,"grey-text","mx-auto","small","mb-1",2,"max-width","400px"],[1,"fas","fa-fw","fa-link",3,"ngClass"],["type","text",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"text-monospace"],[1,"grey-text",3,"innerHTML"],["type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"grey-text"],["type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input",3,"ngModelChange","ngModel"],["type","checkbox",1,"rendux-input",3,"ngModelChange","id","ngModel"],[1,"d-inline-block","text-left","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-primary"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),S(4,cN,4,4,"button",3),c(),d(5,"div",4)(6,"div",5),w(7,"i",6),c(),d(8,"ul",7),w(9,"li",8),_(10,"translate"),S(11,FN,5,5),c(),S(12,kN,8,7)(13,PN,9,5,"ngb-alert",9)(14,ON,3,4,"ngb-alert",10)(15,MN,8,10,"ngb-alert",11),c(),d(16,"div",12)(17,"div",13),S(18,jN,3,4,"button",14),c(),d(19,"div",15),S(20,qN,4,5,"button",16)(21,VN,3,3,"button",17),c(),d(22,"div",18),S(23,HN,2,2),c()()()),i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),x(n.justInstalled?-1:4),s(5),h("innerHTML",Ve(10,12,"child_bridge.about",At(15,EC,n.linkChildBridges)),ae),s(2),x(n.configBlocks.length?11:-1),s(),x(n.canConfigure&&n.configBlocks.length?12:-1),s(),x(n.deleteBridges.length&&n.$settings.env.serviceMode?13:-1),s(),x(!n.configBlocks.length&&n.canConfigure?14:-1),s(),x(n.canConfigure?-1:15),s(3),x(n.canConfigure&&!n.justInstalled?18:-1),s(2),x(n.justInstalled?20:-1),s(),x(n.canConfigure?-1:21),s(2),x(n.canConfigure&&!n.justInstalled?23:-1))},dependencies:[It,Su,ku,Qu,Zu,Yu,rt,fu,ei,Js,Ct,ge],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var ds=Oe(ao(),1);var io=()=>["homebridge","homebridge-config-ui-x"],_C=(e,u,t)=>({pluginName:e,minVersion:u,installedVersion:t}),WN=(e,u,t)=>({minVersion:e,installedVersion:u,latestVersion:t,packageName:"Homebridge"}),GN=()=>({packageName:"Homebridge"}),KN=(e,u,t)=>({minVersion:e,installedVersion:u,latestVersion:t,packageName:"Homebridge UI"}),JN=()=>({packageName:"Homebridge UI"});function ZN(e,u){if(e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2){let t=C(2);s(),j(" ",Ve(2,1,"plugins.compat.node_too_low",Gt(4,_C,t.plugin.displayName,t.nodeMinVersion,t.nodeInstalledVersion))," ")}}function QN(e,u){if(e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2){let t=C(2);s(),j(" ",Ve(2,1,"plugins.compat.hb_too_low",Gt(4,_C,t.plugin.name,t.hbMinVersion,t.hbInstalledVersion))," ")}}function XN(e,u){if(e&1&&(d(0,"div",12),w(1,"i",13),c(),d(2,"ul",14),S(3,ZN,3,8,"li")(4,QN,3,8,"li"),c(),d(5,"ngb-alert",15)(6,"p",16),g(7),_(8,"translate"),c()()),e&2){let t=C();s(),As("",t.action==="install"?"far fa-fw fa-arrow-alt-circle-down":t.action==="update"?"far fa-fw fa-arrow-alt-circle-up":"fas fa-fw fa-code-compare"," primary-text"),s(2),x(t.isValidNode?-1:3),s(),x(t.isValidHb?-1:4),s(),h("dismissible",!1),s(2),R(B(8,7,"plugins.compat.are_you_sure"))}}function YN(e,u){if(e&1&&(d(0,"div",12),w(1,"i",17),c(),d(2,"ul",14)(3,"li"),g(4),_(5,"translate"),c()(),d(6,"ngb-alert",15)(7,"p",18),g(8),_(9,"translate"),c(),d(10,"p",16)(11,"a",19),g(12),_(13,"translate"),w(14,"i",20),c()()()),e&2){let t=C();s(4),j(" ",Ve(5,4,"plugins.compat.hb_node_too_low",Gt(12,WN,t.nodeMinVersion,t.nodeInstalledVersion,t.plugin.latestVersion))," "),s(2),h("dismissible",!1),s(2),R(Ve(9,7,"plugins.compat.node_first",Ne(16,GN))),s(4),j(" ",B(13,10,"plugins.compat.node_link")," ")}}function eq(e,u){if(e&1&&(d(0,"div",12),w(1,"i",17),c(),d(2,"ul",14)(3,"li"),g(4),_(5,"translate"),c()(),d(6,"ngb-alert",15)(7,"p",18),g(8),_(9,"translate"),c(),d(10,"p",16)(11,"a",19),g(12),_(13,"translate"),w(14,"i",20),c()()()),e&2){let t=C();s(4),j(" ",Ve(5,4,"plugins.compat.hb_node_too_low",Gt(12,KN,t.nodeMinVersion,t.nodeInstalledVersion,t.plugin.latestVersion))," "),s(2),h("dismissible",!1),s(2),R(Ve(9,7,"plugins.compat.node_first",Ne(16,JN))),s(4),j(" ",B(13,10,"plugins.compat.node_link")," ")}}function tq(e,u){if(e&1){let t=z();d(0,"button",21),P("click",function(){N(t);let n=C();return q(n.$activeModal.dismiss("Dismiss"))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"form.button_close")," "))}function uq(e,u){if(e&1){let t=z();d(0,"button",21),P("click",function(){N(t);let n=C();return q(n.$activeModal.dismiss("Dismiss"))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"form.button_close")," "))}function iq(e,u){if(e&1){let t=z();d(0,"button",22),P("click",function(){N(t);let n=C();return q(n.$activeModal.close(!0))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"plugins.node_update.continue")," "))}var yC=(()=>{class e{$activeModal=k(Ce);$settings=k($e);plugin;isValidNode;isValidHb;action;nodeMinVersion;nodeInstalledVersion;hbMinVersion;hbInstalledVersion;constructor(){}ngOnInit(){var t,i;this.nodeMinVersion=(0,ds.minVersion)((t=this.plugin.updateEngines)==null?void 0:t.node),this.nodeInstalledVersion=this.$settings.env.nodeVersion,this.hbMinVersion=(0,ds.minVersion)((i=this.plugin.updateEngines)==null?void 0:i.homebridge),this.hbInstalledVersion=this.$settings.env.homebridgeVersion}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",isValidNode:"isValidNode",isValidHb:"isValidHb",action:"action"},decls:20,vars:16,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger"],[1,"text-center","mb-3"],[2,"font-size","75px"],[1,"mb-3"],["type","warning",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"fab","fa-fw","fa-node-js","primary-text",2,"font-size","75px"],[1,"text-center","mb-1"],["href","https://homebridge.io/w/JTKEF","target","_blank","rel","noopener noreferrer"],[1,"fa","fa-fw","fa-external-link-alt"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),_(4,"translate"),c(),d(5,"button",3),_(6,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(7,"span",4),g(8,"\xD7"),c()()(),d(9,"div",5),S(10,XN,9,9)(11,YN,15,17)(12,eq,15,17),c(),d(13,"div",6)(14,"div",7),S(15,tq,3,3,"button",8),c(),d(16,"div",9),S(17,uq,3,3,"button",8),c(),d(18,"div",10),S(19,iq,3,3,"button",11),c()()()),i&2&&(s(3),R(B(4,8,"plugins.compat.title")),s(2),H("aria-label",B(6,10,"form.button_close")),s(5),x(Ne(12,io).includes(n.plugin.name)?-1:10),s(),x(n.plugin.name==="homebridge"?11:-1),s(),x(n.plugin.name==="homebridge-config-ui-x"?12:-1),s(3),x(Ne(13,io).includes(n.plugin.name)?-1:15),s(2),x(Ne(14,io).includes(n.plugin.name)?17:-1),s(2),x(Ne(15,io).includes(n.plugin.name)?-1:19))},dependencies:[ge,ei],encapsulation:2})}return e})();var Ze=[];for(let e=0;e<256;++e)Ze.push((e+256).toString(16).slice(1));function vC(e,u=0){return(Ze[e[u+0]]+Ze[e[u+1]]+Ze[e[u+2]]+Ze[e[u+3]]+"-"+Ze[e[u+4]]+Ze[e[u+5]]+"-"+Ze[e[u+6]]+Ze[e[u+7]]+"-"+Ze[e[u+8]]+Ze[e[u+9]]+"-"+Ze[e[u+10]]+Ze[e[u+11]]+Ze[e[u+12]]+Ze[e[u+13]]+Ze[e[u+14]]+Ze[e[u+15]]).toLowerCase()}var cs,nq=new Uint8Array(16);function ps(){if(!cs){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");cs=crypto.getRandomValues.bind(crypto)}return cs(nq)}var fq=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ms={randomUUID:fq};function rq(e,u,t){var n,f,r;if(ms.randomUUID&&!u&&!e)return ms.randomUUID();e=e||{};let i=(r=(f=e.random)!=null?f:(n=e.rng)==null?void 0:n.call(e))!=null?r:ps();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,u){if(t=t||0,t<0||t+16>u.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let o=0;o<16;++o)u[t+o]=i[o];return u}return vC(i)}var no=rq;var BC=Oe(tn(),1);var xC=(()=>{class e{$api=k(De);$toastr=k(ce);$translate=k(de);constructor(){}downloadDumpFile(){this.$api.get("/plugins/custom-plugins/homebridge-deconz/dump-file",{observe:"response",responseType:"blob"}).subscribe({next:t=>{(0,BC.saveAs)(t.body,"homebridge-deconz.json.gz")},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.deconz.dump_no_exist"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["app-homebridge-deconz"]],decls:3,vars:0,consts:[["type","button","data-dismiss","modal",1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-download"]],template:function(i,n){i&1&&(d(0,"button",0),P("click",function(){return n.downloadDumpFile()}),w(1,"i",1),g(2,` Download Dump File
26
+ `)}),this.toastSuccess=this.$translate.instant("toast.title_success"),this.onlineUpdateOk=!(["homebridge","homebridge-config-ui-x"].includes(this.pluginName)&&this.$settings.env.platform==="win32"),this.action){case"Install":this.install(),this.presentTenseVerb=this.$translate.instant("plugins.manage.install"),this.pastTenseVerb=this.$translate.instant("plugins.manage.installed");break;case"Uninstall":this.uninstall(),this.presentTenseVerb=this.$translate.instant("plugins.manage.uninstall"),this.pastTenseVerb=this.$translate.instant("plugins.manage.uninstalled");break;case"Update":switch(this.targetVersion){case"latest":this.updateToBeta=!1,this.getReleaseNotes();break;case"alpha":case"beta":case"test":this.updateToBeta=!0,this.getReleaseNotes();break;default:this.update()}this.presentTenseVerb=this.$translate.instant("plugins.manage.update"),this.pastTenseVerb=this.$translate.instant("plugins.manage.updated");break}}install(){if(this.onlineUpdateOk){if(this.pluginName==="homebridge")return this.upgradeHomebridge();this.io.request("install",{name:this.pluginName,version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(`${this.pastTenseVerb} ${this.pluginName}`,this.toastSuccess),window.location.href=`/plugins?installed=${this.pluginName}`},error:t=>{this.actionFailed=!0,console.error(t),this.$router.navigate(["/plugins"]),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}}uninstall(){this.io.request("uninstall",{name:this.pluginName,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close(),this.$router.navigate(["/plugins"]),this.$modal.open(St,{size:"lg",backdrop:"static"})},error:t=>{this.actionFailed=!0,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}update(){if(this.showReleaseNotes=!1,!!this.onlineUpdateOk){if(this.pluginName==="homebridge")return this.upgradeHomebridge();this.io.request("update",{name:this.pluginName,version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>W(this,null,function*(){try{yield Promise.all([this.getChangeLog(),this.getChildBridges()])}catch(t){console.error(t)}this.actionComplete=!0,this.justUpdatedPlugin=!0,this.$router.navigate([this.pluginName==="homebridge-config-ui-x"?"/":"/plugins"])}),error:t=>{this.actionFailed=!0,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}}upgradeHomebridge(){return W(this,null,function*(){let t="update";Number(this.installedVersion.split(".")[0])<2&&["2","alpha","beta"].includes(this.targetVersion.split(".")[0])&&(t=yield this.$modal.open(DC,{size:"lg",backdrop:"static"}).result),t==="update"?this.io.request("homebridge-update",{version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close();let i=this.$modal.open(St,{size:"lg",backdrop:"static"});i.componentInstance.fullRestart=!0},error:i=>{this.actionFailed=!0,console.error(i),this.$toastr.error(i.message,this.$translate.instant("toast.title_error")),this.$activeModal.close()}}):this.$activeModal.close()})}getChangeLog(){return W(this,null,function*(){let t=yield fe(this.$api.get(`/plugins/changelog/${encodeURIComponent(this.pluginName)}`));this.changeLog=t.changelog})}getChildBridges(){return W(this,null,function*(){if(!this.$settings.env.serviceMode)return;(yield fe(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.pluginName===i.plugin&&this.childBridges.push(i)})})}getReleaseNotes(){this.$api.get(`/plugins/release/${encodeURIComponent(this.pluginName)}`).subscribe({next:t=>{this.showReleaseNotes=!0,this.release=t},error:()=>{this.onlineUpdateOk&&this.update()}})}onRestartHomebridgeClick(){this.pluginName==="homebridge-config-ui-x"?this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{window.location.href="/restart"},error:t=>{console.error(t),window.location.href="/restart"}}):(this.$router.navigate(["/restart"]),this.$activeModal.close())}onRestartChildBridgeClick(){return W(this,null,function*(){try{for(let i of this.childBridges)yield fe(this.$api.put(`/server/restart/${i.username}`,{}));let t=this.$modal.open(lC,{size:"xl",backdrop:"static"});t.componentInstance.plugin={name:this.pluginName}}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.manage.child_bridge_restart_failed"),this.$translate.instant("toast.title_error"))}finally{this.$activeModal.close()}})}downloadLogFile(){let t=new Blob([this.errorLog],{type:"text/plain;charset=utf-8"});(0,cC.saveAs)(t,`${this.pluginName}-error.log`)}ngOnDestroy(){this.io.end()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{pluginName:"pluginName",pluginDisplayName:"pluginDisplayName",targetVersion:"targetVersion",latestVersion:"latestVersion",installedVersion:"installedVersion",isDisabled:"isDisabled",action:"action"},decls:13,vars:9,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-body","plugin-modal-body"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"mb-3","text-center"],[1,"far","fa-fw","fa-check-circle","primary-text",2,"font-size","75px"],[1,"text-center","mb-2"],[1,"alert","pt-3","px-3","pb-0","mb-0"],[1,"text-center","mb-3","grey-text"],[1,"plugin-md",3,"data"],[1,"fas","fa-fw","primary-text",2,"font-size","75px",3,"ngClass"],[1,"mb-3"],[1,"p-2","mb-0",2,"background-color","#efefef"],[1,"far","fa-fw","primary-text",2,"font-size","75px",3,"ngClass"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["type","button",1,"btn","btn-primary"],[1,"btn","btn-primary"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(6,"span",4),g(7,"\xD7"),c()()(),w(8,"div",5),S(9,kj,2,1,"div",6)(10,Pj,9,11,"div",7)(11,qj,6,8,"div",6)(12,Hj,9,5,"div",8),c()),i&2&&(s(3),R(n.pluginDisplayName),s(),H("aria-label",B(5,7,"form.button_close")),s(4),h("hidden",!n.onlineUpdateOk||n.actionComplete||n.showReleaseNotes),s(),x(n.actionComplete?9:-1),s(),x(n.onlineUpdateOk?-1:10),s(),x(n.showReleaseNotes&&!n.actionComplete&&n.onlineUpdateOk?11:-1),s(),x(!n.onlineUpdateOk||n.actionComplete||n.showReleaseNotes||n.actionFailed?12:-1))},dependencies:[ni,ii,Ji,ge,Ct],styles:[".plugin-modal-body[_ngcontent-%COMP%]{max-height:60vh;overflow-y:auto;overflow-x:hidden} .plugin-md{text-align:left;font-size:.95rem;word-wrap:break-word} .plugin-md img{max-width:100%} .plugin-md h1{font-size:1.4rem;font-weight:300} .plugin-md h2{font-size:1.3rem;font-weight:300} .plugin-md h3{font-size:1.2rem;font-weight:300} .plugin-md h4{font-size:1.1rem;font-weight:300} .plugin-md h5{font-size:1rem;font-weight:300} .plugin-md pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}"]})}return e})();var CC=Oe(ao(),1);function Wj(e,u){e&1&&(d(0,"div",6),w(1,"i",13),c())}function Gj(e,u){if(e&1&&(w(0,"i",21),d(1,"h6",22),g(2),_(3,"translate"),c(),d(4,"p",23),g(5),_(6,"translate"),d(7,"span",24),g(8),c()()),e&2){let t=C(2);s(2),R(B(3,3,"plugins.manage.select_version")),s(3),j(" ",B(6,5,"plugins.status_installed"),": "),s(3),j("v",t.plugin.installedVersion,"")}}function Kj(e,u){e&1&&(w(0,"i",25),d(1,"h6",23),g(2),_(3,"translate"),c()),e&2&&(s(2),R(B(3,1,"plugins.manage.select_version")))}function Jj(e,u){if(e&1){let t=z();d(0,"button",28),P("click",function(){N(t);let n=C().$implicit,f=C(2);return q(f.doInstall(n.version))}),w(1,"i",29),c()}}function Zj(e,u){e&1&&(d(0,"button",20),w(1,"i",30),c())}function Qj(e,u){if(e&1&&(d(0,"li",15)(1,"span",9),g(2),w(3,"br"),d(4,"small",26),g(5),c()(),S(6,Jj,2,0,"button",27)(7,Zj,2,0,"button",20),c()),e&2){let t=u.$implicit,i=C(2);s(2),j(" ",t.tag," "),s(3),j("v",t.version,""),s(),x(i.plugin.installedVersion!==t.version?6:-1),s(),x(i.plugin.installedVersion===t.version?7:-1)}}function Xj(e,u){if(e&1&&(d(0,"option",18),g(1),c()),e&2){let t=u.$implicit;h("value",t.version),s(),j("v",t.version,"")}}function Yj(e,u){if(e&1){let t=z();d(0,"button",31),P("click",function(){N(t);let n=C(2);return q(n.doInstall(n.versionSelect))}),w(1,"i",29),c()}if(e&2){let t=C(2);h("disabled",!t.versionSelect)}}function eN(e,u){e&1&&(d(0,"button",20),w(1,"i",30),c())}function tN(e,u){if(e&1){let t=z();d(0,"div",7),S(1,Gj,9,7)(2,Kj,4,3),d(3,"ul",14),We(4,Qj,8,4,"li",15,He),d(6,"li",15)(7,"div",16),g(8),_(9,"translate"),w(10,"br"),d(11,"select",17),we("ngModelChange",function(n){N(t);let f=C();return xe(f.versionSelect,n)||(f.versionSelect=n),q(n)}),We(12,Xj,2,2,"option",18,He),c()(),S(14,Yj,2,1,"button",19)(15,eN,2,0,"button",20),c()()()}if(e&2){let t=C();s(),x(t.plugin.installedVersion?1:-1),s(),x(t.plugin.installedVersion?-1:2),s(2),Ge(t.versionsWithTags),s(4),j(" ",B(9,6,"plugins.manage.all_versions")," "),s(3),Be("ngModel",t.versionSelect),s(),Ge(t.versions),s(2),x(t.versionSelect!==t.plugin.installedVersion?14:-1),s(),x(t.versionSelect&&t.versionSelect===t.plugin.installedVersion?15:-1)}}var gC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$toastr=k(ce);$translate=k(de);plugin;loading=!0;versions=[];versionsWithTags=[];versionSelect;constructor(){}ngOnInit(){this.versionSelect=this.plugin.installedVersion||this.plugin.latestVersion,this.lookupVersions()}lookupVersions(){this.$api.get(`/plugins/lookup/${encodeURIComponent(this.plugin.name)}/versions`).subscribe({next:t=>{let i=new Set;for(let[n,f]of Object.entries(t.versions)){this.versions.push({version:n,engines:f.engines||null});let r=Object.keys(t.tags).find(o=>t.tags[o]===n);r&&(this.versionsWithTags.push({version:n,tag:r}),i.add(n))}this.versions.sort((n,f)=>(0,CC.rcompare)(n.version,f.version)),this.versionsWithTags.sort((n,f)=>{let r=["latest","next","beta","alpha"],o=r.includes(n.tag)?r.indexOf(n.tag):999,a=r.includes(f.tag)?r.indexOf(f.tag):999;return o-a}),!this.versions.find(n=>n.version===this.versionSelect)&&t.tags.latest&&(this.versionSelect=t.tags.latest),this.loading=!1},error:t=>{console.error(t),this.$toastr.error(t.error.message||t.message,this.$translate.instant("toast.title_error")),this.$activeModal.dismiss()}})}doInstall(t){this.$activeModal.close({name:this.plugin.name,version:t,engines:this.versions.find(i=>i.version===t).engines,action:this.plugin.installedVersion?"alternate":"install"})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body","d-flex","flex-row","flex-grow-1","w-100"],[1,"w-100","text-center","primary-text"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-left"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-right"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mt-2"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"text-left",2,"min-width","50%"],[1,"custom-select","w-100",2,"font-size","0.875rem",3,"ngModelChange","ngModel"],[3,"value"],[1,"btn","btn-primary","m-0","ml-3",3,"disabled"],["disabled","",1,"btn","btn-primary","m-0","ml-3"],[1,"fas","fa-fw","fa-code-compare","primary-text","mb-3",2,"font-size","75px"],[1,"mb-2"],[1,"mb-3"],[1,"text-monospace"],[1,"far","fa-fw","fa-arrow-alt-circle-down","primary-text","mb-3",2,"font-size","75px"],[1,"grey-text","text-monospace"],[1,"btn","btn-primary","m-0","ml-3"],[1,"btn","btn-primary","m-0","ml-3",3,"click"],[1,"fas","fa-fw","fa-arrow-alt-circle-down"],[1,"fas","fa-fw","fa-check-circle"],[1,"btn","btn-primary","m-0","ml-3",3,"click","disabled"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(6,"span",4),g(7,"\xD7"),c()()(),d(8,"div",5),S(9,Wj,2,0,"div",6)(10,tN,16,8,"div",7),c(),d(11,"div",8),w(12,"div",9),d(13,"div",10)(14,"button",11),_(15,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),g(16),_(17,"translate"),c()(),w(18,"div",12),c()()),i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),H("aria-label",B(5,6,"form.button_close")),s(5),x(n.loading?9:-1),s(),x(n.loading?-1:10),s(4),H("aria-label",B(15,8,"form.button_close")),s(2),j(" ",B(17,10,"form.button_close")," "))},dependencies:[It,Su,ku,Yu,rt,fu,ge],encapsulation:2})}return e})();var hC=Oe(qC(),1);function uN(e,u){e&1&&(d(0,"div",6),w(1,"i",17),c())}function iN(e,u){e&1&&(d(0,"div",7),g(1),_(2,"translate"),_(3,"translate"),c()),e&2&&(s(),Wt(" ",B(2,2,"plugins.settings.message_manual_config_required")," ",B(3,4,"plugins.settings.message_consult_documentation")," "))}function nN(e,u){if(e&1){let t=z();d(0,"button",28),_(1,"translate"),P("click",function(){N(t);let n=C().$index,f=C(2);return q(f.removeBlock(n))}),w(2,"i",29),c()}e&2&&h("ngbTooltip",B(1,1,"form.button_delete"))}function fN(e,u){if(e&1){let t=z();d(0,"div",18)(1,"div",19)(2,"div",20)(3,"h5",21),g(4),c(),d(5,"div"),S(6,nN,3,3,"button",22),d(7,"button",23),_(8,"translate"),P("click",function(){let n=N(t).$index,f=C(2);return q(f.editBlock(n))}),w(9,"i",24),c()()()(),d(10,"div",25)(11,"div",26)(12,"ngx-monaco-editor",27),we("ngModelChange",function(n){N(t);let f=C(2);return xe(f.currentBlock,n)||(f.currentBlock=n),q(n)}),P("onInit",function(n){N(t);let f=C(2);return q(f.onEditorInit(n))}),c()()()()}if(e&2){let t=u.$implicit,i=u.$index,n=C(2);h("ngbAccordionItem","configBlock."+i)("collapsed",n.show!=="configBlock."+i)("id","configBlock."+i),s(4),R(t.name||n.pluginAlias),s(2),x(n.show==="configBlock."+i?6:-1),s(),h("ngbTooltip",B(8,8,"form.button_edit")),s(5),h("options",n.editorOptions),Be("ngModel",n.currentBlock)}}function rN(e,u){if(e&1&&(d(0,"div",8),We(1,fN,13,10,"div",18,He),c()),e&2){let t=C();h("closeOthers",!0),s(),Ge(t.pluginConfig)}}function oN(e,u){if(e&1){let t=z();d(0,"button",30),P("click",function(){N(t);let n=C();return q(n.addBlock())}),w(1,"i",31),c()}}function aN(e,u){e&1&&(g(0),_(1,"translate")),e&2&&j(" ",B(1,1,"form.button_save")," ")}function DN(e,u){e&1&&w(0,"i",33)}function sN(e,u){if(e&1){let t=z();d(0,"button",32),P("click",function(){N(t);let n=C();return q(n.save())}),S(1,aN,2,3)(2,DN,1,0,"i",33),c()}if(e&2){let t=C();h("disabled",t.saveInProgress),s(),x(t.saveInProgress?-1:1),s(),x(t.saveInProgress?2:-1)}}function lN(e,u){if(e&1){let t=z();d(0,"button",34),P("click",function(){N(t);let n=C();return q(n.openFullConfigEditor())}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"plugins.settings.label_open_config_editor")," "))}var ls=(()=>{class e{$activeModal=k(Ce);$api=k(De);$md=k(Ks);$modal=k(Ue);$plugin=k(Bu);$router=k(qt);$settings=k($e);$toastr=k(ce);$translate=k(de);plugin;pluginAlias;pluginType;loading=!0;canConfigure=!1;show="";pluginConfig;currentBlock;currentBlockIndex=null;saveInProgress=!1;childBridges=[];isFirstSave=!1;monacoEditor;editorOptions;constructor(){}get arrayKey(){return this.pluginType==="accessory"?"accessories":"platforms"}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.$md.detect.mobile()?(this.loading=!1,this.canConfigure=!1):this.loadPluginAlias()}onEditorInit(t){return W(this,null,function*(){window.editor=t,this.monacoEditor=t,yield this.monacoEditor.getModel().setValue(this.currentBlock),yield this.monacoEditor.getAction("editor.action.formatDocument").run()})}loadPluginAlias(){this.$api.get(`/plugins/alias/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{t.pluginAlias&&t.pluginType?(this.pluginAlias=t.pluginAlias,this.pluginType=t.pluginType,this.loadHomebridgeConfig()):this.loading=!1},error:()=>{this.loading=!1}})}loadHomebridgeConfig(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe(t=>{this.pluginConfig=t,this.canConfigure=!0,this.loading=!1,this.pluginConfig.length?this.editBlock(0):(this.isFirstSave=!0,this.addBlock())})}addBlock(){if(!this.saveCurrentBlock()){this.$toastr.error(this.$translate.instant("plugins.config.please_fix"),this.$translate.instant("toast.title_error"));return}this.pluginConfig.push({[this.pluginType]:this.pluginAlias,name:this.pluginAlias}),this.editBlock(this.pluginConfig.length-1)}saveCurrentBlock(){if(this.currentBlockIndex!==null&&this.monacoEditor){let t=this.monacoEditor.getModel().getValue().trim(),i;t.charAt(0)==='"'&&t.charAt(t.length-1)==="]"&&(t=`{${t}}`);try{i=hC.default.parse(t)}catch(f){return console.error(f),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error")),!1}if(Array.isArray(i)||typeof i!="object")return this.$toastr.error(this.$translate.instant("plugins.config.must_be_object"),this.$translate.instant("toast.title_error")),!1;if(!i[this.pluginType]&&Array.isArray(i[this.arrayKey])&&i[this.arrayKey].length&&Object.keys(i).length===1&&(i=i[this.arrayKey][0]),this.pluginType==="accessory"&&(!i.name||typeof i.name!="string"))return this.$toastr.error(this.$translate.instant("plugins.config.name_property"),this.$translate.instant("toast.title_error")),i.name="",this.monacoEditor.getModel().setValue(JSON.stringify(i,null,4)),!1;let n=this.pluginConfig[this.currentBlockIndex];Object.keys(n).forEach(f=>delete n[f]),Object.assign(n,i),n[this.pluginType]=this.pluginAlias}return!0}editBlock(t){this.saveCurrentBlock()&&(this.show=`configBlock.${t}`,this.currentBlockIndex=t,this.currentBlock=JSON.stringify(this.pluginConfig[this.currentBlockIndex],null,4))}removeBlock(t){let i=this.pluginConfig[t],n=this.pluginConfig.findIndex(f=>f===i);n>-1&&this.pluginConfig.splice(n,1),this.currentBlockIndex=null,this.currentBlock=void 0,this.show=""}save(){return W(this,null,function*(){var t;if(this.saveInProgress=!0,!this.saveCurrentBlock()){this.saveInProgress=!1;return}try{let i=yield fe(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig));if(this.$activeModal.close(),this.isFirstSave&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&((t=i[0])!=null&&t.platform)){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&this.$settings.env.serviceMode&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let n=this.$modal.open(fi,{size:"lg",backdrop:"static"});n.componentInstance.bridges=this.childBridges.map(f=>({name:f.name,username:f.username}));return}this.$activeModal.close(),this.$modal.open(St,{size:"lg",backdrop:"static"})}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error")),this.saveInProgress=!1}})}openFullConfigEditor(){this.$router.navigate(["/config"]),this.$activeModal.close()}getChildBridges(){return W(this,null,function*(){try{(yield fe(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:22,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"alert","alert-warning"],["ngbAccordion","",3,"closeOthers"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-elegant","mr-auto"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"btn","btn-primary"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"card",3,"ngbAccordionItem","collapsed","id"],["ngbAccordionHeader","",1,"card-header"],[1,"d-flex","align-items-center","justify-content-between"],[1,"m-0"],["container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ml-3",3,"ngbTooltip"],["ngbAccordionButton","","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ml-2",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-edit"],["ngbAccordionCollapse",""],["ngbAccordionBody","",1,"card-body","p-0",2,"height","400px"],[1,"flex-grow-1","h-100","w-100","mb-0","pb-0",3,"ngModelChange","onInit","options","ngModel"],["container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ml-3",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-trash"],["type","button","data-dismiss","modal",1,"btn","btn-elegant","mr-auto",3,"click"],[1,"fa","fa-fw","fa-plus"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.close()}),d(6,"span",4),g(7,"\xD7"),c()()(),d(8,"div",5),S(9,uN,2,0,"div",6)(10,iN,4,6,"div",7)(11,rN,3,1,"div",8),c(),d(12,"div",9)(13,"div",10)(14,"button",11),P("click",function(){return n.$activeModal.close()}),g(15),_(16,"translate"),c()(),w(17,"div",12),d(18,"div",13),S(19,oN,2,0,"button",14)(20,sN,3,3,"button",15)(21,lN,3,3,"button",16),c()()()),i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),h("disabled",n.saveInProgress),H("aria-label",B(5,11,"form.button_close")),s(5),x(n.loading?9:-1),s(),x(!n.loading&&!n.canConfigure?10:-1),s(),x(!n.loading&&n.canConfigure?11:-1),s(3),h("disabled",n.saveInProgress),s(),j(" ",B(16,13,"form.button_close")," "),s(4),x(n.canConfigure?19:-1),s(),x(n.canConfigure?20:-1),s(),x(n.canConfigure?-1:21))},dependencies:[Ef,hf,gf,ti,Cf,Ff,mf,zs,It,rt,fu,ge],styles:[".no-padding-card-body .card-body{padding:0!important} body.dark-mode .no-padding-card-body .card-body{background-color:#1e1e1e}.manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var EC=e=>({link:e}),dN=(e,u)=>({"green-text":e,"grey-text":u});function cN(e,u){if(e&1){let t=z();d(0,"button",19),_(1,"translate"),P("click",function(){N(t);let n=C();return q(n.$activeModal.close("Dismiss"))}),d(2,"span",20),g(3,"\xD7"),c()()}if(e&2){let t=C();h("disabled",t.saveInProgress),H("aria-label",B(1,2,"form.button_close"))}}function pN(e,u){e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"child_bridge.bridges_paired_2")))}function mN(e,u){e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2&&(s(),j("",B(2,1,"child_bridge.select_type"),":"))}function FN(e,u){if(e&1&&(d(0,"li"),g(1),_(2,"translate"),c(),S(3,pN,3,3,"li")(4,mN,3,3,"li")),e&2){let t=C();s(),R(B(2,3,"child_bridge.bridges_paired")),s(2),x(t.configBlocks.length===1&&!t.deviceInfo[t.configBlocks[0]._bridge==null?null:t.configBlocks[0]._bridge.username]&&t.originalBridges.length===0?3:-1),s(),x(t.canConfigure?4:-1)}}function CN(e,u){if(e&1&&(d(0,"option",28),g(1),c()),e&2){let t=u.$implicit,i=u.$index;h("value",i),s(),R(t.name||t.platform||t.accessory)}}function gN(e,u){if(e&1){let t=z();d(0,"li",24),g(1),_(2,"translate"),c(),d(3,"li",22)(4,"label",25),g(5),_(6,"translate"),c(),d(7,"div",26)(8,"select",27),we("ngModelChange",function(n){N(t);let f=C(2);return xe(f.selectedBlock,n)||(f.selectedBlock=n),q(n)}),P("change",function(n){N(t);let f=C(2);return q(f.onBlockChange(n.target.value))}),We(9,CN,2,2,"option",28,He),c()()()}if(e&2){let t=C(2);s(),R(B(2,3,"form.label.changes_kept")),s(4),j(" ",B(6,5,t.isPlatform?"child_bridge.config.platform":"child_bridge.config.accessory")," "),s(3),Be("ngModel",t.selectedBlock),s(),Ge(t.configBlocks)}}function hN(e,u){if(e&1&&(d(0,"li",22)(1,"label",29),g(2),_(3,"translate"),c(),d(4,"div",30),g(5),c()()),e&2){let t=C(2);s(2),j(" ",B(3,2,t.isPlatform?"child_bridge.config.platform":"child_bridge.config.accessory")," "),s(3),j(" ",t.configBlocks[t.selectedBlock].name||t.configBlocks[t.selectedBlock].platform||t.configBlocks[t.selectedBlock].accessory," ")}}function EN(e,u){e&1&&(d(0,"li",22)(1,"label",29),g(2),_(3,"translate"),c(),d(4,"div",31),g(5),_(6,"translate"),c()()),e&2&&(s(2),R(B(3,2,"child_bridge.config.use")),s(3),j(" ",B(6,4,"child_bridge.config.prevent")," "))}function bN(e,u){if(e&1&&(d(0,"option",28),g(1),c()),e&2){let t=u.$implicit;h("value",t.username),s(),Wt("",t.name," (",t.username,")")}}function _N(e,u){if(e&1){let t=z();d(0,"li",22)(1,"label",36),g(2),_(3,"translate"),c(),d(4,"div",26)(5,"select",37),P("change",function(n){N(t);let f=C(3);return q(f.onLinkBridgeChange(n.target.value))}),d(6,"option",28),g(7),_(8,"translate"),c(),We(9,bN,2,3,"option",28,He),c()()()}if(e&2){let t=C(3);s(2),R(B(3,2,"child_bridge.config.or_link")),s(5),R(B(8,4,"child_bridge.config.select_existing")),s(2),Ge(t.bridgesAvailableForLink)}}function yN(e,u){if(e&1){let t=z();d(0,"li",32)(1,"span",13),g(2),_(3,"translate"),c(),d(4,"div",33)(5,"input",34),P("change",function(){N(t);let n=C(2);return q(n.toggleExternalBridge(n.configBlocks[n.selectedBlock],n.enabledBlocks[n.selectedBlock],n.selectedBlock))}),we("ngModelChange",function(n){N(t);let f=C(2);return xe(f.enabledBlocks[f.selectedBlock],n)||(f.enabledBlocks[f.selectedBlock]=n),q(n)}),c(),w(6,"label",35),c()(),S(7,_N,11,6,"li",22)}if(e&2){let t=C(2);s(2),R(B(3,5,"child_bridge.config.use")),s(3),h("id","toggleExternalBridgeInput_"+t.selectedBlock),Be("ngModel",t.enabledBlocks[t.selectedBlock]),s(),h("for","toggleExternalBridgeInput_"+t.selectedBlock),s(),x(!(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username)&&t.bridgesAvailableForLink.length?7:-1)}}function vN(e,u){if(e&1&&(d(0,"li",22)(1,"label",29),g(2),_(3,"translate"),c(),d(4,"div",30),g(5),c()(),d(6,"li",22)(7,"label",29),g(8),_(9,"translate"),c(),d(10,"div",30),g(11),c()(),d(12,"li",22)(13,"label",29),g(14),_(15,"translate"),c(),d(16,"div",30),g(17),c()()),e&2){let t=C(2);s(2),R(B(3,6,"accessories.bridge_link_username")),s(3),j(" ",t.currentlySelectedLink.username," "),s(3),R(B(9,8,"accessories.bridge_link_port")),s(3),j(" ",t.currentlySelectedLink.port," "),s(3),R(B(15,10,"accessories.bridge_link_name")),s(3),j(" ",t.currentlySelectedLink.name," ")}}function BN(e,u){e&1&&(d(0,"span"),g(1),_(2,"translate"),c()),e&2&&(s(),j(" \xB7 ",B(2,1,"status.code_scan")," "))}function xN(e,u){if(e&1){let t=z();d(0,"li",32)(1,"span",13),g(2),_(3,"translate"),d(4,"code"),g(5,"-D"),c()(),d(6,"div",33)(7,"input",50),_(8,"translate"),we("ngModelChange",function(n){N(t);let f=C(5);return xe(f.configBlocks[f.selectedBlock]._bridge.debugModeEnabled,n)||(f.configBlocks[f.selectedBlock]._bridge.debugModeEnabled=n),q(n)}),c(),w(9,"label",35),c()()}if(e&2){let t=C(5);s(2),j("",B(3,5,"child_bridge.config.debug")," "),s(5),h("id","homebridgeDebugMode_"+t.selectedBlock),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.debugModeEnabled),H("aria-label",B(8,7,"settings.startup.debug")),s(2),h("for","homebridgeDebugMode_"+t.selectedBlock)}}function wN(e,u){if(e&1){let t=z();d(0,"li",22)(1,"label",29),g(2),_(3,"translate"),c(),d(4,"div",26)(5,"input",44),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.name,n)||(f.configBlocks[f.selectedBlock]._bridge.name=n),q(n)}),c()()(),d(6,"li",22)(7,"label",29),g(8),_(9,"translate"),c(),d(10,"div",26)(11,"input",44),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.manufacturer,n)||(f.configBlocks[f.selectedBlock]._bridge.manufacturer=n),q(n)}),c()()(),d(12,"li",22)(13,"label",29),g(14),_(15,"translate"),c(),d(16,"div",26)(17,"input",44),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.model,n)||(f.configBlocks[f.selectedBlock]._bridge.model=n),q(n)}),c()()(),d(18,"li",22)(19,"label",29),g(20),_(21,"translate"),c(),d(22,"div",26)(23,"input",44),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.firmwareRevision,n)||(f.configBlocks[f.selectedBlock]._bridge.firmwareRevision=n),q(n)}),c()()(),S(24,xN,10,9,"li",32),d(25,"li",22)(26,"label",29)(27,"span",45),g(28,"DEBUG"),c(),w(29,"br")(30,"small",46),_(31,"translate"),c(),d(32,"div",26)(33,"input",47),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.env.DEBUG,n)||(f.configBlocks[f.selectedBlock]._bridge.env.DEBUG=n),q(n)}),c()()(),d(34,"li",22)(35,"label",29)(36,"span",45),g(37,"NODE_OPTIONS"),c(),w(38,"br"),d(39,"small",48),g(40),_(41,"translate"),c()(),d(42,"div",26)(43,"input",49),we("ngModelChange",function(n){N(t);let f=C(4);return xe(f.configBlocks[f.selectedBlock]._bridge.env.NODE_OPTIONS,n)||(f.configBlocks[f.selectedBlock]._bridge.env.NODE_OPTIONS=n),q(n)}),c()()()}if(e&2){let t=C(4);s(2),R(B(3,13,"child_bridge.config.name")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.name),s(3),R(B(9,15,"child_bridge.config.manufacturer")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.manufacturer),s(3),R(B(15,17,"child_bridge.config.model")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.model),s(3),R(B(21,19,"child_bridge.config.firmware")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.firmwareRevision),s(),x(t.canShowBridgeDebug?24:-1),s(6),h("innerHTML",Ve(31,21,"settings.service.debug_tooltip",At(26,EC,t.linkDebug)),ae),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.env.DEBUG),s(7),R(B(41,24,"settings.service.node_tooltip")),s(3),Be("ngModel",t.configBlocks[t.selectedBlock]._bridge.env.NODE_OPTIONS)}}function AN(e,u){if(e&1&&(d(0,"li",38)(1,"div",39),w(2,"app-qrcode",40),d(3,"p",41),g(4),c(),d(5,"p",42),w(6,"i",43),g(7),_(8,"translate"),S(9,BN,3,3,"span"),c()()(),d(10,"li",22)(11,"label",29),g(12),_(13,"translate"),c(),d(14,"div",30),g(15),c()(),d(16,"li",22)(17,"label",29),g(18),_(19,"translate"),c(),d(20,"div",30),g(21),c()(),S(22,wN,44,28)),e&2){let t=C(3);s(2),h("data",t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._setupCode),s(2),R(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username].pincode),s(2),h("ngClass",Au(16,dN,t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired,!t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired)),s(),j(" ",B(8,10,t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," "),s(2),x(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired?-1:9),s(3),R(B(13,12,"accessories.bridge_username")),s(3),j(" ",t.configBlocks[t.selectedBlock]._bridge.username," "),s(3),R(B(19,14,"accessories.bridge_port")),s(3),j(" ",t.configBlocks[t.selectedBlock]._bridge.port," "),s(),x(t.$settings.env.serviceMode?22:-1)}}function IN(e,u){if(e&1&&S(0,AN,23,19),e&2){let t=C(2);x(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]?0:-1)}}function SN(e,u){e&1&&(d(0,"ngb-alert",23),g(1),_(2,"translate"),w(3,"br"),g(4),_(5,"translate"),c()),e&2&&(h("dismissible",!1),s(),j(" ",B(2,3,"child_bridge.restart_homebridge")," "),s(3),j("",B(5,5,"child_bridge.return_to_pair")," "))}function kN(e,u){if(e&1&&(d(0,"ul",21),S(1,gN,11,7)(2,hN,6,4,"li",22)(3,EN,7,6,"li",22)(4,yN,8,7)(5,vN,18,12)(6,IN,1,1),c(),S(7,SN,6,7,"ngb-alert",23)),e&2){let t=C();s(),x(t.configBlocks.length>1?1:-1),s(),x(t.configBlocks.length===1?2:-1),s(),x(t.currentBridgeHasLinks?3:-1),s(),x(t.currentBridgeHasLinks?-1:4),s(),x(t.currentlySelectedLink?5:-1),s(),x(!t.currentlySelectedLink&&(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username)?6:-1),s(),x(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username&&t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]===!1?7:-1)}}function $N(e,u){e&1&&(g(0),_(1,"translate")),e&2&&j(" ",B(1,1,"child_bridge.confirm_delete_2")," ")}function TN(e,u){if(e&1&&(d(0,"li"),g(1),d(2,"span",45),g(3),c(),g(4,") "),c()),e&2){let t=u.$implicit,i=C(2);s(),j(" ",t.bridgeName||(i.deviceInfo[t.id]==null?null:i.deviceInfo[t.id].displayName)," ("),s(2),R(t.id)}}function PN(e,u){if(e&1&&(d(0,"ngb-alert",9)(1,"p"),g(2),_(3,"translate"),S(4,$N,2,3),c(),d(5,"div",15)(6,"ul",51),We(7,TN,5,2,"li",null,He),c()()()),e&2){let t=C();h("dismissible",!1),s(2),j(" ",B(3,3,"child_bridge.confirm_delete_1")," "),s(2),x(t.deletingPairedBridge?4:-1),s(3),Ge(t.deleteBridges)}}function ON(e,u){e&1&&(d(0,"ngb-alert",10),g(1),_(2,"translate"),c()),e&2&&(h("dismissible",!1),s(),j(" ",B(2,2,"child_bridge.must_configure_plugin")," "))}function MN(e,u){if(e&1){let t=z();d(0,"ngb-alert",11)(1,"div",7),g(2),_(3,"translate"),_(4,"translate"),c(),d(5,"button",52),P("click",function(){N(t);let n=C();return q(n.openFullConfigEditor())}),g(6),_(7,"translate"),c()()}e&2&&(h("dismissible",!1),s(2),Wt(" ",B(3,4,"plugins.settings.message_manual_config_required")," ",B(4,6,"plugins.settings.message_consult_documentation")," "),s(4),j(" ",B(7,8,"plugins.settings.label_open_config_editor")," "))}function jN(e,u){if(e&1){let t=z();d(0,"button",53),P("click",function(){N(t);let n=C();return q(n.$activeModal.close("Dismiss"))}),g(1),_(2,"translate"),c()}if(e&2){let t=C();h("disabled",t.saveInProgress),s(),j(" ",B(2,2,"form.button_close")," ")}}function NN(e,u){e&1&&w(0,"i",55)}function qN(e,u){if(e&1){let t=z();d(0,"button",54),P("click",function(){N(t);let n=C();return q(n.save())}),g(1),_(2,"translate"),S(3,NN,1,0,"i",55),c()}if(e&2){let t=C();h("disabled",t.saveInProgress),s(),j(" ",B(2,3,"form.button_save")," "),s(2),x(t.saveInProgress?3:-1)}}function VN(e,u){if(e&1){let t=z();d(0,"button",56),P("click",function(){N(t);let n=C();return q(n.$activeModal.close("Dismiss"))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"form.button_close")," "))}function RN(e,u){e&1&&(g(0),_(1,"translate")),e&2&&j(" ",B(1,1,"form.button_save")," ")}function LN(e,u){e&1&&w(0,"i",55)}function zN(e,u){if(e&1){let t=z();d(0,"button",54),P("click",function(){N(t);let n=C(2);return q(n.save())}),S(1,RN,2,3)(2,LN,1,0,"i",55),c()}if(e&2){let t=C(2);h("disabled",t.saveInProgress),s(),x(t.saveInProgress?-1:1),s(),x(t.saveInProgress?2:-1)}}function UN(e,u){if(e&1){let t=z();d(0,"button",58),P("click",function(){N(t);let n=C(2);return q(n.openPluginConfig())}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"plugins.button_settings")," "))}function HN(e,u){if(e&1&&S(0,zN,3,3,"button",16)(1,UN,3,3,"button",57),e&2){let t=C();x(t.configBlocks.length?0:-1),s(),x(t.configBlocks.length?-1:1)}}var bC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$modal=k(Ue);$plugins=k(Bu);$router=k(qt);$settings=k($e);$toastr=k(ce);$translate=k(de);plugin;schema;justInstalled=!1;canConfigure=!0;configBlocks=[];selectedBlock="0";isPlatform;enabledBlocks={};bridgeCache=new Map;originalBridges=[];deviceInfo=new Map;saveInProgress=!1;canShowBridgeDebug=!1;deleteBridges=[];deletingPairedBridge=!1;accessoryBridgeLinks=[];bridgesAvailableForLink=[];currentlySelectedLink=null;currentBridgeHasLinks=!1;linkChildBridges='<a href="https://github.com/homebridge/homebridge/wiki/Child-Bridges" target="_blank"><i class="fa fa/fw fas fa-fw fa-external-link-alt"></i></a>';linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt"></i></a>';constructor(){}ngOnInit(){this.isPlatform=this.schema.pluginType==="platform",this.loadPluginConfig(),this.canShowBridgeDebug=this.$settings.env.homebridgeVersion.startsWith("2")}onBlockChange(t){if(this.selectedBlock=t,this.currentlySelectedLink=this.accessoryBridgeLinks.find(i=>i.index===t)||null,this.currentBridgeHasLinks=this.accessoryBridgeLinks.some(i=>i.usesIndex===t),this.bridgesAvailableForLink=[],this.configBlocks[Number(t)].accessory)for(let[i,n]of Array.from(this.bridgeCache.entries()))this.deleteBridges.some(f=>f.id===n.username)||i<Number(t)&&this.bridgesAvailableForLink.push({index:i.toString(),usesIndex:t,name:n.name,port:n.port,username:n.username})}onLinkBridgeChange(t){var i,n;if(t){let f=this.configBlocks.findIndex(o=>{var a;return((a=o._bridge)==null?void 0:a.username)===t});this.accessoryBridgeLinks.push({index:this.selectedBlock,usesIndex:f.toString(),name:(i=this.bridgeCache.get(f))==null?void 0:i.name,port:(n=this.bridgeCache.get(f))==null?void 0:n.port,username:t}),this.currentlySelectedLink=this.accessoryBridgeLinks.find(o=>o.index===this.selectedBlock)||null,this.enabledBlocks[Number(this.selectedBlock)]=!0;let r=this.configBlocks[Number(this.selectedBlock)];r._bridge={username:t}}}loadPluginConfig(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>W(this,null,function*(){var n;this.configBlocks=t;for(let[f,r]of this.configBlocks.entries())if(r._bridge&&r._bridge.username){this.enabledBlocks[f]=!0;let o=Array.from(this.bridgeCache.values()).findIndex(D=>D.username===r._bridge.username),a=o!==-1?Array.from(this.bridgeCache.values())[o]:void 0;a?(r._bridge.env={},this.accessoryBridgeLinks.push({index:f.toString(),usesIndex:o.toString(),name:a.name,port:a.port,username:r._bridge.username})):(r._bridge.env=r._bridge.env||{},this.bridgeCache.set(f,r._bridge),yield this.getDeviceInfo(r._bridge.username),r._bridge.name||(r._bridge.name=(n=this.deviceInfo[r._bridge.username])==null?void 0:n.displayName),this.originalBridges.push(r._bridge))}this.justInstalled&&this.bridgeCache.size===0&&this.configBlocks.forEach((f,r)=>{this.enabledBlocks[r]=!0,this.toggleExternalBridge(f,!0,r.toString())}),this.accessoryBridgeLinks.find(f=>{var r;return f.username===((r=this.bridgeCache.get(Number(this.selectedBlock)))==null?void 0:r.username)})&&(this.currentBridgeHasLinks=!0)}),error:t=>{this.canConfigure=!1,console.error(t)}})}toggleExternalBridge(t,i,n){return W(this,null,function*(){var f;if(i){let r=this.bridgeCache.get(Number(n));t._bridge={username:r?r.username:this.generateUsername(),port:yield this.getUnusedPort(),name:r==null?void 0:r.name,model:r==null?void 0:r.model,manufacturer:r==null?void 0:r.manufacturer,firmwareRevision:r==null?void 0:r.firmwareRevision,debugModeEnabled:r==null?void 0:r.debugModeEnabled,env:r==null?void 0:r.env},this.deleteBridges.some(o=>o.id===t._bridge.username)&&(this.deleteBridges=this.deleteBridges.filter(o=>o.id!==t._bridge.username)),this.bridgeCache.set(Number(n),t._bridge),yield this.getDeviceInfo(t._bridge.username)}else{if(this.accessoryBridgeLinks.some(r=>r.index===n))this.accessoryBridgeLinks=this.accessoryBridgeLinks.filter(r=>r.index!==n),this.currentlySelectedLink=null;else{let r=this.originalBridges.find(o=>o.username===t._bridge.username);r&&this.deleteBridges.push({id:t._bridge.username,bridgeName:t._bridge.name||r.displayName,paired:(f=this.deviceInfo[t._bridge.username])==null?void 0:f._isPaired})}delete t._bridge}this.deletingPairedBridge=this.deleteBridges.some(r=>r.paired)})}getUnusedPort(){return W(this,null,function*(){this.saveInProgress=!0;try{return(yield fe(this.$api.get("/server/port/new"))).port}catch{return Math.floor(Math.random()*30001+3e4)}finally{this.saveInProgress=!1}})}getDeviceInfo(t){return W(this,null,function*(){try{this.deviceInfo[t]=yield fe(this.$api.get(`/server/pairings/${t.replace(/:/g,"")}`))}catch(i){console.error(i),this.deviceInfo[t]=!1}})}save(){return W(this,null,function*(){this.saveInProgress=!0;try{if(yield fe(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.configBlocks)),this.$settings.env.serviceMode)for(let t of this.deleteBridges)try{yield fe(this.$api.delete(`/server/pairings/${t.id.replace(/:/g,"")}`))}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("settings.reset_bridge.error"),this.$translate.instant("toast.title_error"))}this.$activeModal.close(),this.$modal.open(St,{size:"lg",backdrop:"static"})}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}finally{this.saveInProgress=!1}})}openPluginConfig(){this.$activeModal.close(),this.$plugins.settings({name:this.plugin.name,settingsSchema:!0,links:{}})}generateUsername(){let t="0123456789ABCDEF",i="0E:";for(let n=0;n<5;n++)i+=t.charAt(Math.round(Math.random()*15)),i+=t.charAt(Math.round(Math.random()*15)),n!==4&&(i+=":");return i}openFullConfigEditor(){this.$router.navigate(["/config"]),this.$activeModal.close()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",schema:"schema",justInstalled:"justInstalled"},decls:24,vars:17,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"disabled"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],[3,"innerHTML"],["type","error",1,"mt-3","mb-0",3,"dismissible"],["type","info",3,"dismissible"],["type","info",1,"mb-0",3,"dismissible"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button",1,"btn","btn-primary",3,"disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["type","info",1,"mt-3","mb-0",3,"dismissible"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-left","text-md-right","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-left","text-md-right","w-100","w-md-50","grey-text","text-monospace"],[1,"text-left","text-md-right","w-100","w-md-50","grey-text"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-right","grey-text"],["type","checkbox",1,"rendux-input",3,"change","ngModelChange","id","ngModel"],[1,"rendux-label",3,"for"],["for","bridgeLink",1,"mb-2","mb-md-0","w-100","w-md-50"],["id","bridgeLink",1,"custom-select",3,"change"],[1,"list-group-item","text-center"],[1,"w-100","d-flex","flex-column","text-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"mx-auto","mt-3","mb-1"],[1,"grey-text","mx-auto","small","mb-1",2,"max-width","400px"],[1,"fas","fa-fw","fa-link",3,"ngClass"],["type","text",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"text-monospace"],[1,"grey-text",3,"innerHTML"],["type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"grey-text"],["type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input",3,"ngModelChange","ngModel"],["type","checkbox",1,"rendux-input",3,"ngModelChange","id","ngModel"],[1,"d-inline-block","text-left","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-primary"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),S(4,cN,4,4,"button",3),c(),d(5,"div",4)(6,"div",5),w(7,"i",6),c(),d(8,"ul",7),w(9,"li",8),_(10,"translate"),S(11,FN,5,5),c(),S(12,kN,8,7)(13,PN,9,5,"ngb-alert",9)(14,ON,3,4,"ngb-alert",10)(15,MN,8,10,"ngb-alert",11),c(),d(16,"div",12)(17,"div",13),S(18,jN,3,4,"button",14),c(),d(19,"div",15),S(20,qN,4,5,"button",16)(21,VN,3,3,"button",17),c(),d(22,"div",18),S(23,HN,2,2),c()()()),i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),x(n.justInstalled?-1:4),s(5),h("innerHTML",Ve(10,12,"child_bridge.about",At(15,EC,n.linkChildBridges)),ae),s(2),x(n.configBlocks.length?11:-1),s(),x(n.canConfigure&&n.configBlocks.length?12:-1),s(),x(n.deleteBridges.length&&n.$settings.env.serviceMode?13:-1),s(),x(!n.configBlocks.length&&n.canConfigure?14:-1),s(),x(n.canConfigure?-1:15),s(3),x(n.canConfigure&&!n.justInstalled?18:-1),s(2),x(n.justInstalled?20:-1),s(),x(n.canConfigure?-1:21),s(2),x(n.canConfigure&&!n.justInstalled?23:-1))},dependencies:[It,Su,ku,Qu,Zu,Yu,rt,fu,ei,Js,Ct,ge],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var ds=Oe(ao(),1);var io=()=>["homebridge","homebridge-config-ui-x"],_C=(e,u,t)=>({pluginName:e,minVersion:u,installedVersion:t}),WN=(e,u,t)=>({minVersion:e,installedVersion:u,latestVersion:t,packageName:"Homebridge"}),GN=()=>({packageName:"Homebridge"}),KN=(e,u,t)=>({minVersion:e,installedVersion:u,latestVersion:t,packageName:"Homebridge UI"}),JN=()=>({packageName:"Homebridge UI"});function ZN(e,u){if(e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2){let t=C(2);s(),j(" ",Ve(2,1,"plugins.compat.node_too_low",Gt(4,_C,t.plugin.displayName,t.nodeMinVersion,t.nodeInstalledVersion))," ")}}function QN(e,u){if(e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2){let t=C(2);s(),j(" ",Ve(2,1,"plugins.compat.hb_too_low",Gt(4,_C,t.plugin.name,t.hbMinVersion,t.hbInstalledVersion))," ")}}function XN(e,u){if(e&1&&(d(0,"div",12),w(1,"i",13),c(),d(2,"ul",14),S(3,ZN,3,8,"li")(4,QN,3,8,"li"),c(),d(5,"ngb-alert",15)(6,"p",16),g(7),_(8,"translate"),c()()),e&2){let t=C();s(),As("",t.action==="install"?"far fa-fw fa-arrow-alt-circle-down":t.action==="update"?"far fa-fw fa-arrow-alt-circle-up":"fas fa-fw fa-code-compare"," primary-text"),s(2),x(t.isValidNode?-1:3),s(),x(t.isValidHb?-1:4),s(),h("dismissible",!1),s(2),R(B(8,7,"plugins.compat.are_you_sure"))}}function YN(e,u){if(e&1&&(d(0,"div",12),w(1,"i",17),c(),d(2,"ul",14)(3,"li"),g(4),_(5,"translate"),c()(),d(6,"ngb-alert",15)(7,"p",18),g(8),_(9,"translate"),c(),d(10,"p",16)(11,"a",19),g(12),_(13,"translate"),w(14,"i",20),c()()()),e&2){let t=C();s(4),j(" ",Ve(5,4,"plugins.compat.hb_node_too_low",Gt(12,WN,t.nodeMinVersion,t.nodeInstalledVersion,t.plugin.latestVersion))," "),s(2),h("dismissible",!1),s(2),R(Ve(9,7,"plugins.compat.node_first",Ne(16,GN))),s(4),j(" ",B(13,10,"plugins.compat.node_link")," ")}}function eq(e,u){if(e&1&&(d(0,"div",12),w(1,"i",17),c(),d(2,"ul",14)(3,"li"),g(4),_(5,"translate"),c()(),d(6,"ngb-alert",15)(7,"p",18),g(8),_(9,"translate"),c(),d(10,"p",16)(11,"a",19),g(12),_(13,"translate"),w(14,"i",20),c()()()),e&2){let t=C();s(4),j(" ",Ve(5,4,"plugins.compat.hb_node_too_low",Gt(12,KN,t.nodeMinVersion,t.nodeInstalledVersion,t.plugin.latestVersion))," "),s(2),h("dismissible",!1),s(2),R(Ve(9,7,"plugins.compat.node_first",Ne(16,JN))),s(4),j(" ",B(13,10,"plugins.compat.node_link")," ")}}function tq(e,u){if(e&1){let t=z();d(0,"button",21),P("click",function(){N(t);let n=C();return q(n.$activeModal.dismiss("Dismiss"))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"form.button_close")," "))}function uq(e,u){if(e&1){let t=z();d(0,"button",21),P("click",function(){N(t);let n=C();return q(n.$activeModal.dismiss("Dismiss"))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"form.button_close")," "))}function iq(e,u){if(e&1){let t=z();d(0,"button",22),P("click",function(){N(t);let n=C();return q(n.$activeModal.close(!0))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"plugins.node_update.continue")," "))}var yC=(()=>{class e{$activeModal=k(Ce);$settings=k($e);plugin;isValidNode;isValidHb;action;nodeMinVersion;nodeInstalledVersion;hbMinVersion;hbInstalledVersion;constructor(){}ngOnInit(){var t,i;this.nodeMinVersion=(0,ds.minVersion)((t=this.plugin.updateEngines)==null?void 0:t.node),this.nodeInstalledVersion=this.$settings.env.nodeVersion,this.hbMinVersion=(0,ds.minVersion)((i=this.plugin.updateEngines)==null?void 0:i.homebridge),this.hbInstalledVersion=this.$settings.env.homebridgeVersion}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",isValidNode:"isValidNode",isValidHb:"isValidHb",action:"action"},decls:20,vars:16,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click"],["aria-hidden","true"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger"],[1,"text-center","mb-3"],[2,"font-size","75px"],[1,"mb-3"],["type","warning",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"fab","fa-fw","fa-node-js","primary-text",2,"font-size","75px"],[1,"text-center","mb-1"],["href","https://homebridge.io/w/JTKEF","target","_blank","rel","noopener noreferrer"],[1,"fa","fa-fw","fa-external-link-alt"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),_(4,"translate"),c(),d(5,"button",3),_(6,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(7,"span",4),g(8,"\xD7"),c()()(),d(9,"div",5),S(10,XN,9,9)(11,YN,15,17)(12,eq,15,17),c(),d(13,"div",6)(14,"div",7),S(15,tq,3,3,"button",8),c(),d(16,"div",9),S(17,uq,3,3,"button",8),c(),d(18,"div",10),S(19,iq,3,3,"button",11),c()()()),i&2&&(s(3),R(B(4,8,"plugins.compat.title")),s(2),H("aria-label",B(6,10,"form.button_close")),s(5),x(Ne(12,io).includes(n.plugin.name)?-1:10),s(),x(n.plugin.name==="homebridge"?11:-1),s(),x(n.plugin.name==="homebridge-config-ui-x"?12:-1),s(3),x(Ne(13,io).includes(n.plugin.name)?-1:15),s(2),x(Ne(14,io).includes(n.plugin.name)?17:-1),s(2),x(Ne(15,io).includes(n.plugin.name)?-1:19))},dependencies:[ge,ei],encapsulation:2})}return e})();var Ze=[];for(let e=0;e<256;++e)Ze.push((e+256).toString(16).slice(1));function vC(e,u=0){return(Ze[e[u+0]]+Ze[e[u+1]]+Ze[e[u+2]]+Ze[e[u+3]]+"-"+Ze[e[u+4]]+Ze[e[u+5]]+"-"+Ze[e[u+6]]+Ze[e[u+7]]+"-"+Ze[e[u+8]]+Ze[e[u+9]]+"-"+Ze[e[u+10]]+Ze[e[u+11]]+Ze[e[u+12]]+Ze[e[u+13]]+Ze[e[u+14]]+Ze[e[u+15]]).toLowerCase()}var cs,nq=new Uint8Array(16);function ps(){if(!cs){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");cs=crypto.getRandomValues.bind(crypto)}return cs(nq)}var fq=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ms={randomUUID:fq};function rq(e,u,t){var n,f,r;if(ms.randomUUID&&!u&&!e)return ms.randomUUID();e=e||{};let i=(r=(f=e.random)!=null?f:(n=e.rng)==null?void 0:n.call(e))!=null?r:ps();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,u){if(t=t||0,t<0||t+16>u.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let o=0;o<16;++o)u[t+o]=i[o];return u}return vC(i)}var no=rq;var BC=Oe(tn(),1);var xC=(()=>{class e{$api=k(De);$toastr=k(ce);$translate=k(de);constructor(){}downloadDumpFile(){this.$api.get("/plugins/custom-plugins/homebridge-deconz/dump-file",{observe:"response",responseType:"blob"}).subscribe({next:t=>{(0,BC.saveAs)(t.body,"homebridge-deconz.json.gz")},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.deconz.dump_no_exist"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["app-homebridge-deconz"]],decls:3,vars:0,consts:[["type","button","data-dismiss","modal",1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-download"]],template:function(i,n){i&1&&(d(0,"button",0),P("click",function(){return n.downloadDumpFile()}),w(1,"i",1),g(2,` Download Dump File
27
27
  `),c())},encapsulation:2})}return e})();var wC=Oe(tn(),1);var AC=(()=>{class e{$api=k(De);$translate=k(de);$toastr=k(ce);constructor(){}downloadDumpFile(){this.$api.get("/plugins/custom-plugins/homebridge-hue/dump-file",{observe:"response",responseType:"blob"}).subscribe({next:t=>{(0,wC.saveAs)(t.body,"homebridge-hue.json.gz")},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.hue.dump_no_exist"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["app-homebridge-hue"]],decls:3,vars:0,consts:[["type","button","data-dismiss","modal",1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-download"]],template:function(i,n){i&1&&(d(0,"button",0),P("click",function(){return n.downloadDumpFile()}),w(1,"i",1),g(2,` Download Dump File
28
28
  `),c())},encapsulation:2})}return e})();var IC=(()=>{class e{transform(t){return t.replace(/\$\{\{HOSTNAME\}\}/g,location.hostname)}static \u0275fac=function(i){return new(i||e)};static \u0275pipe=ws({name:"interpolateMd",type:e,pure:!0})}return e})();function oq(e,u){if(e&1&&(w(0,"markdown",6),_(1,"interpolateMd")),e&2){let t=C();h("data",B(1,1,t.schema.headerDisplay))}}function aq(e,u){if(e&1){let t=z();d(0,"button",30),_(1,"translate"),P("click",function(){N(t);let n=C().$implicit,f=C(2);return q(f.removeBlock(n.__uuid__))}),w(2,"i",31),c()}e&2&&h("ngbTooltip",B(1,1,"form.button_delete"))}function Dq(e,u){if(e&1){let t=z();d(0,"div",19)(1,"div",20)(2,"div",21)(3,"h5",22),w(4,"i",23),_(5,"translate"),g(6),c(),d(7,"div"),S(8,aq,3,3,"button",24),d(9,"button",25),_(10,"translate"),w(11,"i",26),c()()()(),d(12,"div",27)(13,"div",28)(14,"app-schema-form",29),we("dataChange",function(n){let f=N(t).$implicit;return xe(f.config,n)||(f.config=n),q(n)}),P("isValid",function(n){let f=N(t).$index,r=C(2);return q(r.onIsValid(n,f))}),c()()()()}if(e&2){let t=u.$implicit,i=u.$index,n=C(2);h("ngbAccordionItem",t.__uuid__)("collapsed",n.show!==t.__uuid__)("id",t.__uuid__),s(4),h("ngClass",n.formBlocksValid[i]?"fa-circle-check green-text":n.strictValidation?"fa-circle-exclamation red-text":"fa-circle-exclamation orange-text")("ngbTooltip",B(5,10,n.formBlocksValid[i]?"form.label_valid":n.strictValidation?"form.label_invalid_strict":"form.label_invalid")),s(2),j(" ",t.name," "),s(2),x(n.plugin.name!=="homebridge-config-ui-x"&&n.show===t.__uuid__?8:-1),s(),h("ngbTooltip",B(10,12,"form.button_edit")),s(5),h("configSchema",n.schema),Be("data",t.config)}}function sq(e,u){if(e&1){let t=z();d(0,"div",18),P("show",function(n){N(t);let f=C();return q(f.blockShown(n))})("hide",function(n){N(t);let f=C();return q(f.blockHidden(n))}),We(1,Dq,15,14,"div",19,He),c()}if(e&2){let t=C();h("closeOthers",!0),s(),Ge(t.pluginConfig)}}function lq(e,u){e&1&&w(0,"app-homebridge-deconz")}function dq(e,u){e&1&&w(0,"app-homebridge-hue")}function cq(e,u){if(e&1){let t=z();d(0,"div",8)(1,"app-schema-form",29),we("dataChange",function(n){N(t);let f=C();return xe(f.pluginConfig[0].config,n)||(f.pluginConfig[0].config=n),q(n)}),P("isValid",function(n){N(t);let f=C();return q(f.onIsValid(n,0))}),c(),S(2,lq,1,0,"app-homebridge-deconz")(3,dq,1,0,"app-homebridge-hue"),c()}if(e&2){let t=C();s(),h("configSchema",t.schema),Be("data",t.pluginConfig[0].config),s(),x(t.plugin.name==="homebridge-deconz"?2:-1),s(),x(t.plugin.name==="homebridge-hue"?3:-1)}}function pq(e,u){if(e&1&&(w(0,"markdown",6),_(1,"interpolateMd")),e&2){let t=C();h("data",B(1,1,t.schema.footerDisplay))}}function mq(e,u){if(e&1&&(w(0,"i",15),_(1,"translate")),e&2){let t=C();h("ngClass",t.formIsValid?"fa-circle-check green-text":t.strictValidation?"fa-circle-exclamation red-text":"fa-circle-exclamation orange-text")("ngbTooltip",B(1,2,t.formIsValid?"form.label_valid":t.strictValidation?"form.label_invalid_strict":"form.label_invalid"))}}function Fq(e,u){e&1&&(d(0,"span"),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"form.button_save")))}function Cq(e,u){e&1&&w(0,"i",17)}var SC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$plugin=k(Bu);$modal=k(Ue);$settings=k($e);$toastr=k(ce);$translate=k(de);plugin;schema;pluginAlias;pluginType;pluginConfig=[];form={};show="";saveInProgress;childBridges=[];isFirstSave=!1;formBlocksValid={};formIsValid=!0;strictValidation=!1;constructor(){}ngOnInit(){this.pluginAlias=this.schema.pluginAlias,this.pluginType=this.schema.pluginType,this.strictValidation=this.schema.strictValidation,this.loadPluginConfig()}loadPluginConfig(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{for(let i of t){let n={__uuid__:no(),name:i.name||this.schema.pluginAlias,config:i};this.pluginConfig.push(n)}this.pluginConfig.length?this.show=this.pluginConfig[0].__uuid__:(this.isFirstSave=!0,this.addBlock()),this.plugin.name==="homebridge-hue"&&this.pluginConfig.length&&this.homebridgeHueFix(this.pluginConfig[0].config)},error:t=>{var i;console.error(t),this.$toastr.error(((i=t.error)==null?void 0:i.message)||this.$translate.instant("plugins.config.load_error"),this.$translate.instant("toast.title_error"))}})}save(){return W(this,null,function*(){var i;this.saveInProgress=!0;let t=this.pluginConfig.map(n=>n.config);try{let n=yield fe(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,t));if(this.saveInProgress=!1,this.plugin.name==="homebridge-config-ui-x")this.$settings.getAppSettings().catch(()=>{});else if(this.isFirstSave&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&((i=n[0])!=null&&i.platform)){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&this.$settings.env.serviceMode&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let f=this.$modal.open(fi,{size:"lg",backdrop:"static"});f.componentInstance.bridges=this.childBridges.map(r=>({name:r.name,username:r.username}));return}this.$activeModal.close(),this.$modal.open(St,{size:"lg",backdrop:"static"})}catch(n){this.saveInProgress=!1,console.error(n),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}blockShown(t){this.show=t;for(let i of this.pluginConfig)i.name=i.config.name||i.name}blockHidden(t){this.show===t&&(this.show="")}addBlock(){let t=no();this.pluginConfig.push({__uuid__:t,name:this.schema.pluginAlias,config:{[this.pluginType]:this.schema.pluginAlias}}),this.formBlocksValid[this.pluginConfig.length-1]=!1,this.blockShown(t)}removeBlock(t){let i=this.pluginConfig.findIndex(n=>n.__uuid__===t);this.pluginConfig.splice(i,1),delete this.formBlocksValid[i],Object.keys(this.formBlocksValid).length||(this.formIsValid=!0)}getChildBridges(){return W(this,null,function*(){try{(yield fe(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}homebridgeHueFix(t){if(this.schema.schema.properties.users={type:"object",properties:{}},!(!t.users||typeof t.users!="object"))for(let i of Object.keys(t.users))this.schema.schema.properties.users.properties[i]={type:"string"}}onIsValid(t,i){this.formBlocksValid[i]=t,this.formIsValid=Object.values(this.formBlocksValid).every(n=>n)}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",schema:"schema"},decls:25,vars:17,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body","pb-0"],[1,"plugin-md",3,"data"],["ngbAccordion","",3,"closeOthers"],[1,"card","card-body"],[1,"mt-3"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-right","d-flex","align-items-center","justify-content-end"],["container","modal","placement","top","openDelay","150","triggers","hover",1,"fa","fa-fw","fa-xl",3,"ngClass","ngbTooltip"],["type","button","data-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["ngbAccordion","",3,"show","hide","closeOthers"],[1,"card",3,"ngbAccordionItem","collapsed","id"],["ngbAccordionHeader","",1,"card-header"],[1,"d-flex","align-items-center","justify-content-between"],[1,"m-0"],["container","modal","placement","right","openDelay","150","triggers","hover",1,"fa","fa-fw",3,"ngClass","ngbTooltip"],["container","modal","placement","left","openDelay","150","triggers","hover",1,"btn","btn-danger","ml-2",3,"ngbTooltip"],["ngbAccordionButton","","container","modal","placement","left","openDelay","150","triggers","hover",1,"btn","btn-primary","ml-2","mr-0",3,"ngbTooltip"],[1,"fa","fa-fw","fa-edit"],["ngbAccordionCollapse",""],["ngbAccordionBody","",1,"card-body"],[3,"dataChange","isValid","configSchema","data"],["container","modal","placement","left","openDelay","150","triggers","hover",1,"btn","btn-danger","ml-2",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-trash"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),c(),d(4,"button",3),_(5,"translate"),P("click",function(){return n.$activeModal.close("Dismiss")}),d(6,"span",4),g(7,"\xD7"),c()()(),d(8,"div",5),S(9,oq,2,3,"markdown",6)(10,sq,3,1,"div",7)(11,cq,4,4,"div",8),d(12,"div",9),S(13,pq,2,3,"markdown",6),c()(),d(14,"div",10)(15,"div",11)(16,"button",12),P("click",function(){return n.$activeModal.close()}),g(17),_(18,"translate"),c()(),w(19,"div",13),d(20,"div",14),S(21,mq,2,4,"i",15),d(22,"button",16),P("click",function(){return n.save()}),S(23,Fq,3,3,"span")(24,Cq,1,0,"i",17),c()()()()),i&2&&(s(3),R(n.plugin.displayName||n.plugin.name),s(),h("disabled",n.saveInProgress),H("aria-label",B(5,13,"form.button_close")),s(5),x(n.schema.headerDisplay?9:-1),s(),x(n.pluginConfig.length&&!n.schema.singular?10:-1),s(),x(n.pluginConfig.length&&n.schema.singular?11:-1),s(2),x(n.schema.footerDisplay?13:-1),s(3),h("disabled",n.saveInProgress),s(),j(" ",B(18,15,"form.button_close")," "),s(4),x(n.schema.singular?21:-1),s(),h("disabled",n.saveInProgress||!n.formIsValid&&n.strictValidation),s(),x(n.saveInProgress?-1:23),s(),x(n.saveInProgress?24:-1))},dependencies:[ni,ii,Ji,Ef,hf,gf,ti,Cf,Ff,mf,Ct,Ki,xC,AC,ge,IC],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var gq=(e,u)=>({"green-text":e,"grey-text":u}),hq=(e,u)=>({"btn-danger":e,"btn-elegant":u}),Eq=(e,u,t)=>({"fa-broom":e,"fa-undo":u,"fa-spinner fa-pulse":t});function bq(e,u){e&1&&(d(0,"div",13),w(1,"i",14),c(),d(2,"p",15),g(3),_(4,"translate"),c()),e&2&&(s(3),R(B(4,1,"reset.bridge_accessories.empty")))}function _q(e,u){if(e&1){let t=z();d(0,"li",19)(1,"span"),g(2),w(3,"br"),d(4,"small",20),w(5,"i",21),g(6),_(7,"translate"),d(8,"span",22),g(9),c()()(),d(10,"button",23),_(11,"translate"),P("click",function(){let n=N(t).$implicit,f=C(2);return q(f.toggleList(n._id))}),w(12,"i",24),c()()}if(e&2){let t=u.$implicit,i=C(2);s(2),j(" ",t.name," "),s(3),h("ngClass",Au(12,gq,t._isPaired,!t._isPaired)),s(),j(" ",B(7,8,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),s(3),R(t._username),s(),h("disabled",i.clicked)("ngClass",Au(15,hq,!i.toDelete.includes(t._id),i.toDelete.includes(t._id))),H("aria-label",B(11,10,"form.button_delete")),s(2),h("ngClass",Gt(18,Eq,!i.toDelete.includes(t._id),i.toDelete.includes(t._id)&&!i.clicked,i.toDelete.includes(t._id)&&i.clicked))}}function yq(e,u){if(e&1&&(d(0,"div",13),w(1,"i",16),c(),d(2,"ul",17)(3,"li"),g(4),_(5,"translate"),c(),d(6,"li"),g(7),_(8,"translate"),c()(),d(9,"ul",18),We(10,_q,13,22,"li",19,He),c()),e&2){let t=C();s(4),R(B(5,2,"reset.bridge_accessories.list_1")),s(3),R(B(8,4,"reset.clear_cache_single.list_3")),s(3),Ge(t.pairings)}}function vq(e,u){if(e&1){let t=z();d(0,"button",25),P("click",function(){N(t);let n=C();return q(n.$activeModal.dismiss("Dismiss"))}),g(1),_(2,"translate"),c()}if(e&2){let t=C();h("disabled",t.clicked),s(),j(" ",B(2,2,"form.button_close")," ")}}function Bq(e,u){if(e&1){let t=z();d(0,"button",26),P("click",function(){N(t);let n=C();return q(n.$activeModal.dismiss("Dismiss"))}),g(1),_(2,"translate"),c()}e&2&&(s(),j(" ",B(2,1,"form.button_close")," "))}function xq(e,u){if(e&1&&g(0),e&2){let t=C(3);j(" (",t.toDelete.length,") ")}}function wq(e,u){if(e&1&&(g(0),_(1,"translate"),S(2,xq,1,1)),e&2){let t=C(2);j(" ",B(1,2,"form.button_remove")," "),s(2),x(t.toDelete.length>0?2:-1)}}function Aq(e,u){e&1&&w(0,"i",28)}function Iq(e,u){if(e&1){let t=z();d(0,"button",27),P("click",function(){N(t);let n=C();return q(n.cleanBridges())}),S(1,wq,3,4)(2,Aq,1,0,"i",28),c()}if(e&2){let t=C();h("disabled",!t.toDelete.length||t.clicked),s(),x(t.clicked?-1:1),s(),x(t.clicked?2:-1)}}var kC=(()=>{class e{$activeModal=k(Ce);$api=k(De);$router=k(qt);$toastr=k(ce);$translate=k(de);childBridges=[];clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return W(this,null,function*(){try{this.pairings=(yield fe(this.$api.get("/server/pairings"))).filter(t=>t._category==="bridge"&&!t._main&&this.childBridges.find(i=>i.username===t._username)).sort((t,i)=>t.name.localeCompare(i.name))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(t){this.toDelete.includes(t)?this.toDelete=this.toDelete.filter(i=>i!==t):this.toDelete.push(t)}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(t=>({id:t}))}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=K({type:e,selectors:[["ng-component"]],inputs:{childBridges:"childBridges"},decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"text-monospace"],[1,"btn","btn-danger","m-0","ml-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(i,n){i&1&&(d(0,"div",0)(1,"div",1)(2,"h5",2),g(3),_(4,"translate"),c(),d(5,"button",3),_(6,"translate"),P("click",function(){return n.$activeModal.dismiss("Dismiss")}),d(7,"span",4),g(8,"\xD7"),c()()(),d(9,"div",5),S(10,bq,5,3)(11,yq,12,6),c(),d(12,"div",6)(13,"div",7),S(14,vq,3,4,"button",8),c(),d(15,"div",9),S(16,Bq,3,3,"button",10),c(),d(17,"div",11),S(18,Iq,3,3,"button",12),c()()()),i&2&&(s(3),R(B(4,8,"child_bridge.reset_accessories")),s(2),h("disabled",n.clicked),H("aria-label",B(6,10,"form.button_close")),s(5),x(n.pairings.length===0?10:-1),s(),x(n.pairings.length>0?11:-1),s(3),x(n.pairings.length>0?14:-1),s(2),x(n.pairings.length===0?16:-1),s(2),x(n.pairings.length>0?18:-1))},dependencies:[Ct,ge],encapsulation:2})}return e})();var TC=Oe(tn(),1);var PC=Oe(Hs(),1),OC=Oe(Ws(),1);var Sq=e=>({prefix:e}),kq=e=>({link:e}),$C=(e,u,t,i)=>({"fa-circle-o":e,"fa-spinner fa-pulse":u,"fa-check-circle green-text":t,"fa-times-circle red-text":i}),$q=(e,u,t)=>({"fa-circle-o":e,"fa-spinner fa-pulse":u,"fa-times-circle red-text":t});function Tq(e,u){e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"plugins.manage.scoped.process")))}function Pq(e,u){e&1&&(d(0,"li"),g(1),_(2,"translate"),c()),e&2&&(s(),R(B(2,1,"plugins.manage.manual_update_command")))}function Oq(e,u){if(e&1&&(w(0,"li",9),_(1,"translate"),S(2,Pq,3,3,"li")),e&2){let t=C();h("innerHTML",B(1,2,"plugins.manage.scoped.windows"),ae),s(2),x(t.$settings.env.serviceMode?2:-1)}}function Mq(e,u){if(e&1&&(d(0,"pre",18),g(1),c()),e&2){let t=C(2);s(),ks(`hb-service stop
29
29
  npm install -g `,t.plugin.newHbScope.to,"@",t.plugin.newHbScope.switch,`