homebridge-config-ui-x 5.0.0-beta.1 → 5.0.0-beta.2

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 (29) hide show
  1. package/package.json +1 -1
  2. package/public/{chunk-FPOZAQLC.js → chunk-2ZL77L5V.js} +1 -1
  3. package/public/{chunk-DOLYKWZH.js → chunk-36QI2JZZ.js} +1 -1
  4. package/public/{chunk-S4SOWUAW.js → chunk-54RIF7BL.js} +1 -1
  5. package/public/{chunk-ZEONO5N6.js → chunk-6PFEOQAC.js} +1 -1
  6. package/public/{chunk-422JXES4.js → chunk-AA4ALV5Q.js} +1 -1
  7. package/public/{chunk-FBP5C7VG.js → chunk-C4DMFK2F.js} +1 -1
  8. package/public/{chunk-TS27NWVA.js → chunk-CMASH2I6.js} +1 -1
  9. package/public/{chunk-BQLALGZ5.js → chunk-D63P2BMG.js} +1 -1
  10. package/public/{chunk-C4OONTE3.js → chunk-E6TKCZQK.js} +1 -1
  11. package/public/{chunk-LS7T2AVU.js → chunk-EEAGROCO.js} +1 -1
  12. package/public/{chunk-K6TZNXIW.js → chunk-EXLYVJ3I.js} +1 -1
  13. package/public/{chunk-VROGSJLF.js → chunk-H7H7YVXE.js} +1 -1
  14. package/public/{chunk-3KSUXL3K.js → chunk-LL4U2S7T.js} +1 -1
  15. package/public/{chunk-5UYN5OWH.js → chunk-MMU5EB5I.js} +1 -1
  16. package/public/{chunk-VVILZWTF.js → chunk-MQHO5ODL.js} +1 -1
  17. package/public/{chunk-Z47RP4BH.js → chunk-MQOC5AAT.js} +1 -1
  18. package/public/{chunk-7564WJJL.js → chunk-NJRXPLIM.js} +1 -1
  19. package/public/{chunk-T5QVI4H2.js → chunk-NLHSKWUN.js} +1 -1
  20. package/public/{chunk-DRWF7R4E.js → chunk-PCHM6ESV.js} +1 -1
  21. package/public/{chunk-K3YXRBTH.js → chunk-PREOLVG7.js} +1 -1
  22. package/public/{chunk-RID7V4NP.js → chunk-RYWTZYEC.js} +1 -1
  23. package/public/{chunk-WCQIGCXO.js → chunk-TCMARCBB.js} +1 -1
  24. package/public/{chunk-NZPTOWFC.js → chunk-UBGLUD5C.js} +1 -1
  25. package/public/{chunk-RIWBPQF3.js → chunk-V7NUKNPP.js} +1 -1
  26. package/public/{chunk-7R6JSPNH.js → chunk-W5QNZH4U.js} +1 -1
  27. package/public/{chunk-B6G7GTDI.js → chunk-YXVNS6GA.js} +1 -1
  28. package/public/index.html +1 -1
  29. package/public/{main-VTRWQ63R.js → main-EIMWK4RL.js} +2 -2
@@ -1,4 +1,4 @@
1
- import{a as Dr}from"./chunk-4R6MSI5I.js";import{a as gi}from"./chunk-SJTXTMYT.js";import{a as Re}from"./chunk-6QEO3BTW.js";import{a as li}from"./chunk-B6C32ZRK.js";import{a as mi,b as Ue}from"./chunk-LS7T2AVU.js";import{a as pi,b as di}from"./chunk-THFLPY67.js";import{a as Be}from"./chunk-7564WJJL.js";import{b as ci,c as Ne,d as $e,n as Ae}from"./chunk-TS27NWVA.js";import{a as ge}from"./chunk-7R6JSPNH.js";import{a as ui}from"./chunk-JM7QCDMZ.js";import{a as ni}from"./chunk-RIWBPQF3.js";import{A as ot,B as at,C as st,D as lt,E as ct,F as pt,G as Pe,M as q,N as J,O as Me,b as rt,c as ri,e as ye,l as we,r as oi,s as ai,t as si}from"./chunk-WCDFKYP6.js";import{b as Ie,c as L,k as D,m as Q}from"./chunk-S4SOWUAW.js";import{a as F,b as U}from"./chunk-F22FMU37.js";import{$ as j,Ab as ae,Ga as x,H as Je,Ka as A,La as d,P as $t,Pa as ti,Pb as ve,Qb as de,Rb as X,Ua as l,Va as c,W as Ze,Wa as v,Xb as nt,Z as he,Za as V,a as Ke,ab as I,b as Qe,bb as f,ca as Zt,e as R,fb as et,g as pe,gb as tt,h as s,ha as w,hb as it,i as k,ia as $,jb as m,kb as T,l as Ee,lb as C,mb as K,nb as ii,ob as G,pb as z,qb as W,sc as Ce,t as O,ta as St,tb as _e,ub as De,va as ei,vb as Ve,wa as a,wb as Te,xa as _,xb as Et,yb as u,zb as g}from"./chunk-IGUSDGD6.js";var qe=R((Dp,$i)=>{var vo="2.0.0",bo=Number.MAX_SAFE_INTEGER||9007199254740991,xo=16,Co=250,Io=["major","premajor","minor","preminor","patch","prepatch","prerelease"];$i.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:xo,MAX_SAFE_BUILD_LENGTH:Co,MAX_SAFE_INTEGER:bo,RELEASE_TYPES:Io,SEMVER_SPEC_VERSION:vo,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var He=R((Up,Si)=>{var yo=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};Si.exports=yo});var Le=R((xe,Ei)=>{var{MAX_SAFE_COMPONENT_LENGTH:kt,MAX_SAFE_BUILD_LENGTH:wo,MAX_LENGTH:$o}=qe(),So=He();xe=Ei.exports={};var Eo=xe.re=[],To=xe.safeRe=[],S=xe.src=[],E=xe.t={},ko=0,Vt="[a-zA-Z0-9-]",Vo=[["\\s",1],["\\d",$o],[Vt,wo]],Bo=e=>{for(let[n,i]of Vo)e=e.split(`${n}*`).join(`${n}{0,${i}}`).split(`${n}+`).join(`${n}{1,${i}}`);return e},N=(e,n,i)=>{let t=Bo(n),r=ko++;So(e,r,n),E[e]=r,S[r]=n,Eo[r]=new RegExp(n,i?"g":void 0),To[r]=new RegExp(t,i?"g":void 0)};N("NUMERICIDENTIFIER","0|[1-9]\\d*");N("NUMERICIDENTIFIERLOOSE","\\d+");N("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Vt}*`);N("MAINVERSION",`(${S[E.NUMERICIDENTIFIER]})\\.(${S[E.NUMERICIDENTIFIER]})\\.(${S[E.NUMERICIDENTIFIER]})`);N("MAINVERSIONLOOSE",`(${S[E.NUMERICIDENTIFIERLOOSE]})\\.(${S[E.NUMERICIDENTIFIERLOOSE]})\\.(${S[E.NUMERICIDENTIFIERLOOSE]})`);N("PRERELEASEIDENTIFIER",`(?:${S[E.NUMERICIDENTIFIER]}|${S[E.NONNUMERICIDENTIFIER]})`);N("PRERELEASEIDENTIFIERLOOSE",`(?:${S[E.NUMERICIDENTIFIERLOOSE]}|${S[E.NONNUMERICIDENTIFIER]})`);N("PRERELEASE",`(?:-(${S[E.PRERELEASEIDENTIFIER]}(?:\\.${S[E.PRERELEASEIDENTIFIER]})*))`);N("PRERELEASELOOSE",`(?:-?(${S[E.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${S[E.PRERELEASEIDENTIFIERLOOSE]})*))`);N("BUILDIDENTIFIER",`${Vt}+`);N("BUILD",`(?:\\+(${S[E.BUILDIDENTIFIER]}(?:\\.${S[E.BUILDIDENTIFIER]})*))`);N("FULLPLAIN",`v?${S[E.MAINVERSION]}${S[E.PRERELEASE]}?${S[E.BUILD]}?`);N("FULL",`^${S[E.FULLPLAIN]}$`);N("LOOSEPLAIN",`[v=\\s]*${S[E.MAINVERSIONLOOSE]}${S[E.PRERELEASELOOSE]}?${S[E.BUILD]}?`);N("LOOSE",`^${S[E.LOOSEPLAIN]}$`);N("GTLT","((?:<|>)?=?)");N("XRANGEIDENTIFIERLOOSE",`${S[E.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);N("XRANGEIDENTIFIER",`${S[E.NUMERICIDENTIFIER]}|x|X|\\*`);N("XRANGEPLAIN",`[v=\\s]*(${S[E.XRANGEIDENTIFIER]})(?:\\.(${S[E.XRANGEIDENTIFIER]})(?:\\.(${S[E.XRANGEIDENTIFIER]})(?:${S[E.PRERELEASE]})?${S[E.BUILD]}?)?)?`);N("XRANGEPLAINLOOSE",`[v=\\s]*(${S[E.XRANGEIDENTIFIERLOOSE]})(?:\\.(${S[E.XRANGEIDENTIFIERLOOSE]})(?:\\.(${S[E.XRANGEIDENTIFIERLOOSE]})(?:${S[E.PRERELEASELOOSE]})?${S[E.BUILD]}?)?)?`);N("XRANGE",`^${S[E.GTLT]}\\s*${S[E.XRANGEPLAIN]}$`);N("XRANGELOOSE",`^${S[E.GTLT]}\\s*${S[E.XRANGEPLAINLOOSE]}$`);N("COERCEPLAIN",`(^|[^\\d])(\\d{1,${kt}})(?:\\.(\\d{1,${kt}}))?(?:\\.(\\d{1,${kt}}))?`);N("COERCE",`${S[E.COERCEPLAIN]}(?:$|[^\\d])`);N("COERCEFULL",S[E.COERCEPLAIN]+`(?:${S[E.PRERELEASE]})?(?:${S[E.BUILD]})?(?:$|[^\\d])`);N("COERCERTL",S[E.COERCE],!0);N("COERCERTLFULL",S[E.COERCEFULL],!0);N("LONETILDE","(?:~>?)");N("TILDETRIM",`(\\s*)${S[E.LONETILDE]}\\s+`,!0);xe.tildeTrimReplace="$1~";N("TILDE",`^${S[E.LONETILDE]}${S[E.XRANGEPLAIN]}$`);N("TILDELOOSE",`^${S[E.LONETILDE]}${S[E.XRANGEPLAINLOOSE]}$`);N("LONECARET","(?:\\^)");N("CARETTRIM",`(\\s*)${S[E.LONECARET]}\\s+`,!0);xe.caretTrimReplace="$1^";N("CARET",`^${S[E.LONECARET]}${S[E.XRANGEPLAIN]}$`);N("CARETLOOSE",`^${S[E.LONECARET]}${S[E.XRANGEPLAINLOOSE]}$`);N("COMPARATORLOOSE",`^${S[E.GTLT]}\\s*(${S[E.LOOSEPLAIN]})$|^$`);N("COMPARATOR",`^${S[E.GTLT]}\\s*(${S[E.FULLPLAIN]})$|^$`);N("COMPARATORTRIM",`(\\s*)${S[E.GTLT]}\\s*(${S[E.LOOSEPLAIN]}|${S[E.XRANGEPLAIN]})`,!0);xe.comparatorTrimReplace="$1$2$3";N("HYPHENRANGE",`^\\s*(${S[E.XRANGEPLAIN]})\\s+-\\s+(${S[E.XRANGEPLAIN]})\\s*$`);N("HYPHENRANGELOOSE",`^\\s*(${S[E.XRANGEPLAINLOOSE]})\\s+-\\s+(${S[E.XRANGEPLAINLOOSE]})\\s*$`);N("STAR","(<|>)?=?\\s*\\*");N("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");N("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var dt=R((qp,Ti)=>{var Po=Object.freeze({loose:!0}),Mo=Object.freeze({}),Ro=e=>e?typeof e!="object"?Po:e:Mo;Ti.exports=Ro});var Bt=R((Hp,Bi)=>{var ki=/^[0-9]+$/,Vi=(e,n)=>{let i=ki.test(e),t=ki.test(n);return i&&t&&(e=+e,n=+n),e===n?0:i&&!t?-1:t&&!i?1:e<n?-1:1},No=(e,n)=>Vi(n,e);Bi.exports={compareIdentifiers:Vi,rcompareIdentifiers:No}});var te=R((Gp,Ni)=>{var mt=He(),{MAX_LENGTH:Pi,MAX_SAFE_INTEGER:ut}=qe(),{safeRe:Mi,t:Ri}=Le(),Ao=dt(),{compareIdentifiers:je}=Bt(),Pt=class e{constructor(n,i){if(i=Ao(i),n instanceof e){if(n.loose===!!i.loose&&n.includePrerelease===!!i.includePrerelease)return n;n=n.version}else if(typeof n!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof n}".`);if(n.length>Pi)throw new TypeError(`version is longer than ${Pi} characters`);mt("SemVer",n,i),this.options=i,this.loose=!!i.loose,this.includePrerelease=!!i.includePrerelease;let t=n.trim().match(i.loose?Mi[Ri.LOOSE]:Mi[Ri.FULL]);if(!t)throw new TypeError(`Invalid Version: ${n}`);if(this.raw=n,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>ut||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ut||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ut||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(r=>{if(/^[0-9]+$/.test(r)){let o=+r;if(o>=0&&o<ut)return o}return r}):this.prerelease=[],this.build=t[5]?t[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(n){if(mt("SemVer.compare",this.version,this.options,n),!(n instanceof e)){if(typeof n=="string"&&n===this.version)return 0;n=new e(n,this.options)}return n.version===this.version?0:this.compareMain(n)||this.comparePre(n)}compareMain(n){return n instanceof e||(n=new e(n,this.options)),je(this.major,n.major)||je(this.minor,n.minor)||je(this.patch,n.patch)}comparePre(n){if(n instanceof e||(n=new e(n,this.options)),this.prerelease.length&&!n.prerelease.length)return-1;if(!this.prerelease.length&&n.prerelease.length)return 1;if(!this.prerelease.length&&!n.prerelease.length)return 0;let i=0;do{let t=this.prerelease[i],r=n.prerelease[i];if(mt("prerelease compare",i,t,r),t===void 0&&r===void 0)return 0;if(r===void 0)return 1;if(t===void 0)return-1;if(t===r)continue;return je(t,r)}while(++i)}compareBuild(n){n instanceof e||(n=new e(n,this.options));let i=0;do{let t=this.build[i],r=n.build[i];if(mt("build compare",i,t,r),t===void 0&&r===void 0)return 0;if(r===void 0)return 1;if(t===void 0)return-1;if(t===r)continue;return je(t,r)}while(++i)}inc(n,i,t){switch(n){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",i,t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",i,t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",i,t),this.inc("pre",i,t);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",i,t),this.inc("pre",i,t);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let r=Number(t)?1:0;if(!i&&t===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[r];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(i===this.prerelease.join(".")&&t===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(r)}}if(i){let o=[i,r];t===!1&&(o=[i]),je(this.prerelease[0],i)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${n}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Ni.exports=Pt});var ke=R((zp,Oi)=>{var Ai=te(),Oo=(e,n,i=!1)=>{if(e instanceof Ai)return e;try{return new Ai(e,n)}catch(t){if(!i)return null;throw t}};Oi.exports=Oo});var ji=R((Wp,Li)=>{var Lo=ke(),jo=(e,n)=>{let i=Lo(e,n);return i?i.version:null};Li.exports=jo});var Di=R((Xp,Fi)=>{var Fo=ke(),Do=(e,n)=>{let i=Fo(e.trim().replace(/^[=v]+/,""),n);return i?i.version:null};Fi.exports=Do});var Hi=R((Yp,qi)=>{var Ui=te(),Uo=(e,n,i,t,r)=>{typeof i=="string"&&(r=t,t=i,i=void 0);try{return new Ui(e instanceof Ui?e.version:e,i).inc(n,t,r).version}catch{return null}};qi.exports=Uo});var Wi=R((Kp,zi)=>{var Gi=ke(),qo=(e,n)=>{let i=Gi(e,null,!0),t=Gi(n,null,!0),r=i.compare(t);if(r===0)return null;let o=r>0,p=o?i:t,h=o?t:i,b=!!p.prerelease.length;if(!!h.prerelease.length&&!b)return!h.patch&&!h.minor?"major":p.patch?"patch":p.minor?"minor":"major";let B=b?"pre":"";return i.major!==t.major?B+"major":i.minor!==t.minor?B+"minor":i.patch!==t.patch?B+"patch":"prerelease"};zi.exports=qo});var Yi=R((Qp,Xi)=>{var Ho=te(),Go=(e,n)=>new Ho(e,n).major;Xi.exports=Go});var Qi=R((Jp,Ki)=>{var zo=te(),Wo=(e,n)=>new zo(e,n).minor;Ki.exports=Wo});var Zi=R((Zp,Ji)=>{var Xo=te(),Yo=(e,n)=>new Xo(e,n).patch;Ji.exports=Yo});var tn=R((ed,en)=>{var Ko=ke(),Qo=(e,n)=>{let i=Ko(e,n);return i&&i.prerelease.length?i.prerelease:null};en.exports=Qo});var me=R((td,rn)=>{var nn=te(),Jo=(e,n,i)=>new nn(e,i).compare(new nn(n,i));rn.exports=Jo});var an=R((id,on)=>{var Zo=me(),ea=(e,n,i)=>Zo(n,e,i);on.exports=ea});var ln=R((nd,sn)=>{var ta=me(),ia=(e,n)=>ta(e,n,!0);sn.exports=ia});var gt=R((rd,pn)=>{var cn=te(),na=(e,n,i)=>{let t=new cn(e,i),r=new cn(n,i);return t.compare(r)||t.compareBuild(r)};pn.exports=na});var mn=R((od,dn)=>{var ra=gt(),oa=(e,n)=>e.sort((i,t)=>ra(i,t,n));dn.exports=oa});var gn=R((ad,un)=>{var aa=gt(),sa=(e,n)=>e.sort((i,t)=>aa(t,i,n));un.exports=sa});var Ge=R((sd,fn)=>{var la=me(),ca=(e,n,i)=>la(e,n,i)>0;fn.exports=ca});var ft=R((ld,hn)=>{var pa=me(),da=(e,n,i)=>pa(e,n,i)<0;hn.exports=da});var Mt=R((cd,_n)=>{var ma=me(),ua=(e,n,i)=>ma(e,n,i)===0;_n.exports=ua});var Rt=R((pd,vn)=>{var ga=me(),fa=(e,n,i)=>ga(e,n,i)!==0;vn.exports=fa});var ht=R((dd,bn)=>{var ha=me(),_a=(e,n,i)=>ha(e,n,i)>=0;bn.exports=_a});var _t=R((md,xn)=>{var va=me(),ba=(e,n,i)=>va(e,n,i)<=0;xn.exports=ba});var Nt=R((ud,Cn)=>{var xa=Mt(),Ca=Rt(),Ia=Ge(),ya=ht(),wa=ft(),$a=_t(),Sa=(e,n,i,t)=>{switch(n){case"===":return typeof e=="object"&&(e=e.version),typeof i=="object"&&(i=i.version),e===i;case"!==":return typeof e=="object"&&(e=e.version),typeof i=="object"&&(i=i.version),e!==i;case"":case"=":case"==":return xa(e,i,t);case"!=":return Ca(e,i,t);case">":return Ia(e,i,t);case">=":return ya(e,i,t);case"<":return wa(e,i,t);case"<=":return $a(e,i,t);default:throw new TypeError(`Invalid operator: ${n}`)}};Cn.exports=Sa});var yn=R((gd,In)=>{var Ea=te(),Ta=ke(),{safeRe:vt,t:bt}=Le(),ka=(e,n)=>{if(e instanceof Ea)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;n=n||{};let i=null;if(!n.rtl)i=e.match(n.includePrerelease?vt[bt.COERCEFULL]:vt[bt.COERCE]);else{let b=n.includePrerelease?vt[bt.COERCERTLFULL]:vt[bt.COERCERTL],y;for(;(y=b.exec(e))&&(!i||i.index+i[0].length!==e.length);)(!i||y.index+y[0].length!==i.index+i[0].length)&&(i=y),b.lastIndex=y.index+y[1].length+y[2].length;b.lastIndex=-1}if(i===null)return null;let t=i[2],r=i[3]||"0",o=i[4]||"0",p=n.includePrerelease&&i[5]?`-${i[5]}`:"",h=n.includePrerelease&&i[6]?`+${i[6]}`:"";return Ta(`${t}.${r}.${o}${p}${h}`,n)};In.exports=ka});var $n=R((fd,wn)=>{var At=class{constructor(){this.max=1e3,this.map=new Map}get(n){let i=this.map.get(n);if(i!==void 0)return this.map.delete(n),this.map.set(n,i),i}delete(n){return this.map.delete(n)}set(n,i){if(!this.delete(n)&&i!==void 0){if(this.map.size>=this.max){let r=this.map.keys().next().value;this.delete(r)}this.map.set(n,i)}return this}};wn.exports=At});var ue=R((hd,kn)=>{var Va=/\s+/g,Ot=class e{constructor(n,i){if(i=Pa(i),n instanceof e)return n.loose===!!i.loose&&n.includePrerelease===!!i.includePrerelease?n:new e(n.raw,i);if(n instanceof Lt)return this.raw=n.value,this.set=[[n]],this.formatted=void 0,this;if(this.options=i,this.loose=!!i.loose,this.includePrerelease=!!i.includePrerelease,this.raw=n.trim().replace(Va," "),this.set=this.raw.split("||").map(t=>this.parseRange(t.trim())).filter(t=>t.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let t=this.set[0];if(this.set=this.set.filter(r=>!En(r[0])),this.set.length===0)this.set=[t];else if(this.set.length>1){for(let r of this.set)if(r.length===1&&ja(r[0])){this.set=[r];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let n=0;n<this.set.length;n++){n>0&&(this.formatted+="||");let i=this.set[n];for(let t=0;t<i.length;t++)t>0&&(this.formatted+=" "),this.formatted+=i[t].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(n){let t=((this.options.includePrerelease&&Oa)|(this.options.loose&&La))+":"+n,r=Sn.get(t);if(r)return r;let o=this.options.loose,p=o?ce[re.HYPHENRANGELOOSE]:ce[re.HYPHENRANGE];n=n.replace(p,Ya(this.options.includePrerelease)),H("hyphen replace",n),n=n.replace(ce[re.COMPARATORTRIM],Ra),H("comparator trim",n),n=n.replace(ce[re.TILDETRIM],Na),H("tilde trim",n),n=n.replace(ce[re.CARETTRIM],Aa),H("caret trim",n);let h=n.split(" ").map(P=>Fa(P,this.options)).join(" ").split(/\s+/).map(P=>Xa(P,this.options));o&&(h=h.filter(P=>(H("loose invalid filter",P,this.options),!!P.match(ce[re.COMPARATORLOOSE])))),H("range list",h);let b=new Map,y=h.map(P=>new Lt(P,this.options));for(let P of y){if(En(P))return[P];b.set(P.value,P)}b.size>1&&b.has("")&&b.delete("");let B=[...b.values()];return Sn.set(t,B),B}intersects(n,i){if(!(n instanceof e))throw new TypeError("a Range is required");return this.set.some(t=>Tn(t,i)&&n.set.some(r=>Tn(r,i)&&t.every(o=>r.every(p=>o.intersects(p,i)))))}test(n){if(!n)return!1;if(typeof n=="string")try{n=new Ma(n,this.options)}catch{return!1}for(let i=0;i<this.set.length;i++)if(Ka(this.set[i],n,this.options))return!0;return!1}};kn.exports=Ot;var Ba=$n(),Sn=new Ba,Pa=dt(),Lt=ze(),H=He(),Ma=te(),{safeRe:ce,t:re,comparatorTrimReplace:Ra,tildeTrimReplace:Na,caretTrimReplace:Aa}=Le(),{FLAG_INCLUDE_PRERELEASE:Oa,FLAG_LOOSE:La}=qe(),En=e=>e.value==="<0.0.0-0",ja=e=>e.value==="",Tn=(e,n)=>{let i=!0,t=e.slice(),r=t.pop();for(;i&&t.length;)i=t.every(o=>r.intersects(o,n)),r=t.pop();return i},Fa=(e,n)=>(H("comp",e,n),e=qa(e,n),H("caret",e),e=Da(e,n),H("tildes",e),e=Ga(e,n),H("xrange",e),e=Wa(e,n),H("stars",e),e),oe=e=>!e||e.toLowerCase()==="x"||e==="*",Da=(e,n)=>e.trim().split(/\s+/).map(i=>Ua(i,n)).join(" "),Ua=(e,n)=>{let i=n.loose?ce[re.TILDELOOSE]:ce[re.TILDE];return e.replace(i,(t,r,o,p,h)=>{H("tilde",e,t,r,o,p,h);let b;return oe(r)?b="":oe(o)?b=`>=${r}.0.0 <${+r+1}.0.0-0`:oe(p)?b=`>=${r}.${o}.0 <${r}.${+o+1}.0-0`:h?(H("replaceTilde pr",h),b=`>=${r}.${o}.${p}-${h} <${r}.${+o+1}.0-0`):b=`>=${r}.${o}.${p} <${r}.${+o+1}.0-0`,H("tilde return",b),b})},qa=(e,n)=>e.trim().split(/\s+/).map(i=>Ha(i,n)).join(" "),Ha=(e,n)=>{H("caret",e,n);let i=n.loose?ce[re.CARETLOOSE]:ce[re.CARET],t=n.includePrerelease?"-0":"";return e.replace(i,(r,o,p,h,b)=>{H("caret",e,r,o,p,h,b);let y;return oe(o)?y="":oe(p)?y=`>=${o}.0.0${t} <${+o+1}.0.0-0`:oe(h)?o==="0"?y=`>=${o}.${p}.0${t} <${o}.${+p+1}.0-0`:y=`>=${o}.${p}.0${t} <${+o+1}.0.0-0`:b?(H("replaceCaret pr",b),o==="0"?p==="0"?y=`>=${o}.${p}.${h}-${b} <${o}.${p}.${+h+1}-0`:y=`>=${o}.${p}.${h}-${b} <${o}.${+p+1}.0-0`:y=`>=${o}.${p}.${h}-${b} <${+o+1}.0.0-0`):(H("no pr"),o==="0"?p==="0"?y=`>=${o}.${p}.${h}${t} <${o}.${p}.${+h+1}-0`:y=`>=${o}.${p}.${h}${t} <${o}.${+p+1}.0-0`:y=`>=${o}.${p}.${h} <${+o+1}.0.0-0`),H("caret return",y),y})},Ga=(e,n)=>(H("replaceXRanges",e,n),e.split(/\s+/).map(i=>za(i,n)).join(" ")),za=(e,n)=>{e=e.trim();let i=n.loose?ce[re.XRANGELOOSE]:ce[re.XRANGE];return e.replace(i,(t,r,o,p,h,b)=>{H("xRange",e,t,r,o,p,h,b);let y=oe(o),B=y||oe(p),P=B||oe(h),Y=P;return r==="="&&Y&&(r=""),b=n.includePrerelease?"-0":"",y?r===">"||r==="<"?t="<0.0.0-0":t="*":r&&Y?(B&&(p=0),h=0,r===">"?(r=">=",B?(o=+o+1,p=0,h=0):(p=+p+1,h=0)):r==="<="&&(r="<",B?o=+o+1:p=+p+1),r==="<"&&(b="-0"),t=`${r+o}.${p}.${h}${b}`):B?t=`>=${o}.0.0${b} <${+o+1}.0.0-0`:P&&(t=`>=${o}.${p}.0${b} <${o}.${+p+1}.0-0`),H("xRange return",t),t})},Wa=(e,n)=>(H("replaceStars",e,n),e.trim().replace(ce[re.STAR],"")),Xa=(e,n)=>(H("replaceGTE0",e,n),e.trim().replace(ce[n.includePrerelease?re.GTE0PRE:re.GTE0],"")),Ya=e=>(n,i,t,r,o,p,h,b,y,B,P,Y)=>(oe(t)?i="":oe(r)?i=`>=${t}.0.0${e?"-0":""}`:oe(o)?i=`>=${t}.${r}.0${e?"-0":""}`:p?i=`>=${i}`:i=`>=${i}${e?"-0":""}`,oe(y)?b="":oe(B)?b=`<${+y+1}.0.0-0`:oe(P)?b=`<${y}.${+B+1}.0-0`:Y?b=`<=${y}.${B}.${P}-${Y}`:e?b=`<${y}.${B}.${+P+1}-0`:b=`<=${b}`,`${i} ${b}`.trim()),Ka=(e,n,i)=>{for(let t=0;t<e.length;t++)if(!e[t].test(n))return!1;if(n.prerelease.length&&!i.includePrerelease){for(let t=0;t<e.length;t++)if(H(e[t].semver),e[t].semver!==Lt.ANY&&e[t].semver.prerelease.length>0){let r=e[t].semver;if(r.major===n.major&&r.minor===n.minor&&r.patch===n.patch)return!0}return!1}return!0}});var ze=R((_d,Nn)=>{var We=Symbol("SemVer ANY"),Dt=class e{static get ANY(){return We}constructor(n,i){if(i=Vn(i),n instanceof e){if(n.loose===!!i.loose)return n;n=n.value}n=n.trim().split(/\s+/).join(" "),Ft("comparator",n,i),this.options=i,this.loose=!!i.loose,this.parse(n),this.semver===We?this.value="":this.value=this.operator+this.semver.version,Ft("comp",this)}parse(n){let i=this.options.loose?Bn[Pn.COMPARATORLOOSE]:Bn[Pn.COMPARATOR],t=n.match(i);if(!t)throw new TypeError(`Invalid comparator: ${n}`);this.operator=t[1]!==void 0?t[1]:"",this.operator==="="&&(this.operator=""),t[2]?this.semver=new Mn(t[2],this.options.loose):this.semver=We}toString(){return this.value}test(n){if(Ft("Comparator.test",n,this.options.loose),this.semver===We||n===We)return!0;if(typeof n=="string")try{n=new Mn(n,this.options)}catch{return!1}return jt(n,this.operator,this.semver,this.options)}intersects(n,i){if(!(n instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Rn(n.value,i).test(this.value):n.operator===""?n.value===""?!0:new Rn(this.value,i).test(n.semver):(i=Vn(i),i.includePrerelease&&(this.value==="<0.0.0-0"||n.value==="<0.0.0-0")||!i.includePrerelease&&(this.value.startsWith("<0.0.0")||n.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&n.operator.startsWith(">")||this.operator.startsWith("<")&&n.operator.startsWith("<")||this.semver.version===n.semver.version&&this.operator.includes("=")&&n.operator.includes("=")||jt(this.semver,"<",n.semver,i)&&this.operator.startsWith(">")&&n.operator.startsWith("<")||jt(this.semver,">",n.semver,i)&&this.operator.startsWith("<")&&n.operator.startsWith(">")))}};Nn.exports=Dt;var Vn=dt(),{safeRe:Bn,t:Pn}=Le(),jt=Nt(),Ft=He(),Mn=te(),Rn=ue()});var Xe=R((vd,An)=>{var Qa=ue(),Ja=(e,n,i)=>{try{n=new Qa(n,i)}catch{return!1}return n.test(e)};An.exports=Ja});var Ln=R((bd,On)=>{var Za=ue(),es=(e,n)=>new Za(e,n).set.map(i=>i.map(t=>t.value).join(" ").trim().split(" "));On.exports=es});var Fn=R((xd,jn)=>{var ts=te(),is=ue(),ns=(e,n,i)=>{let t=null,r=null,o=null;try{o=new is(n,i)}catch{return null}return e.forEach(p=>{o.test(p)&&(!t||r.compare(p)===-1)&&(t=p,r=new ts(t,i))}),t};jn.exports=ns});var Un=R((Cd,Dn)=>{var rs=te(),os=ue(),as=(e,n,i)=>{let t=null,r=null,o=null;try{o=new os(n,i)}catch{return null}return e.forEach(p=>{o.test(p)&&(!t||r.compare(p)===1)&&(t=p,r=new rs(t,i))}),t};Dn.exports=as});var Gn=R((Id,Hn)=>{var Ut=te(),ss=ue(),qn=Ge(),ls=(e,n)=>{e=new ss(e,n);let i=new Ut("0.0.0");if(e.test(i)||(i=new Ut("0.0.0-0"),e.test(i)))return i;i=null;for(let t=0;t<e.set.length;++t){let r=e.set[t],o=null;r.forEach(p=>{let h=new Ut(p.semver.version);switch(p.operator){case">":h.prerelease.length===0?h.patch++:h.prerelease.push(0),h.raw=h.format();case"":case">=":(!o||qn(h,o))&&(o=h);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${p.operator}`)}}),o&&(!i||qn(i,o))&&(i=o)}return i&&e.test(i)?i:null};Hn.exports=ls});var Wn=R((yd,zn)=>{var cs=ue(),ps=(e,n)=>{try{return new cs(e,n).range||"*"}catch{return null}};zn.exports=ps});var xt=R((wd,Qn)=>{var ds=te(),Kn=ze(),{ANY:ms}=Kn,us=ue(),gs=Xe(),Xn=Ge(),Yn=ft(),fs=_t(),hs=ht(),_s=(e,n,i,t)=>{e=new ds(e,t),n=new us(n,t);let r,o,p,h,b;switch(i){case">":r=Xn,o=fs,p=Yn,h=">",b=">=";break;case"<":r=Yn,o=hs,p=Xn,h="<",b="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(gs(e,n,t))return!1;for(let y=0;y<n.set.length;++y){let B=n.set[y],P=null,Y=null;if(B.forEach(M=>{M.semver===ms&&(M=new Kn(">=0.0.0")),P=P||M,Y=Y||M,r(M.semver,P.semver,t)?P=M:p(M.semver,Y.semver,t)&&(Y=M)}),P.operator===h||P.operator===b||(!Y.operator||Y.operator===h)&&o(e,Y.semver))return!1;if(Y.operator===b&&p(e,Y.semver))return!1}return!0};Qn.exports=_s});var Zn=R(($d,Jn)=>{var vs=xt(),bs=(e,n,i)=>vs(e,n,">",i);Jn.exports=bs});var tr=R((Sd,er)=>{var xs=xt(),Cs=(e,n,i)=>xs(e,n,"<",i);er.exports=Cs});var rr=R((Ed,nr)=>{var ir=ue(),Is=(e,n,i)=>(e=new ir(e,i),n=new ir(n,i),e.intersects(n,i));nr.exports=Is});var ar=R((Td,or)=>{var ys=Xe(),ws=me();or.exports=(e,n,i)=>{let t=[],r=null,o=null,p=e.sort((B,P)=>ws(B,P,i));for(let B of p)ys(B,n,i)?(o=B,r||(r=B)):(o&&t.push([r,o]),o=null,r=null);r&&t.push([r,null]);let h=[];for(let[B,P]of t)B===P?h.push(B):!P&&B===p[0]?h.push("*"):P?B===p[0]?h.push(`<=${P}`):h.push(`${B} - ${P}`):h.push(`>=${B}`);let b=h.join(" || "),y=typeof n.raw=="string"?n.raw:String(n);return b.length<y.length?b:n}});var mr=R((kd,dr)=>{var sr=ue(),Ht=ze(),{ANY:qt}=Ht,Ye=Xe(),Gt=me(),$s=(e,n,i={})=>{if(e===n)return!0;e=new sr(e,i),n=new sr(n,i);let t=!1;e:for(let r of e.set){for(let o of n.set){let p=Es(r,o,i);if(t=t||p!==null,p)continue e}if(t)return!1}return!0},Ss=[new Ht(">=0.0.0-0")],lr=[new Ht(">=0.0.0")],Es=(e,n,i)=>{if(e===n)return!0;if(e.length===1&&e[0].semver===qt){if(n.length===1&&n[0].semver===qt)return!0;i.includePrerelease?e=Ss:e=lr}if(n.length===1&&n[0].semver===qt){if(i.includePrerelease)return!0;n=lr}let t=new Set,r,o;for(let M of e)M.operator===">"||M.operator===">="?r=cr(r,M,i):M.operator==="<"||M.operator==="<="?o=pr(o,M,i):t.add(M.semver);if(t.size>1)return null;let p;if(r&&o){if(p=Gt(r.semver,o.semver,i),p>0)return null;if(p===0&&(r.operator!==">="||o.operator!=="<="))return null}for(let M of t){if(r&&!Ye(M,String(r),i)||o&&!Ye(M,String(o),i))return null;for(let Fr of n)if(!Ye(M,String(Fr),i))return!1;return!0}let h,b,y,B,P=o&&!i.includePrerelease&&o.semver.prerelease.length?o.semver:!1,Y=r&&!i.includePrerelease&&r.semver.prerelease.length?r.semver:!1;P&&P.prerelease.length===1&&o.operator==="<"&&P.prerelease[0]===0&&(P=!1);for(let M of n){if(B=B||M.operator===">"||M.operator===">=",y=y||M.operator==="<"||M.operator==="<=",r){if(Y&&M.semver.prerelease&&M.semver.prerelease.length&&M.semver.major===Y.major&&M.semver.minor===Y.minor&&M.semver.patch===Y.patch&&(Y=!1),M.operator===">"||M.operator===">="){if(h=cr(r,M,i),h===M&&h!==r)return!1}else if(r.operator===">="&&!Ye(r.semver,String(M),i))return!1}if(o){if(P&&M.semver.prerelease&&M.semver.prerelease.length&&M.semver.major===P.major&&M.semver.minor===P.minor&&M.semver.patch===P.patch&&(P=!1),M.operator==="<"||M.operator==="<="){if(b=pr(o,M,i),b===M&&b!==o)return!1}else if(o.operator==="<="&&!Ye(o.semver,String(M),i))return!1}if(!M.operator&&(o||r)&&p!==0)return!1}return!(r&&y&&!o&&p!==0||o&&B&&!r&&p!==0||Y||P)},cr=(e,n,i)=>{if(!e)return n;let t=Gt(e.semver,n.semver,i);return t>0?e:t<0||n.operator===">"&&e.operator===">="?n:e},pr=(e,n,i)=>{if(!e)return n;let t=Gt(e.semver,n.semver,i);return t<0?e:t>0||n.operator==="<"&&e.operator==="<="?n:e};dr.exports=$s});var Ct=R((Vd,fr)=>{var zt=Le(),ur=qe(),Ts=te(),gr=Bt(),ks=ke(),Vs=ji(),Bs=Di(),Ps=Hi(),Ms=Wi(),Rs=Yi(),Ns=Qi(),As=Zi(),Os=tn(),Ls=me(),js=an(),Fs=ln(),Ds=gt(),Us=mn(),qs=gn(),Hs=Ge(),Gs=ft(),zs=Mt(),Ws=Rt(),Xs=ht(),Ys=_t(),Ks=Nt(),Qs=yn(),Js=ze(),Zs=ue(),el=Xe(),tl=Ln(),il=Fn(),nl=Un(),rl=Gn(),ol=Wn(),al=xt(),sl=Zn(),ll=tr(),cl=rr(),pl=ar(),dl=mr();fr.exports={parse:ks,valid:Vs,clean:Bs,inc:Ps,diff:Ms,major:Rs,minor:Ns,patch:As,prerelease:Os,compare:Ls,rcompare:js,compareLoose:Fs,compareBuild:Ds,sort:Us,rsort:qs,gt:Hs,lt:Gs,eq:zs,neq:Ws,gte:Xs,lte:Ys,cmp:Ks,coerce:Qs,Comparator:Js,Range:Zs,satisfies:el,toComparators:tl,maxSatisfying:il,minSatisfying:nl,minVersion:rl,validRange:ol,outside:al,gtr:sl,ltr:ll,intersects:cl,simplifyRange:pl,subset:dl,SemVer:Ts,re:zt.re,src:zt.src,tokens:zt.t,SEMVER_SPEC_VERSION:ur.SEMVER_SPEC_VERSION,RELEASE_TYPES:ur.RELEASE_TYPES,compareIdentifiers:gr.compareIdentifiers,rcompareIdentifiers:gr.rcompareIdentifiers}});function Ur(e,n){e&1&&(l(0,"div",14),v(1,"i",15),c())}function qr(e,n){e&1&&(l(0,"div"),v(1,"i",18),l(2,"p"),m(3,"All your plugins are marked as compatible with the new version of Homebridge."),c(),l(4,"p"),m(5,"You are all set to continue below."),c()())}function Hr(e,n){e&1&&(l(0,"div"),v(1,"i",19),l(2,"p"),m(3,"Some of your plugins are not explicitly marked as compatible with the new version of Homebridge."),c(),l(4,"p"),m(5," This does "),l(6,"span",20),m(7,"not"),c(),m(8," necessarily mean that they won't work. We just can't guarantee that they will. "),c(),l(9,"p"),m(10," For more information about this update, please see the "),l(11,"a",21),m(12,"wiki page"),c(),m(13,". "),c(),l(14,"p"),m(15,"To ignore this warning and continue with the update, click continue below."),c()())}function Gr(e,n){e&1&&(l(0,"span"),v(1,"i",24),c())}function zr(e,n){e&1&&(l(0,"span"),v(1,"i",25),c())}function Wr(e,n){if(e&1&&(l(0,"li",22)(1,"span",23),m(2),c(),x(3,Gr,2,0,"span",7)(4,zr,2,0,"span",7),c()),e&2){let i=n.$implicit;a(2),T(i.name),a(),d("ngIf",i.hb2Ready==="supported"),a(),d("ngIf",i.hb2Ready==="unknown")}}function Xr(e,n){if(e&1&&(l(0,"div"),x(1,qr,6,0,"div",7)(2,Hr,16,0,"div",7),l(3,"ul",16),x(4,Wr,5,3,"li",17),c()()),e&2){let i=f();a(),d("ngIf",i.allPluginsSupported),a(),d("ngIf",!i.allPluginsSupported),a(2),d("ngForOf",i.installedPlugins)}}var fi=(()=>{let n=class n{constructor(t,r,o,p,h){s(this,"$activeModal");s(this,"$api");s(this,"$settings");s(this,"$toastr");s(this,"$translate");s(this,"loading",!0);s(this,"installedPlugins",[]);s(this,"allPluginsSupported",!0);this.$activeModal=t,this.$api=r,this.$settings=o,this.$toastr=p,this.$translate=h}ngOnInit(){this.loadInstalledPlugins()}loadInstalledPlugins(){return k(this,null,function*(){this.installedPlugins=[],this.loading=!0;let t=this.$settings.env.homebridgeVersion.split(".")[0];try{let r=yield O(this.$api.get("/plugins"));this.installedPlugins=r.filter(o=>o.name!=="homebridge-config-ui-x").map(o=>{var b,y;let p=((y=(b=o.engines)==null?void 0:b.homebridge)==null?void 0:y.split("||").map(B=>B.trim()))||[],h=t==="2"?"hide":p.some(B=>B.startsWith("^2")||B.startsWith(">=2"))?"supported":"unknown";return h==="unknown"&&(this.allPluginsSupported=!1),Qe(Ke({},o),{hb2Ready:h})}),this.loading=!1}catch(r){console.error(r),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}};s(n,"\u0275fac",function(r){return new(r||n)(_(q),_(L),_(Q),_(D),_(F))}),s(n,"\u0275cmp",j({type:n,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","w-100","text-center"],["class","w-100 text-center primary-text",4,"ngIf"],[4,"ngIf"],[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,"w-100","text-center","primary-text"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mt-4"],["class","list-group-item d-flex flex-row flex-wrap justify-content-between",4,"ngFor","ngForOf"],[1,"fas","fa-fw","fa-check-circle","primary-text","mb-4",2,"font-size","75px"],[1,"fas","fa-fw","fa-info-circle","primary-text","mb-4",2,"font-size","75px"],[1,"font-weight-bold"],["href","https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0","target","_blank"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"text-monospace"],["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(r,o){r&1&&(l(0,"div",0)(1,"div",1)(2,"h5",2),m(3,"Homebridge v2 Update"),c(),l(4,"button",3),u(5,"translate"),I("click",function(){return o.$activeModal.close("Dismiss")}),l(6,"span",4),m(7,"\xD7"),c()()(),l(8,"div",5),x(9,Ur,2,0,"div",6)(10,Xr,5,3,"div",7),c(),l(11,"div",8)(12,"div",9)(13,"button",10),u(14,"translate"),I("click",function(){return o.$activeModal.close("Dismiss")}),m(15),u(16,"translate"),c()(),v(17,"div",11),l(18,"div",12)(19,"button",13),I("click",function(){return o.$activeModal.close("update")}),m(20),u(21,"translate"),c()()()()),r&2&&(a(4),A("aria-label",g(5,7,"form.button_close")),a(5),d("ngIf",o.loading),a(),d("ngIf",!o.loading),a(3),A("aria-label",g(14,9,"form.button_close")),a(2),C(" ",g(16,11,"form.button_close")," "),a(4),d("disabled",o.loading),a(),C(" ",g(21,13,"plugins.node_update.continue")," "))},dependencies:[de,X,U],encapsulation:2}));let e=n;return e})();var hi=pe(Ue(),1);var Yr=["pluginlogoutput"],_i=(()=>{let n=class n{constructor(t,r,o,p,h,b){s(this,"$activeModal");s(this,"$api");s(this,"$log");s(this,"$modal");s(this,"$toastr");s(this,"$translate");s(this,"plugin");s(this,"termTarget");s(this,"resizeEvent",new Ee);s(this,"pluginAlias");this.$activeModal=t,this.$api=r,this.$log=o,this.$modal=p,this.$toastr=h,this.$translate=b}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){this.getPluginLog()}getPluginLog(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{var r;this.pluginAlias=this.plugin.name==="homebridge-config-ui-x"?"Homebridge UI":((r=t[0])==null?void 0:r.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(ui,{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:r=>{if(!r.body)return;let o=r.body.split(`
1
+ import{a as Dr}from"./chunk-4R6MSI5I.js";import{a as gi}from"./chunk-SJTXTMYT.js";import{a as Re}from"./chunk-6QEO3BTW.js";import{a as li}from"./chunk-B6C32ZRK.js";import{a as mi,b as Ue}from"./chunk-EEAGROCO.js";import{a as pi,b as di}from"./chunk-THFLPY67.js";import{a as Be}from"./chunk-NJRXPLIM.js";import{b as ci,c as Ne,d as $e,n as Ae}from"./chunk-CMASH2I6.js";import{a as ge}from"./chunk-W5QNZH4U.js";import{a as ui}from"./chunk-JM7QCDMZ.js";import{a as ni}from"./chunk-V7NUKNPP.js";import{A as ot,B as at,C as st,D as lt,E as ct,F as pt,G as Pe,M as q,N as J,O as Me,b as rt,c as ri,e as ye,l as we,r as oi,s as ai,t as si}from"./chunk-WCDFKYP6.js";import{b as Ie,c as L,k as D,m as Q}from"./chunk-54RIF7BL.js";import{a as F,b as U}from"./chunk-F22FMU37.js";import{$ as j,Ab as ae,Ga as x,H as Je,Ka as A,La as d,P as $t,Pa as ti,Pb as ve,Qb as de,Rb as X,Ua as l,Va as c,W as Ze,Wa as v,Xb as nt,Z as he,Za as V,a as Ke,ab as I,b as Qe,bb as f,ca as Zt,e as R,fb as et,g as pe,gb as tt,h as s,ha as w,hb as it,i as k,ia as $,jb as m,kb as T,l as Ee,lb as C,mb as K,nb as ii,ob as G,pb as z,qb as W,sc as Ce,t as O,ta as St,tb as _e,ub as De,va as ei,vb as Ve,wa as a,wb as Te,xa as _,xb as Et,yb as u,zb as g}from"./chunk-IGUSDGD6.js";var qe=R((Dp,$i)=>{var vo="2.0.0",bo=Number.MAX_SAFE_INTEGER||9007199254740991,xo=16,Co=250,Io=["major","premajor","minor","preminor","patch","prepatch","prerelease"];$i.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:xo,MAX_SAFE_BUILD_LENGTH:Co,MAX_SAFE_INTEGER:bo,RELEASE_TYPES:Io,SEMVER_SPEC_VERSION:vo,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var He=R((Up,Si)=>{var yo=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};Si.exports=yo});var Le=R((xe,Ei)=>{var{MAX_SAFE_COMPONENT_LENGTH:kt,MAX_SAFE_BUILD_LENGTH:wo,MAX_LENGTH:$o}=qe(),So=He();xe=Ei.exports={};var Eo=xe.re=[],To=xe.safeRe=[],S=xe.src=[],E=xe.t={},ko=0,Vt="[a-zA-Z0-9-]",Vo=[["\\s",1],["\\d",$o],[Vt,wo]],Bo=e=>{for(let[n,i]of Vo)e=e.split(`${n}*`).join(`${n}{0,${i}}`).split(`${n}+`).join(`${n}{1,${i}}`);return e},N=(e,n,i)=>{let t=Bo(n),r=ko++;So(e,r,n),E[e]=r,S[r]=n,Eo[r]=new RegExp(n,i?"g":void 0),To[r]=new RegExp(t,i?"g":void 0)};N("NUMERICIDENTIFIER","0|[1-9]\\d*");N("NUMERICIDENTIFIERLOOSE","\\d+");N("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Vt}*`);N("MAINVERSION",`(${S[E.NUMERICIDENTIFIER]})\\.(${S[E.NUMERICIDENTIFIER]})\\.(${S[E.NUMERICIDENTIFIER]})`);N("MAINVERSIONLOOSE",`(${S[E.NUMERICIDENTIFIERLOOSE]})\\.(${S[E.NUMERICIDENTIFIERLOOSE]})\\.(${S[E.NUMERICIDENTIFIERLOOSE]})`);N("PRERELEASEIDENTIFIER",`(?:${S[E.NUMERICIDENTIFIER]}|${S[E.NONNUMERICIDENTIFIER]})`);N("PRERELEASEIDENTIFIERLOOSE",`(?:${S[E.NUMERICIDENTIFIERLOOSE]}|${S[E.NONNUMERICIDENTIFIER]})`);N("PRERELEASE",`(?:-(${S[E.PRERELEASEIDENTIFIER]}(?:\\.${S[E.PRERELEASEIDENTIFIER]})*))`);N("PRERELEASELOOSE",`(?:-?(${S[E.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${S[E.PRERELEASEIDENTIFIERLOOSE]})*))`);N("BUILDIDENTIFIER",`${Vt}+`);N("BUILD",`(?:\\+(${S[E.BUILDIDENTIFIER]}(?:\\.${S[E.BUILDIDENTIFIER]})*))`);N("FULLPLAIN",`v?${S[E.MAINVERSION]}${S[E.PRERELEASE]}?${S[E.BUILD]}?`);N("FULL",`^${S[E.FULLPLAIN]}$`);N("LOOSEPLAIN",`[v=\\s]*${S[E.MAINVERSIONLOOSE]}${S[E.PRERELEASELOOSE]}?${S[E.BUILD]}?`);N("LOOSE",`^${S[E.LOOSEPLAIN]}$`);N("GTLT","((?:<|>)?=?)");N("XRANGEIDENTIFIERLOOSE",`${S[E.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);N("XRANGEIDENTIFIER",`${S[E.NUMERICIDENTIFIER]}|x|X|\\*`);N("XRANGEPLAIN",`[v=\\s]*(${S[E.XRANGEIDENTIFIER]})(?:\\.(${S[E.XRANGEIDENTIFIER]})(?:\\.(${S[E.XRANGEIDENTIFIER]})(?:${S[E.PRERELEASE]})?${S[E.BUILD]}?)?)?`);N("XRANGEPLAINLOOSE",`[v=\\s]*(${S[E.XRANGEIDENTIFIERLOOSE]})(?:\\.(${S[E.XRANGEIDENTIFIERLOOSE]})(?:\\.(${S[E.XRANGEIDENTIFIERLOOSE]})(?:${S[E.PRERELEASELOOSE]})?${S[E.BUILD]}?)?)?`);N("XRANGE",`^${S[E.GTLT]}\\s*${S[E.XRANGEPLAIN]}$`);N("XRANGELOOSE",`^${S[E.GTLT]}\\s*${S[E.XRANGEPLAINLOOSE]}$`);N("COERCEPLAIN",`(^|[^\\d])(\\d{1,${kt}})(?:\\.(\\d{1,${kt}}))?(?:\\.(\\d{1,${kt}}))?`);N("COERCE",`${S[E.COERCEPLAIN]}(?:$|[^\\d])`);N("COERCEFULL",S[E.COERCEPLAIN]+`(?:${S[E.PRERELEASE]})?(?:${S[E.BUILD]})?(?:$|[^\\d])`);N("COERCERTL",S[E.COERCE],!0);N("COERCERTLFULL",S[E.COERCEFULL],!0);N("LONETILDE","(?:~>?)");N("TILDETRIM",`(\\s*)${S[E.LONETILDE]}\\s+`,!0);xe.tildeTrimReplace="$1~";N("TILDE",`^${S[E.LONETILDE]}${S[E.XRANGEPLAIN]}$`);N("TILDELOOSE",`^${S[E.LONETILDE]}${S[E.XRANGEPLAINLOOSE]}$`);N("LONECARET","(?:\\^)");N("CARETTRIM",`(\\s*)${S[E.LONECARET]}\\s+`,!0);xe.caretTrimReplace="$1^";N("CARET",`^${S[E.LONECARET]}${S[E.XRANGEPLAIN]}$`);N("CARETLOOSE",`^${S[E.LONECARET]}${S[E.XRANGEPLAINLOOSE]}$`);N("COMPARATORLOOSE",`^${S[E.GTLT]}\\s*(${S[E.LOOSEPLAIN]})$|^$`);N("COMPARATOR",`^${S[E.GTLT]}\\s*(${S[E.FULLPLAIN]})$|^$`);N("COMPARATORTRIM",`(\\s*)${S[E.GTLT]}\\s*(${S[E.LOOSEPLAIN]}|${S[E.XRANGEPLAIN]})`,!0);xe.comparatorTrimReplace="$1$2$3";N("HYPHENRANGE",`^\\s*(${S[E.XRANGEPLAIN]})\\s+-\\s+(${S[E.XRANGEPLAIN]})\\s*$`);N("HYPHENRANGELOOSE",`^\\s*(${S[E.XRANGEPLAINLOOSE]})\\s+-\\s+(${S[E.XRANGEPLAINLOOSE]})\\s*$`);N("STAR","(<|>)?=?\\s*\\*");N("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");N("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var dt=R((qp,Ti)=>{var Po=Object.freeze({loose:!0}),Mo=Object.freeze({}),Ro=e=>e?typeof e!="object"?Po:e:Mo;Ti.exports=Ro});var Bt=R((Hp,Bi)=>{var ki=/^[0-9]+$/,Vi=(e,n)=>{let i=ki.test(e),t=ki.test(n);return i&&t&&(e=+e,n=+n),e===n?0:i&&!t?-1:t&&!i?1:e<n?-1:1},No=(e,n)=>Vi(n,e);Bi.exports={compareIdentifiers:Vi,rcompareIdentifiers:No}});var te=R((Gp,Ni)=>{var mt=He(),{MAX_LENGTH:Pi,MAX_SAFE_INTEGER:ut}=qe(),{safeRe:Mi,t:Ri}=Le(),Ao=dt(),{compareIdentifiers:je}=Bt(),Pt=class e{constructor(n,i){if(i=Ao(i),n instanceof e){if(n.loose===!!i.loose&&n.includePrerelease===!!i.includePrerelease)return n;n=n.version}else if(typeof n!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof n}".`);if(n.length>Pi)throw new TypeError(`version is longer than ${Pi} characters`);mt("SemVer",n,i),this.options=i,this.loose=!!i.loose,this.includePrerelease=!!i.includePrerelease;let t=n.trim().match(i.loose?Mi[Ri.LOOSE]:Mi[Ri.FULL]);if(!t)throw new TypeError(`Invalid Version: ${n}`);if(this.raw=n,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>ut||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ut||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ut||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(r=>{if(/^[0-9]+$/.test(r)){let o=+r;if(o>=0&&o<ut)return o}return r}):this.prerelease=[],this.build=t[5]?t[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(n){if(mt("SemVer.compare",this.version,this.options,n),!(n instanceof e)){if(typeof n=="string"&&n===this.version)return 0;n=new e(n,this.options)}return n.version===this.version?0:this.compareMain(n)||this.comparePre(n)}compareMain(n){return n instanceof e||(n=new e(n,this.options)),je(this.major,n.major)||je(this.minor,n.minor)||je(this.patch,n.patch)}comparePre(n){if(n instanceof e||(n=new e(n,this.options)),this.prerelease.length&&!n.prerelease.length)return-1;if(!this.prerelease.length&&n.prerelease.length)return 1;if(!this.prerelease.length&&!n.prerelease.length)return 0;let i=0;do{let t=this.prerelease[i],r=n.prerelease[i];if(mt("prerelease compare",i,t,r),t===void 0&&r===void 0)return 0;if(r===void 0)return 1;if(t===void 0)return-1;if(t===r)continue;return je(t,r)}while(++i)}compareBuild(n){n instanceof e||(n=new e(n,this.options));let i=0;do{let t=this.build[i],r=n.build[i];if(mt("build compare",i,t,r),t===void 0&&r===void 0)return 0;if(r===void 0)return 1;if(t===void 0)return-1;if(t===r)continue;return je(t,r)}while(++i)}inc(n,i,t){switch(n){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",i,t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",i,t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",i,t),this.inc("pre",i,t);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",i,t),this.inc("pre",i,t);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let r=Number(t)?1:0;if(!i&&t===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[r];else{let o=this.prerelease.length;for(;--o>=0;)typeof this.prerelease[o]=="number"&&(this.prerelease[o]++,o=-2);if(o===-1){if(i===this.prerelease.join(".")&&t===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(r)}}if(i){let o=[i,r];t===!1&&(o=[i]),je(this.prerelease[0],i)===0?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${n}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Ni.exports=Pt});var ke=R((zp,Oi)=>{var Ai=te(),Oo=(e,n,i=!1)=>{if(e instanceof Ai)return e;try{return new Ai(e,n)}catch(t){if(!i)return null;throw t}};Oi.exports=Oo});var ji=R((Wp,Li)=>{var Lo=ke(),jo=(e,n)=>{let i=Lo(e,n);return i?i.version:null};Li.exports=jo});var Di=R((Xp,Fi)=>{var Fo=ke(),Do=(e,n)=>{let i=Fo(e.trim().replace(/^[=v]+/,""),n);return i?i.version:null};Fi.exports=Do});var Hi=R((Yp,qi)=>{var Ui=te(),Uo=(e,n,i,t,r)=>{typeof i=="string"&&(r=t,t=i,i=void 0);try{return new Ui(e instanceof Ui?e.version:e,i).inc(n,t,r).version}catch{return null}};qi.exports=Uo});var Wi=R((Kp,zi)=>{var Gi=ke(),qo=(e,n)=>{let i=Gi(e,null,!0),t=Gi(n,null,!0),r=i.compare(t);if(r===0)return null;let o=r>0,p=o?i:t,h=o?t:i,b=!!p.prerelease.length;if(!!h.prerelease.length&&!b)return!h.patch&&!h.minor?"major":p.patch?"patch":p.minor?"minor":"major";let B=b?"pre":"";return i.major!==t.major?B+"major":i.minor!==t.minor?B+"minor":i.patch!==t.patch?B+"patch":"prerelease"};zi.exports=qo});var Yi=R((Qp,Xi)=>{var Ho=te(),Go=(e,n)=>new Ho(e,n).major;Xi.exports=Go});var Qi=R((Jp,Ki)=>{var zo=te(),Wo=(e,n)=>new zo(e,n).minor;Ki.exports=Wo});var Zi=R((Zp,Ji)=>{var Xo=te(),Yo=(e,n)=>new Xo(e,n).patch;Ji.exports=Yo});var tn=R((ed,en)=>{var Ko=ke(),Qo=(e,n)=>{let i=Ko(e,n);return i&&i.prerelease.length?i.prerelease:null};en.exports=Qo});var me=R((td,rn)=>{var nn=te(),Jo=(e,n,i)=>new nn(e,i).compare(new nn(n,i));rn.exports=Jo});var an=R((id,on)=>{var Zo=me(),ea=(e,n,i)=>Zo(n,e,i);on.exports=ea});var ln=R((nd,sn)=>{var ta=me(),ia=(e,n)=>ta(e,n,!0);sn.exports=ia});var gt=R((rd,pn)=>{var cn=te(),na=(e,n,i)=>{let t=new cn(e,i),r=new cn(n,i);return t.compare(r)||t.compareBuild(r)};pn.exports=na});var mn=R((od,dn)=>{var ra=gt(),oa=(e,n)=>e.sort((i,t)=>ra(i,t,n));dn.exports=oa});var gn=R((ad,un)=>{var aa=gt(),sa=(e,n)=>e.sort((i,t)=>aa(t,i,n));un.exports=sa});var Ge=R((sd,fn)=>{var la=me(),ca=(e,n,i)=>la(e,n,i)>0;fn.exports=ca});var ft=R((ld,hn)=>{var pa=me(),da=(e,n,i)=>pa(e,n,i)<0;hn.exports=da});var Mt=R((cd,_n)=>{var ma=me(),ua=(e,n,i)=>ma(e,n,i)===0;_n.exports=ua});var Rt=R((pd,vn)=>{var ga=me(),fa=(e,n,i)=>ga(e,n,i)!==0;vn.exports=fa});var ht=R((dd,bn)=>{var ha=me(),_a=(e,n,i)=>ha(e,n,i)>=0;bn.exports=_a});var _t=R((md,xn)=>{var va=me(),ba=(e,n,i)=>va(e,n,i)<=0;xn.exports=ba});var Nt=R((ud,Cn)=>{var xa=Mt(),Ca=Rt(),Ia=Ge(),ya=ht(),wa=ft(),$a=_t(),Sa=(e,n,i,t)=>{switch(n){case"===":return typeof e=="object"&&(e=e.version),typeof i=="object"&&(i=i.version),e===i;case"!==":return typeof e=="object"&&(e=e.version),typeof i=="object"&&(i=i.version),e!==i;case"":case"=":case"==":return xa(e,i,t);case"!=":return Ca(e,i,t);case">":return Ia(e,i,t);case">=":return ya(e,i,t);case"<":return wa(e,i,t);case"<=":return $a(e,i,t);default:throw new TypeError(`Invalid operator: ${n}`)}};Cn.exports=Sa});var yn=R((gd,In)=>{var Ea=te(),Ta=ke(),{safeRe:vt,t:bt}=Le(),ka=(e,n)=>{if(e instanceof Ea)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;n=n||{};let i=null;if(!n.rtl)i=e.match(n.includePrerelease?vt[bt.COERCEFULL]:vt[bt.COERCE]);else{let b=n.includePrerelease?vt[bt.COERCERTLFULL]:vt[bt.COERCERTL],y;for(;(y=b.exec(e))&&(!i||i.index+i[0].length!==e.length);)(!i||y.index+y[0].length!==i.index+i[0].length)&&(i=y),b.lastIndex=y.index+y[1].length+y[2].length;b.lastIndex=-1}if(i===null)return null;let t=i[2],r=i[3]||"0",o=i[4]||"0",p=n.includePrerelease&&i[5]?`-${i[5]}`:"",h=n.includePrerelease&&i[6]?`+${i[6]}`:"";return Ta(`${t}.${r}.${o}${p}${h}`,n)};In.exports=ka});var $n=R((fd,wn)=>{var At=class{constructor(){this.max=1e3,this.map=new Map}get(n){let i=this.map.get(n);if(i!==void 0)return this.map.delete(n),this.map.set(n,i),i}delete(n){return this.map.delete(n)}set(n,i){if(!this.delete(n)&&i!==void 0){if(this.map.size>=this.max){let r=this.map.keys().next().value;this.delete(r)}this.map.set(n,i)}return this}};wn.exports=At});var ue=R((hd,kn)=>{var Va=/\s+/g,Ot=class e{constructor(n,i){if(i=Pa(i),n instanceof e)return n.loose===!!i.loose&&n.includePrerelease===!!i.includePrerelease?n:new e(n.raw,i);if(n instanceof Lt)return this.raw=n.value,this.set=[[n]],this.formatted=void 0,this;if(this.options=i,this.loose=!!i.loose,this.includePrerelease=!!i.includePrerelease,this.raw=n.trim().replace(Va," "),this.set=this.raw.split("||").map(t=>this.parseRange(t.trim())).filter(t=>t.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let t=this.set[0];if(this.set=this.set.filter(r=>!En(r[0])),this.set.length===0)this.set=[t];else if(this.set.length>1){for(let r of this.set)if(r.length===1&&ja(r[0])){this.set=[r];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let n=0;n<this.set.length;n++){n>0&&(this.formatted+="||");let i=this.set[n];for(let t=0;t<i.length;t++)t>0&&(this.formatted+=" "),this.formatted+=i[t].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(n){let t=((this.options.includePrerelease&&Oa)|(this.options.loose&&La))+":"+n,r=Sn.get(t);if(r)return r;let o=this.options.loose,p=o?ce[re.HYPHENRANGELOOSE]:ce[re.HYPHENRANGE];n=n.replace(p,Ya(this.options.includePrerelease)),H("hyphen replace",n),n=n.replace(ce[re.COMPARATORTRIM],Ra),H("comparator trim",n),n=n.replace(ce[re.TILDETRIM],Na),H("tilde trim",n),n=n.replace(ce[re.CARETTRIM],Aa),H("caret trim",n);let h=n.split(" ").map(P=>Fa(P,this.options)).join(" ").split(/\s+/).map(P=>Xa(P,this.options));o&&(h=h.filter(P=>(H("loose invalid filter",P,this.options),!!P.match(ce[re.COMPARATORLOOSE])))),H("range list",h);let b=new Map,y=h.map(P=>new Lt(P,this.options));for(let P of y){if(En(P))return[P];b.set(P.value,P)}b.size>1&&b.has("")&&b.delete("");let B=[...b.values()];return Sn.set(t,B),B}intersects(n,i){if(!(n instanceof e))throw new TypeError("a Range is required");return this.set.some(t=>Tn(t,i)&&n.set.some(r=>Tn(r,i)&&t.every(o=>r.every(p=>o.intersects(p,i)))))}test(n){if(!n)return!1;if(typeof n=="string")try{n=new Ma(n,this.options)}catch{return!1}for(let i=0;i<this.set.length;i++)if(Ka(this.set[i],n,this.options))return!0;return!1}};kn.exports=Ot;var Ba=$n(),Sn=new Ba,Pa=dt(),Lt=ze(),H=He(),Ma=te(),{safeRe:ce,t:re,comparatorTrimReplace:Ra,tildeTrimReplace:Na,caretTrimReplace:Aa}=Le(),{FLAG_INCLUDE_PRERELEASE:Oa,FLAG_LOOSE:La}=qe(),En=e=>e.value==="<0.0.0-0",ja=e=>e.value==="",Tn=(e,n)=>{let i=!0,t=e.slice(),r=t.pop();for(;i&&t.length;)i=t.every(o=>r.intersects(o,n)),r=t.pop();return i},Fa=(e,n)=>(H("comp",e,n),e=qa(e,n),H("caret",e),e=Da(e,n),H("tildes",e),e=Ga(e,n),H("xrange",e),e=Wa(e,n),H("stars",e),e),oe=e=>!e||e.toLowerCase()==="x"||e==="*",Da=(e,n)=>e.trim().split(/\s+/).map(i=>Ua(i,n)).join(" "),Ua=(e,n)=>{let i=n.loose?ce[re.TILDELOOSE]:ce[re.TILDE];return e.replace(i,(t,r,o,p,h)=>{H("tilde",e,t,r,o,p,h);let b;return oe(r)?b="":oe(o)?b=`>=${r}.0.0 <${+r+1}.0.0-0`:oe(p)?b=`>=${r}.${o}.0 <${r}.${+o+1}.0-0`:h?(H("replaceTilde pr",h),b=`>=${r}.${o}.${p}-${h} <${r}.${+o+1}.0-0`):b=`>=${r}.${o}.${p} <${r}.${+o+1}.0-0`,H("tilde return",b),b})},qa=(e,n)=>e.trim().split(/\s+/).map(i=>Ha(i,n)).join(" "),Ha=(e,n)=>{H("caret",e,n);let i=n.loose?ce[re.CARETLOOSE]:ce[re.CARET],t=n.includePrerelease?"-0":"";return e.replace(i,(r,o,p,h,b)=>{H("caret",e,r,o,p,h,b);let y;return oe(o)?y="":oe(p)?y=`>=${o}.0.0${t} <${+o+1}.0.0-0`:oe(h)?o==="0"?y=`>=${o}.${p}.0${t} <${o}.${+p+1}.0-0`:y=`>=${o}.${p}.0${t} <${+o+1}.0.0-0`:b?(H("replaceCaret pr",b),o==="0"?p==="0"?y=`>=${o}.${p}.${h}-${b} <${o}.${p}.${+h+1}-0`:y=`>=${o}.${p}.${h}-${b} <${o}.${+p+1}.0-0`:y=`>=${o}.${p}.${h}-${b} <${+o+1}.0.0-0`):(H("no pr"),o==="0"?p==="0"?y=`>=${o}.${p}.${h}${t} <${o}.${p}.${+h+1}-0`:y=`>=${o}.${p}.${h}${t} <${o}.${+p+1}.0-0`:y=`>=${o}.${p}.${h} <${+o+1}.0.0-0`),H("caret return",y),y})},Ga=(e,n)=>(H("replaceXRanges",e,n),e.split(/\s+/).map(i=>za(i,n)).join(" ")),za=(e,n)=>{e=e.trim();let i=n.loose?ce[re.XRANGELOOSE]:ce[re.XRANGE];return e.replace(i,(t,r,o,p,h,b)=>{H("xRange",e,t,r,o,p,h,b);let y=oe(o),B=y||oe(p),P=B||oe(h),Y=P;return r==="="&&Y&&(r=""),b=n.includePrerelease?"-0":"",y?r===">"||r==="<"?t="<0.0.0-0":t="*":r&&Y?(B&&(p=0),h=0,r===">"?(r=">=",B?(o=+o+1,p=0,h=0):(p=+p+1,h=0)):r==="<="&&(r="<",B?o=+o+1:p=+p+1),r==="<"&&(b="-0"),t=`${r+o}.${p}.${h}${b}`):B?t=`>=${o}.0.0${b} <${+o+1}.0.0-0`:P&&(t=`>=${o}.${p}.0${b} <${o}.${+p+1}.0-0`),H("xRange return",t),t})},Wa=(e,n)=>(H("replaceStars",e,n),e.trim().replace(ce[re.STAR],"")),Xa=(e,n)=>(H("replaceGTE0",e,n),e.trim().replace(ce[n.includePrerelease?re.GTE0PRE:re.GTE0],"")),Ya=e=>(n,i,t,r,o,p,h,b,y,B,P,Y)=>(oe(t)?i="":oe(r)?i=`>=${t}.0.0${e?"-0":""}`:oe(o)?i=`>=${t}.${r}.0${e?"-0":""}`:p?i=`>=${i}`:i=`>=${i}${e?"-0":""}`,oe(y)?b="":oe(B)?b=`<${+y+1}.0.0-0`:oe(P)?b=`<${y}.${+B+1}.0-0`:Y?b=`<=${y}.${B}.${P}-${Y}`:e?b=`<${y}.${B}.${+P+1}-0`:b=`<=${b}`,`${i} ${b}`.trim()),Ka=(e,n,i)=>{for(let t=0;t<e.length;t++)if(!e[t].test(n))return!1;if(n.prerelease.length&&!i.includePrerelease){for(let t=0;t<e.length;t++)if(H(e[t].semver),e[t].semver!==Lt.ANY&&e[t].semver.prerelease.length>0){let r=e[t].semver;if(r.major===n.major&&r.minor===n.minor&&r.patch===n.patch)return!0}return!1}return!0}});var ze=R((_d,Nn)=>{var We=Symbol("SemVer ANY"),Dt=class e{static get ANY(){return We}constructor(n,i){if(i=Vn(i),n instanceof e){if(n.loose===!!i.loose)return n;n=n.value}n=n.trim().split(/\s+/).join(" "),Ft("comparator",n,i),this.options=i,this.loose=!!i.loose,this.parse(n),this.semver===We?this.value="":this.value=this.operator+this.semver.version,Ft("comp",this)}parse(n){let i=this.options.loose?Bn[Pn.COMPARATORLOOSE]:Bn[Pn.COMPARATOR],t=n.match(i);if(!t)throw new TypeError(`Invalid comparator: ${n}`);this.operator=t[1]!==void 0?t[1]:"",this.operator==="="&&(this.operator=""),t[2]?this.semver=new Mn(t[2],this.options.loose):this.semver=We}toString(){return this.value}test(n){if(Ft("Comparator.test",n,this.options.loose),this.semver===We||n===We)return!0;if(typeof n=="string")try{n=new Mn(n,this.options)}catch{return!1}return jt(n,this.operator,this.semver,this.options)}intersects(n,i){if(!(n instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Rn(n.value,i).test(this.value):n.operator===""?n.value===""?!0:new Rn(this.value,i).test(n.semver):(i=Vn(i),i.includePrerelease&&(this.value==="<0.0.0-0"||n.value==="<0.0.0-0")||!i.includePrerelease&&(this.value.startsWith("<0.0.0")||n.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&n.operator.startsWith(">")||this.operator.startsWith("<")&&n.operator.startsWith("<")||this.semver.version===n.semver.version&&this.operator.includes("=")&&n.operator.includes("=")||jt(this.semver,"<",n.semver,i)&&this.operator.startsWith(">")&&n.operator.startsWith("<")||jt(this.semver,">",n.semver,i)&&this.operator.startsWith("<")&&n.operator.startsWith(">")))}};Nn.exports=Dt;var Vn=dt(),{safeRe:Bn,t:Pn}=Le(),jt=Nt(),Ft=He(),Mn=te(),Rn=ue()});var Xe=R((vd,An)=>{var Qa=ue(),Ja=(e,n,i)=>{try{n=new Qa(n,i)}catch{return!1}return n.test(e)};An.exports=Ja});var Ln=R((bd,On)=>{var Za=ue(),es=(e,n)=>new Za(e,n).set.map(i=>i.map(t=>t.value).join(" ").trim().split(" "));On.exports=es});var Fn=R((xd,jn)=>{var ts=te(),is=ue(),ns=(e,n,i)=>{let t=null,r=null,o=null;try{o=new is(n,i)}catch{return null}return e.forEach(p=>{o.test(p)&&(!t||r.compare(p)===-1)&&(t=p,r=new ts(t,i))}),t};jn.exports=ns});var Un=R((Cd,Dn)=>{var rs=te(),os=ue(),as=(e,n,i)=>{let t=null,r=null,o=null;try{o=new os(n,i)}catch{return null}return e.forEach(p=>{o.test(p)&&(!t||r.compare(p)===1)&&(t=p,r=new rs(t,i))}),t};Dn.exports=as});var Gn=R((Id,Hn)=>{var Ut=te(),ss=ue(),qn=Ge(),ls=(e,n)=>{e=new ss(e,n);let i=new Ut("0.0.0");if(e.test(i)||(i=new Ut("0.0.0-0"),e.test(i)))return i;i=null;for(let t=0;t<e.set.length;++t){let r=e.set[t],o=null;r.forEach(p=>{let h=new Ut(p.semver.version);switch(p.operator){case">":h.prerelease.length===0?h.patch++:h.prerelease.push(0),h.raw=h.format();case"":case">=":(!o||qn(h,o))&&(o=h);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${p.operator}`)}}),o&&(!i||qn(i,o))&&(i=o)}return i&&e.test(i)?i:null};Hn.exports=ls});var Wn=R((yd,zn)=>{var cs=ue(),ps=(e,n)=>{try{return new cs(e,n).range||"*"}catch{return null}};zn.exports=ps});var xt=R((wd,Qn)=>{var ds=te(),Kn=ze(),{ANY:ms}=Kn,us=ue(),gs=Xe(),Xn=Ge(),Yn=ft(),fs=_t(),hs=ht(),_s=(e,n,i,t)=>{e=new ds(e,t),n=new us(n,t);let r,o,p,h,b;switch(i){case">":r=Xn,o=fs,p=Yn,h=">",b=">=";break;case"<":r=Yn,o=hs,p=Xn,h="<",b="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(gs(e,n,t))return!1;for(let y=0;y<n.set.length;++y){let B=n.set[y],P=null,Y=null;if(B.forEach(M=>{M.semver===ms&&(M=new Kn(">=0.0.0")),P=P||M,Y=Y||M,r(M.semver,P.semver,t)?P=M:p(M.semver,Y.semver,t)&&(Y=M)}),P.operator===h||P.operator===b||(!Y.operator||Y.operator===h)&&o(e,Y.semver))return!1;if(Y.operator===b&&p(e,Y.semver))return!1}return!0};Qn.exports=_s});var Zn=R(($d,Jn)=>{var vs=xt(),bs=(e,n,i)=>vs(e,n,">",i);Jn.exports=bs});var tr=R((Sd,er)=>{var xs=xt(),Cs=(e,n,i)=>xs(e,n,"<",i);er.exports=Cs});var rr=R((Ed,nr)=>{var ir=ue(),Is=(e,n,i)=>(e=new ir(e,i),n=new ir(n,i),e.intersects(n,i));nr.exports=Is});var ar=R((Td,or)=>{var ys=Xe(),ws=me();or.exports=(e,n,i)=>{let t=[],r=null,o=null,p=e.sort((B,P)=>ws(B,P,i));for(let B of p)ys(B,n,i)?(o=B,r||(r=B)):(o&&t.push([r,o]),o=null,r=null);r&&t.push([r,null]);let h=[];for(let[B,P]of t)B===P?h.push(B):!P&&B===p[0]?h.push("*"):P?B===p[0]?h.push(`<=${P}`):h.push(`${B} - ${P}`):h.push(`>=${B}`);let b=h.join(" || "),y=typeof n.raw=="string"?n.raw:String(n);return b.length<y.length?b:n}});var mr=R((kd,dr)=>{var sr=ue(),Ht=ze(),{ANY:qt}=Ht,Ye=Xe(),Gt=me(),$s=(e,n,i={})=>{if(e===n)return!0;e=new sr(e,i),n=new sr(n,i);let t=!1;e:for(let r of e.set){for(let o of n.set){let p=Es(r,o,i);if(t=t||p!==null,p)continue e}if(t)return!1}return!0},Ss=[new Ht(">=0.0.0-0")],lr=[new Ht(">=0.0.0")],Es=(e,n,i)=>{if(e===n)return!0;if(e.length===1&&e[0].semver===qt){if(n.length===1&&n[0].semver===qt)return!0;i.includePrerelease?e=Ss:e=lr}if(n.length===1&&n[0].semver===qt){if(i.includePrerelease)return!0;n=lr}let t=new Set,r,o;for(let M of e)M.operator===">"||M.operator===">="?r=cr(r,M,i):M.operator==="<"||M.operator==="<="?o=pr(o,M,i):t.add(M.semver);if(t.size>1)return null;let p;if(r&&o){if(p=Gt(r.semver,o.semver,i),p>0)return null;if(p===0&&(r.operator!==">="||o.operator!=="<="))return null}for(let M of t){if(r&&!Ye(M,String(r),i)||o&&!Ye(M,String(o),i))return null;for(let Fr of n)if(!Ye(M,String(Fr),i))return!1;return!0}let h,b,y,B,P=o&&!i.includePrerelease&&o.semver.prerelease.length?o.semver:!1,Y=r&&!i.includePrerelease&&r.semver.prerelease.length?r.semver:!1;P&&P.prerelease.length===1&&o.operator==="<"&&P.prerelease[0]===0&&(P=!1);for(let M of n){if(B=B||M.operator===">"||M.operator===">=",y=y||M.operator==="<"||M.operator==="<=",r){if(Y&&M.semver.prerelease&&M.semver.prerelease.length&&M.semver.major===Y.major&&M.semver.minor===Y.minor&&M.semver.patch===Y.patch&&(Y=!1),M.operator===">"||M.operator===">="){if(h=cr(r,M,i),h===M&&h!==r)return!1}else if(r.operator===">="&&!Ye(r.semver,String(M),i))return!1}if(o){if(P&&M.semver.prerelease&&M.semver.prerelease.length&&M.semver.major===P.major&&M.semver.minor===P.minor&&M.semver.patch===P.patch&&(P=!1),M.operator==="<"||M.operator==="<="){if(b=pr(o,M,i),b===M&&b!==o)return!1}else if(o.operator==="<="&&!Ye(o.semver,String(M),i))return!1}if(!M.operator&&(o||r)&&p!==0)return!1}return!(r&&y&&!o&&p!==0||o&&B&&!r&&p!==0||Y||P)},cr=(e,n,i)=>{if(!e)return n;let t=Gt(e.semver,n.semver,i);return t>0?e:t<0||n.operator===">"&&e.operator===">="?n:e},pr=(e,n,i)=>{if(!e)return n;let t=Gt(e.semver,n.semver,i);return t<0?e:t>0||n.operator==="<"&&e.operator==="<="?n:e};dr.exports=$s});var Ct=R((Vd,fr)=>{var zt=Le(),ur=qe(),Ts=te(),gr=Bt(),ks=ke(),Vs=ji(),Bs=Di(),Ps=Hi(),Ms=Wi(),Rs=Yi(),Ns=Qi(),As=Zi(),Os=tn(),Ls=me(),js=an(),Fs=ln(),Ds=gt(),Us=mn(),qs=gn(),Hs=Ge(),Gs=ft(),zs=Mt(),Ws=Rt(),Xs=ht(),Ys=_t(),Ks=Nt(),Qs=yn(),Js=ze(),Zs=ue(),el=Xe(),tl=Ln(),il=Fn(),nl=Un(),rl=Gn(),ol=Wn(),al=xt(),sl=Zn(),ll=tr(),cl=rr(),pl=ar(),dl=mr();fr.exports={parse:ks,valid:Vs,clean:Bs,inc:Ps,diff:Ms,major:Rs,minor:Ns,patch:As,prerelease:Os,compare:Ls,rcompare:js,compareLoose:Fs,compareBuild:Ds,sort:Us,rsort:qs,gt:Hs,lt:Gs,eq:zs,neq:Ws,gte:Xs,lte:Ys,cmp:Ks,coerce:Qs,Comparator:Js,Range:Zs,satisfies:el,toComparators:tl,maxSatisfying:il,minSatisfying:nl,minVersion:rl,validRange:ol,outside:al,gtr:sl,ltr:ll,intersects:cl,simplifyRange:pl,subset:dl,SemVer:Ts,re:zt.re,src:zt.src,tokens:zt.t,SEMVER_SPEC_VERSION:ur.SEMVER_SPEC_VERSION,RELEASE_TYPES:ur.RELEASE_TYPES,compareIdentifiers:gr.compareIdentifiers,rcompareIdentifiers:gr.rcompareIdentifiers}});function Ur(e,n){e&1&&(l(0,"div",14),v(1,"i",15),c())}function qr(e,n){e&1&&(l(0,"div"),v(1,"i",18),l(2,"p"),m(3,"All your plugins are marked as compatible with the new version of Homebridge."),c(),l(4,"p"),m(5,"You are all set to continue below."),c()())}function Hr(e,n){e&1&&(l(0,"div"),v(1,"i",19),l(2,"p"),m(3,"Some of your plugins are not explicitly marked as compatible with the new version of Homebridge."),c(),l(4,"p"),m(5," This does "),l(6,"span",20),m(7,"not"),c(),m(8," necessarily mean that they won't work. We just can't guarantee that they will. "),c(),l(9,"p"),m(10," For more information about this update, please see the "),l(11,"a",21),m(12,"wiki page"),c(),m(13,". "),c(),l(14,"p"),m(15,"To ignore this warning and continue with the update, click continue below."),c()())}function Gr(e,n){e&1&&(l(0,"span"),v(1,"i",24),c())}function zr(e,n){e&1&&(l(0,"span"),v(1,"i",25),c())}function Wr(e,n){if(e&1&&(l(0,"li",22)(1,"span",23),m(2),c(),x(3,Gr,2,0,"span",7)(4,zr,2,0,"span",7),c()),e&2){let i=n.$implicit;a(2),T(i.name),a(),d("ngIf",i.hb2Ready==="supported"),a(),d("ngIf",i.hb2Ready==="unknown")}}function Xr(e,n){if(e&1&&(l(0,"div"),x(1,qr,6,0,"div",7)(2,Hr,16,0,"div",7),l(3,"ul",16),x(4,Wr,5,3,"li",17),c()()),e&2){let i=f();a(),d("ngIf",i.allPluginsSupported),a(),d("ngIf",!i.allPluginsSupported),a(2),d("ngForOf",i.installedPlugins)}}var fi=(()=>{let n=class n{constructor(t,r,o,p,h){s(this,"$activeModal");s(this,"$api");s(this,"$settings");s(this,"$toastr");s(this,"$translate");s(this,"loading",!0);s(this,"installedPlugins",[]);s(this,"allPluginsSupported",!0);this.$activeModal=t,this.$api=r,this.$settings=o,this.$toastr=p,this.$translate=h}ngOnInit(){this.loadInstalledPlugins()}loadInstalledPlugins(){return k(this,null,function*(){this.installedPlugins=[],this.loading=!0;let t=this.$settings.env.homebridgeVersion.split(".")[0];try{let r=yield O(this.$api.get("/plugins"));this.installedPlugins=r.filter(o=>o.name!=="homebridge-config-ui-x").map(o=>{var b,y;let p=((y=(b=o.engines)==null?void 0:b.homebridge)==null?void 0:y.split("||").map(B=>B.trim()))||[],h=t==="2"?"hide":p.some(B=>B.startsWith("^2")||B.startsWith(">=2"))?"supported":"unknown";return h==="unknown"&&(this.allPluginsSupported=!1),Qe(Ke({},o),{hb2Ready:h})}),this.loading=!1}catch(r){console.error(r),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}};s(n,"\u0275fac",function(r){return new(r||n)(_(q),_(L),_(Q),_(D),_(F))}),s(n,"\u0275cmp",j({type:n,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","w-100","text-center"],["class","w-100 text-center primary-text",4,"ngIf"],[4,"ngIf"],[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,"w-100","text-center","primary-text"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mt-4"],["class","list-group-item d-flex flex-row flex-wrap justify-content-between",4,"ngFor","ngForOf"],[1,"fas","fa-fw","fa-check-circle","primary-text","mb-4",2,"font-size","75px"],[1,"fas","fa-fw","fa-info-circle","primary-text","mb-4",2,"font-size","75px"],[1,"font-weight-bold"],["href","https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0","target","_blank"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"text-monospace"],["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(r,o){r&1&&(l(0,"div",0)(1,"div",1)(2,"h5",2),m(3,"Homebridge v2 Update"),c(),l(4,"button",3),u(5,"translate"),I("click",function(){return o.$activeModal.close("Dismiss")}),l(6,"span",4),m(7,"\xD7"),c()()(),l(8,"div",5),x(9,Ur,2,0,"div",6)(10,Xr,5,3,"div",7),c(),l(11,"div",8)(12,"div",9)(13,"button",10),u(14,"translate"),I("click",function(){return o.$activeModal.close("Dismiss")}),m(15),u(16,"translate"),c()(),v(17,"div",11),l(18,"div",12)(19,"button",13),I("click",function(){return o.$activeModal.close("update")}),m(20),u(21,"translate"),c()()()()),r&2&&(a(4),A("aria-label",g(5,7,"form.button_close")),a(5),d("ngIf",o.loading),a(),d("ngIf",!o.loading),a(3),A("aria-label",g(14,9,"form.button_close")),a(2),C(" ",g(16,11,"form.button_close")," "),a(4),d("disabled",o.loading),a(),C(" ",g(21,13,"plugins.node_update.continue")," "))},dependencies:[de,X,U],encapsulation:2}));let e=n;return e})();var hi=pe(Ue(),1);var Yr=["pluginlogoutput"],_i=(()=>{let n=class n{constructor(t,r,o,p,h,b){s(this,"$activeModal");s(this,"$api");s(this,"$log");s(this,"$modal");s(this,"$toastr");s(this,"$translate");s(this,"plugin");s(this,"termTarget");s(this,"resizeEvent",new Ee);s(this,"pluginAlias");this.$activeModal=t,this.$api=r,this.$log=o,this.$modal=p,this.$toastr=h,this.$translate=b}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){this.getPluginLog()}getPluginLog(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{var r;this.pluginAlias=this.plugin.name==="homebridge-config-ui-x"?"Homebridge UI":((r=t[0])==null?void 0:r.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(ui,{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:r=>{if(!r.body)return;let o=r.body.split(`
2
2
  `),p="",h=!1;o.forEach(b=>{if(b){if(h)if(b.match(/36m\[.*?\]/))h=!1;else{p+=`${b.replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"")}\r
3
3
  `;return}b.includes(`36m[${this.pluginAlias}]`)&&(p+=`${b.replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"")}\r
4
4
  `,h=!0)}}),(0,hi.saveAs)(new Blob([p],{type:"text/plain;charset=utf-8"}),`${this.plugin.name}.log.txt`)},error:r=>k(this,null,function*(){let o;try{o=JSON.parse(yield r.error.text()).message}catch(p){console.error(p)}this.$toastr.error(o||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}ngOnDestroy(){this.$log.destroyTerminal()}};s(n,"\u0275fac",function(r){return new(r||n)(_(q),_(L),_(mi),_(J),_(D),_(F))}),s(n,"\u0275cmp",j({type:n,selectors:[["ng-component"]],viewQuery:function(r,o){if(r&1&&et(Yr,7),r&2){let p;tt(p=it())&&(o.termTarget=p.first)}},hostBindings:function(r,o){r&1&&I("resize",function(h){return o.onWindowResize(h)},!1,ei)},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(r,o){if(r&1){let p=V();l(0,"div",1)(1,"div",2)(2,"h5",3),m(3),c(),l(4,"button",4),u(5,"translate"),I("click",function(){return w(p),$(o.$activeModal.dismiss("Dismiss"))}),l(6,"span",5),m(7,"\xD7"),c()()(),l(8,"div",6),v(9,"div",7,0),c(),l(11,"div",8)(12,"div",9)(13,"button",10),u(14,"translate"),I("click",function(){return w(p),$(o.$activeModal.dismiss("Dismiss"))}),m(15),u(16,"translate"),c()(),v(17,"div",11),l(18,"div",12)(19,"button",13),I("click",function(){return w(p),$(o.downloadLogFile())}),m(20),u(21,"translate"),c()()()()}r&2&&(a(3),C("Logs: ",o.plugin.displayName||o.plugin.name,""),a(),A("aria-label",g(5,5,"form.button_close")),a(9),A("aria-label",g(14,7,"form.button_close")),a(2),C(" ",g(16,9,"form.button_close")," "),a(5),T(g(21,11,"form.button_download")))},dependencies:[U],encapsulation:2}));let e=n;return e})();var Ii=pe(Ue(),1);var yi=pe(pi(),1),wi=pe(di(),1);var Kr=(e,n)=>({pluginName:e,targetVersion:n}),vi=()=>["homebridge","homebridge-config-ui-x"];function Qr(e,n){e&1&&(l(0,"h3",14),m(1),u(2,"translate"),c()),e&2&&(a(),C(" ",g(2,1,"platform.version.service_restart_required")," "))}function Jr(e,n){e&1&&(l(0,"p",12),m(1),u(2,"translate"),c()),e&2&&(a(),C(" ",g(2,1,"restart.homebridge")," "))}function Zr(e,n){e&1&&(l(0,"p",12),m(1),u(2,"translate"),c()),e&2&&(a(),C(" ",g(2,1,"restart.child_bridges")," "))}function eo(e,n){if(e&1&&(l(0,"div"),x(1,Jr,3,3,"p",15)(2,Zr,3,3,"p",15),c()),e&2){let i=f(3);a(),d("ngIf",_e(2,vi).includes(i.pluginName)||i.childBridges.length===0),a(),d("ngIf",!_e(3,vi).includes(i.pluginName)&&i.childBridges.length>0)}}function to(e,n){if(e&1&&(l(0,"div",16),v(1,"markdown",17),c()),e&2){let i=f(3);a(),d("data",i.changeLog)}}function io(e,n){if(e&1&&(l(0,"div"),x(1,Qr,3,3,"h3",11),l(2,"p",12),m(3),u(4,"translate"),c(),x(5,eo,3,4,"div",10)(6,to,2,1,"div",13),c()),e&2){let i=f(2);a(),d("ngIf",!i.isDisabled),a(2),C(" ",ae(4,4,"plugins.manage.thanks_for_updating",Ve(7,Kr,i.pluginName,i.targetVersion))," "),a(2),d("ngIf",!i.isDisabled),a(),d("ngIf",i.changeLog)}}function no(e,n){if(e&1&&(l(0,"div",9),x(1,io,7,10,"div",10),c()),e&2){let i=f();a(),d("ngIf",i.justUpdatedPlugin)}}function ro(e,n){if(e&1&&(l(0,"div")(1,"p"),m(2),u(3,"translate"),c(),l(4,"pre"),m(5),c()()),e&2){let i=f(2);a(2),T(g(3,3,"plugins.manage.manual_update_command")),a(3),K(`hb-service stop
@@ -1 +1 @@
1
- import{m}from"./chunk-S4SOWUAW.js";import{W as c,Z as s,h as e,i as n,sc as f,t as a}from"./chunk-IGUSDGD6.js";var l=(()=>{let t=class t{constructor(o,r){e(this,"$router");e(this,"$settings");this.$router=o,this.$settings=r}canActivate(){return n(this,null,function*(){return this.$settings.settingsLoaded||(yield a(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}};e(t,"\u0275fac",function(r){return new(r||t)(s(f),s(m))}),e(t,"\u0275prov",c({token:t,factory:t.\u0275fac,providedIn:"root"}));let i=t;return i})();export{l as a};
1
+ import{m}from"./chunk-54RIF7BL.js";import{W as c,Z as s,h as e,i as n,sc as f,t as a}from"./chunk-IGUSDGD6.js";var l=(()=>{let t=class t{constructor(o,r){e(this,"$router");e(this,"$settings");this.$router=o,this.$settings=r}canActivate(){return n(this,null,function*(){return this.$settings.settingsLoaded||(yield a(this.$settings.onSettingsLoaded)),this.$settings.env.setupWizardComplete===!1||this.$router.navigate(["/"]),!0})}};e(t,"\u0275fac",function(r){return new(r||t)(s(f),s(m))}),e(t,"\u0275prov",c({token:t,factory:t.\u0275fac,providedIn:"root"}));let i=t;return i})();export{l as a};
@@ -1 +1 @@
1
- import{$b as m,X as i,aa as o,h as r,vc as a}from"./chunk-IGUSDGD6.js";var l=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"docker",loadChildren:()=>import("./chunk-BQLALGZ5.js").then(e=>e.DockerModule)},{path:"linux",loadChildren:()=>import("./chunk-DRWF7R4E.js").then(e=>e.LinuxModule)},{path:"terminal",loadChildren:()=>import("./chunk-T5QVI4H2.js").then(e=>e.TerminalModule)}],c=(()=>{let t=class t{};r(t,"\u0275fac",function(n){return new(n||t)}),r(t,"\u0275mod",o({type:t})),r(t,"\u0275inj",i({imports:[a.forChild(l),a]}));let e=t;return e})();var C=(()=>{let t=class t{};r(t,"\u0275fac",function(n){return new(n||t)}),r(t,"\u0275mod",o({type:t})),r(t,"\u0275inj",i({imports:[m,c]}));let e=t;return e})();export{C as PlatformToolsModule};
1
+ import{$b as m,X as i,aa as o,h as r,vc as a}from"./chunk-IGUSDGD6.js";var l=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"docker",loadChildren:()=>import("./chunk-D63P2BMG.js").then(e=>e.DockerModule)},{path:"linux",loadChildren:()=>import("./chunk-PCHM6ESV.js").then(e=>e.LinuxModule)},{path:"terminal",loadChildren:()=>import("./chunk-NLHSKWUN.js").then(e=>e.TerminalModule)}],c=(()=>{let t=class t{};r(t,"\u0275fac",function(n){return new(n||t)}),r(t,"\u0275mod",o({type:t})),r(t,"\u0275inj",i({imports:[a.forChild(l),a]}));let e=t;return e})();var C=(()=>{let t=class t{};r(t,"\u0275fac",function(n){return new(n||t)}),r(t,"\u0275mod",o({type:t})),r(t,"\u0275inj",i({imports:[m,c]}));let e=t;return e})();export{C as PlatformToolsModule};
@@ -1 +1 @@
1
- import{a as Ve,b as Te,c as $e}from"./chunk-DOLYKWZH.js";import{a as ye,d as L,f as Be}from"./chunk-422JXES4.js";import{a as Se,d as q}from"./chunk-3KSUXL3K.js";import"./chunk-4R6MSI5I.js";import"./chunk-SJTXTMYT.js";import"./chunk-6QEO3BTW.js";import{a as Pe}from"./chunk-B6C32ZRK.js";import"./chunk-LS7T2AVU.js";import"./chunk-GNQUXZMN.js";import"./chunk-THFLPY67.js";import{a as F}from"./chunk-7564WJJL.js";import"./chunk-TS27NWVA.js";import{a as G}from"./chunk-7R6JSPNH.js";import{a as ke}from"./chunk-JM7QCDMZ.js";import"./chunk-RIWBPQF3.js";import{H as fe,I as _e,J as he,K as be,L as Ce,M as ve,N as xe,O as we,Q as Ie,c as ae,d as re,e as le,f as oe,g as se,j as pe,m as de,p as ce,q as ge,y as ue,z as me}from"./chunk-WCDFKYP6.js";import{c as A,k as R,m as U}from"./chunk-S4SOWUAW.js";import{a as H,b as M,c as ne}from"./chunk-F22FMU37.js";import{$ as T,$b as ee,Ab as Q,Ga as I,Ka as B,La as s,Pb as X,Qb as Y,Rb as E,Ua as o,Va as p,Wa as c,X as D,Xa as W,Ya as J,Za as v,Zb as Z,aa as N,ab as h,bb as g,h as d,ha as b,i as k,ia as C,jb as _,kb as P,lb as x,pc as ie,sc as te,t as V,ua as $,vb as K,vc as O,wa as r,xa as y,yb as u,zb as m}from"./chunk-IGUSDGD6.js";function Ue(e,l){if(e&1){let a=v();o(0,"button",15),h("click",function(){b(a);let t=g();return C(t.$activeModal.dismiss("Dismiss"))}),_(1),u(2,"translate"),p()}e&2&&(r(),x(" ",m(2,1,"form.button_close")," "))}function Fe(e,l){if(e&1){let a=v();o(0,"button",15),h("click",function(){b(a);let t=g();return C(t.$activeModal.dismiss("Dismiss"))}),_(1),u(2,"translate"),p()}e&2&&(r(),x(" ",m(2,1,"form.button_close")," "))}function qe(e,l){if(e&1&&(o(0,"a",16),_(1),u(2,"translate"),c(3,"i",17),p()),e&2){let a=g();s("href",a.plugin.links.homepage||a.plugin.links.npm,$),r(),x(" ",m(2,2,"plugins.button_homepage")," ")}}var je=(()=>{let l=class l{constructor(i){d(this,"$activeModal");d(this,"plugin");d(this,"defaultIcon","assets/hb-icon.png");this.$activeModal=i}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}};d(l,"\u0275fac",function(t){return new(t||l)(y(ve))}),d(l,"\u0275cmp",T({type:l,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:26,vars:14,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","w-100","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon",3,"error","src"],[1,"my-3"],[1,"m-0","grey-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","class","btn btn-elegant","data-dismiss","modal",3,"click",4,"ngIf"],[1,"text-center"],[1,"text-right"],["class","btn btn-primary text-decoration-none","target","_blank","rel","noopener noreferrer",3,"href",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(t,n){t&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),_(3),u(4,"translate"),p(),o(5,"button",3),u(6,"translate"),h("click",function(){return n.$activeModal.dismiss("Dismiss")}),o(7,"span",4),_(8,"\xD7"),p()()(),o(9,"div",5)(10,"img",6),h("error",function(){return n.handleIconError()}),p(),o(11,"h4"),_(12),p(),o(13,"p",7),_(14),p(),o(15,"p",8),_(16),p(),o(17,"p",8),_(18),p()(),o(19,"div",9)(20,"div",10),I(21,Ue,3,3,"button",11),p(),o(22,"div",12),I(23,Fe,3,3,"button",11),p(),o(24,"div",13),I(25,qe,4,4,"a",14),p()()()),t&2&&(r(3),P(m(4,10,"plugins.manage.information")),r(2),B("aria-label",m(6,12,"form.button_close")),r(5),s("src",n.plugin.icon,$),r(2),P(n.plugin.displayName||n.plugin.name),r(2),P(n.plugin.description),r(2),P(n.plugin.name),r(2),x("@",n.plugin.author,""),r(3),s("ngIf",n.plugin.links.homepage||n.plugin.links.npm),r(2),s("ngIf",!n.plugin.links.homepage&&!n.plugin.links.npm),r(2),s("ngIf",n.plugin.links.homepage||n.plugin.links.npm))},dependencies:[E,M],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]}));let e=l;return e})();var Je=(e,l)=>({"fa-bridge-circle-exclamation orange-text":e,"fa-bridge-circle-xmark red-text":l});function Ke(e,l){e&1&&c(0,"i",30)}function Qe(e,l){e&1&&c(0,"i",31)}function Xe(e,l){if(e&1){let a=v();o(0,"a",27),h("click",function(){b(a);let t=g();return C(t.openHb2InfoModal())}),I(1,Ke,1,0,"i",28)(2,Qe,1,0,"i",29),p()}if(e&2){let a=g();s("ngbTooltip","Homebridge v2.0 Readiness")("placement","right"),r(),s("ngIf",a.hb2Status==="supported"),r(),s("ngIf",a.hb2Status==="unknown")}}function Ye(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.checkAndUpdatePlugin(t.plugin,t.plugin.updateTag||"latest"))}),c(3,"i",33),p()}e&2&&(s("ngbTooltip",m(1,2,"plugins.button_update")),B("aria-label",m(2,4,"plugins.button_update")))}function Ze(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.switchToScoped(t.plugin))}),c(3,"i",34),p()}e&2&&(s("ngbTooltip",m(1,2,"plugins.manage.scoped.switch")),B("aria-label",m(2,4,"plugins.manage.scoped.switch")))}function ei(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.settings(t.plugin))}),c(3,"i",35),p()}e&2&&(s("ngbTooltip",m(1,2,"plugins.button_set_up")),B("aria-label",m(2,4,"plugins.button_set_up")))}function ii(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.bridgeSettings(t.plugin))}),c(3,"i",36),p()}e&2&&(s("ngbTooltip",m(1,2,"child_bridge.setup")),B("aria-label",m(2,4,"child_bridge.setup")))}function ti(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.bridgeSettings(t.plugin))}),c(3,"i",37),p()}e&2&&(s("ngbTooltip",m(1,2,"child_bridge.bridge_connect")),B("aria-label",m(2,4,"child_bridge.bridge_connect")))}function ni(e,l){if(e&1&&c(0,"i",38),e&2){let a=g();s("ngClass",K(1,Je,a.childBridgeStatus==="pending",a.childBridgeStatus==="down"))}}function ai(e,l){if(e&1){let a=v();o(0,"p",19)(1,"a",39),h("click",function(){b(a);let t=g();return C(t.openVerifiedModal())}),c(2,"i",40),o(3,"span",17),_(4),u(5,"translate"),p()()()}e&2&&(r(4),P(m(5,1,"plugins.donate.button_verified")))}function ri(e,l){if(e&1){let a=v();o(0,"p",19)(1,"a",41),h("click",function(){b(a);let t=g();return C(t.openVerifiedModal())}),c(2,"i",42),o(3,"span",17),_(4),u(5,"translate"),p()()()}e&2&&(r(4),P(m(5,1,"plugins.donate.button_not_verified")))}function li(e,l){if(e&1){let a=v();o(0,"a",43),h("click",function(){b(a);let t=g();return C(t.openFundingModal(t.plugin))}),c(1,"i",44),o(2,"span",17),_(3),p()()}if(e&2){let a=g();r(3),x("@",a.plugin.author,"")}}function oi(e,l){if(e&1&&(o(0,"span",17),c(1,"i",45),_(2),p()),e&2){let a=g();r(2),x("@",a.plugin.author," ")}}function si(e,l){if(e&1&&(o(0,"span"),_(1),u(2,"date"),p()),e&2){let a=g(2);r(),x("(",Q(2,1,a.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function pi(e,l){if(e&1&&(o(0,"span"),c(1,"i",46),o(2,"span",17),_(3),I(4,si,3,4,"span",23),p()()),e&2){let a=g();r(3),x("v",a.plugin.latestVersion," "),r(),s("ngIf",a.plugin.lastUpdated)}}function di(e,l){if(e&1&&(o(0,"span"),c(1,"i",47),_(2),p()),e&2){let a=g();r(2),x("v",a.plugin.installedVersion," ")}}function ci(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),h("click",function(){b(a);let t=g();return C(t.doChildBridgeAction("restart"))}),c(2,"i",48),p()}if(e&2){let a=g();s("ngbTooltip",m(1,1,a.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function gi(e,l){if(e&1){let a=v();o(0,"a",49),h("click",function(){b(a);let t=g();return C(t.enablePlugin(t.plugin))}),c(1,"i",50),u(2,"translate"),p()}e&2&&(r(),s("ngbTooltip",m(2,1,"plugins.status_disabled")))}function ui(e,l){if(e&1){let a=v();o(0,"a",51),h("click",function(){b(a);let t=g();return C(t.$plugin.installAlternateVersion(t.plugin))}),c(1,"i",52),p()}}function mi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.viewPluginLog(t.plugin))}),c(1,"i",62),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.plugin_logs")," "))}function fi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.installAlternateVersion(t.plugin))}),c(1,"i",63),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.manage_version")," "))}function _i(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.jsonEditor(t.plugin))}),c(1,"i",64),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.json_config")," "))}function hi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.disablePlugin(t.plugin))}),c(1,"i",65),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.disable")," "))}function bi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.enablePlugin(t.plugin))}),c(1,"i",66),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.enable")," "))}function Ci(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.uninstallPlugin(t.plugin,t.setChildBridges))}),c(1,"i",67),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.button_uninstall")," "))}function vi(e,l){e&1&&c(0,"div",68)}function xi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(3);return C(t.doChildBridgeAction("restart"))}),c(1,"i",70),_(2),u(3,"translate"),p()}if(e&2){let a=g(3);r(2),x(" ",m(3,1,a.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function wi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(3);return C(t.doChildBridgeAction("stop"))}),c(1,"i",71),_(2),u(3,"translate"),p()}if(e&2){let a=g(3);r(2),x(" ",m(3,1,a.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function Ii(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(3);return C(t.doChildBridgeAction("start"))}),c(1,"i",72),_(2),u(3,"translate"),p()}if(e&2){let a=g(3);r(2),x(" ",m(3,1,a.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function yi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(3);return C(t.$plugin.resetChildBridges(t.setChildBridges))}),c(1,"i",73),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"child_bridge.reset_accessories")," "))}function Pi(e,l){if(e&1){let a=v();W(0),o(1,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.bridgeSettings(t.plugin))}),c(2,"i",69),_(3),u(4,"translate"),p(),I(5,xi,4,3,"button",59)(6,wi,4,3,"button",59)(7,Ii,4,3,"button",59)(8,yi,4,3,"button",59),J()}if(e&2){let a=g(2);r(3),x(" ",m(4,5,"child_bridge.bridge_settings")," "),r(2),s("ngIf",!a.childBridgeRestartInProgress),r(),s("ngIf",!a.allChildBridgesStopped),r(),s("ngIf",a.allChildBridgesStopped),r(),s("ngIf",a.$settings.env.serviceMode)}}function ki(e,l){e&1&&c(0,"div",68)}function Si(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.bridgeSettings(t.plugin))}),c(1,"i",74),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"child_bridge.setup")," "))}function Bi(e,l){e&1&&c(0,"div",68)}function Vi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.bridgeSettings(t.plugin))}),c(1,"i",74),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"child_bridge.setup")," "))}function Ti(e,l){e&1&&c(0,"div",68)}function $i(e,l){if(e&1&&(o(0,"a",75),c(1,"i",76),_(2),u(3,"translate"),p()),e&2){let a=g(2);s("href",a.plugin.links.bugs,$),r(2),x(" ",m(3,2,"support.links.issue")," ")}}function Ei(e,l){if(e&1){let a=v();o(0,"span",53)(1,"a",54),c(2,"i",55),p(),o(3,"div",56)(4,"button",57),h("click",function(){b(a);let t=g();return C(t.$plugin.settings(t.plugin))}),c(5,"i",58),_(6),u(7,"translate"),p(),I(8,mi,4,3,"button",59)(9,fi,4,3,"button",59)(10,_i,4,3,"button",59)(11,hi,4,3,"button",59)(12,bi,4,3,"button",59)(13,Ci,4,3,"button",59)(14,vi,1,0,"div",60)(15,Pi,9,7,"ng-container",23)(16,ki,1,0,"div",60)(17,Si,4,3,"button",59)(18,Bi,1,0,"div",60)(19,Vi,4,3,"button",59)(20,Ti,1,0,"div",60)(21,$i,4,4,"a",61),p()()}if(e&2){let a=g();r(),B("aria-label","Plugin Actions Dropdown"),r(5),x(" ",m(7,16,"plugins.button_settings")," "),r(2),s("ngIf",a.plugin.isConfigured&&!a.plugin.disabled),r(),s("ngIf",a.plugin.publicPackage),r(),s("ngIf",!a.isMobile&&a.plugin.name!=="homebridge-config-ui-x"),r(),s("ngIf",a.plugin.name!=="homebridge-config-ui-x"&&!a.plugin.disabled),r(),s("ngIf",a.plugin.name!=="homebridge-config-ui-x"&&a.plugin.disabled),r(),s("ngIf",a.plugin.name!=="homebridge-config-ui-x"),r(),s("ngIf",!a.plugin.disabled&&a.plugin.isConfigured&&a.plugin.hasChildBridges&&a.plugin.installedVersion&&a.plugin.name!=="homebridge-config-ui-x"),r(),s("ngIf",a.plugin.hasChildBridges&&!a.plugin.disabled),r(),s("ngIf",a.plugin.isConfigured&&!a.plugin.hasChildBridges&&!a.plugin.disabled&&!a.plugin.recommendChildBridge),r(),s("ngIf",a.plugin.isConfigured&&!a.plugin.hasChildBridges&&!a.plugin.disabled&&!a.plugin.recommendChildBridge),r(),s("ngIf",a.plugin.isConfigured&&!a.plugin.hasChildBridges&&!a.plugin.disabled&&a.plugin.recommendChildBridge&&a.plugin.updateAvailable),r(),s("ngIf",a.plugin.isConfigured&&!a.plugin.hasChildBridges&&!a.plugin.disabled&&a.plugin.recommendChildBridge&&a.plugin.updateAvailable),r(),s("ngIf",a.plugin.links==null?null:a.plugin.links.bugs),r(),s("ngIf",a.plugin.links==null?null:a.plugin.links.bugs)}}var De=(()=>{let l=class l{constructor(i,t,n,f,S,w,j,Ae){d(this,"$api");d(this,"$md");d(this,"$modal");d(this,"$plugin");d(this,"$settings");d(this,"$toastr");d(this,"$translate");d(this,"$ws");d(this,"plugin");d(this,"hasChildBridges",!1);d(this,"hasUnpairedChildBridges",!1);d(this,"allChildBridgesStopped",!1);d(this,"childBridgeStatus","pending");d(this,"childBridgeRestartInProgress",!1);d(this,"defaultIcon","assets/hb-icon.png");d(this,"isMobile");d(this,"setChildBridges",[]);d(this,"prettyDisplayName","");d(this,"hb2Status","unknown");d(this,"io");this.$api=i,this.$md=t,this.$modal=n,this.$plugin=f,this.$settings=S,this.$toastr=w,this.$translate=j,this.$ws=Ae}set childBridges(i){var f,S;this.hasChildBridges=i.length>0,this.hasUnpairedChildBridges=i.filter(w=>w.paired===!1).length>0,this.allChildBridgesStopped=i.filter(w=>w.manuallyStopped===!0).length===i.length,this.hasChildBridges&&(i.some(w=>w.status==="down")?this.childBridgeStatus="down":i.some(w=>w.status==="pending")?this.childBridgeStatus="pending":i.some(w=>w.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=i;let t=this.$settings.env.homebridgeVersion.split(".")[0],n=((S=(f=this.plugin.engines)==null?void 0:f.homebridge)==null?void 0:S.split("||").map(w=>w.trim()))||[];this.hb2Status=t==="2"?"hide":n.some(w=>w.startsWith("^2")||w.startsWith(">=2"))?"supported":this.hb2Status}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.prettyDisplayName=this.prettifyName(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(i){let t=this.$modal.open(Te,{size:"lg",backdrop:"static"});t.componentInstance.plugin=i}openVerifiedModal(){let i=this.$modal.open(L,{size:"lg",backdrop:"static"});this.plugin.verifiedPlugin||this.plugin.verifiedPlusPlugin?(i.componentInstance.title=this.$translate.instant("plugins.manage.verified_title"),i.componentInstance.subtitle=this.$translate.instant("plugins.manage.verified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),i.componentInstance.message=this.$translate.instant("plugins.manage.verified_message"),i.componentInstance.faIconClass="fa-shield-alt green-text"):(i.componentInstance.title=this.$translate.instant("plugins.manage.unverified_title"),i.componentInstance.subtitle=this.$translate.instant("plugins.manage.unverified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),i.componentInstance.message=this.$translate.instant("plugins.manage.unverified_message"),i.componentInstance.faIconClass="fa-shield-alt grey-text"),i.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),i.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/verified-Plugins"}pluginInfoModal(i){let t=this.$modal.open(je,{size:"lg",backdrop:"static"});t.componentInstance.plugin=i}disablePlugin(i){let t=this.$modal.open(Ve,{size:"lg",backdrop:"static"});t.componentInstance.pluginName=i.name,t.componentInstance.isConfigured=i.isConfigured,t.componentInstance.isConfiguredDynamicPlatform=i.isConfiguredDynamicPlatform,t.result.then(()=>k(this,null,function*(){try{yield V(this.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/disable`,{})),i.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(G,{size:"lg",backdrop:"static"})}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(i){let t=this.$modal.open(ke,{size:"lg",backdrop:"static"});t.componentInstance.title=`${this.$translate.instant("plugins.manage.enable")}: ${i.name}`,t.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:i.name}),t.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),t.componentInstance.faIconClass="fa-circle-play primary-text",t.result.then(()=>k(this,null,function*(){try{yield V(this.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/enable`,{})),i.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(G,{size:"lg",backdrop:"static"})}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(i){let t=this.$modal.open(Se,{size:"xl",backdrop:"static"});t.componentInstance.plugin=i}doChildBridgeAction(i){return k(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let t of this.setChildBridges)yield V(this.io.request(`${i}-child-bridge`,t.username))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:i}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{this.childBridgeRestartInProgress=!1},i==="restart"?12e3:i==="stop"?6e3:1e3)}})}handleIconError(){this.plugin.icon=this.defaultIcon}prettifyName(){let i=this.plugin.displayName||(this.plugin.name.charAt(0)==="@"?this.plugin.name.split("/")[1]:this.plugin.name);return i=i.replace(/-/g," "),this.isMobile&&i.toLowerCase().startsWith("homebridge ")&&(i=i.replace(/^homebridge /i,"")),this.plugin.displayName||(i=i.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase())),i}openHb2InfoModal(){let i=this.$modal.open(L,{size:"lg",backdrop:"static"});i.componentInstance.title="Plugin Readiness",this.hb2Status==="supported"?(i.componentInstance.subtitle=`${this.plugin.displayName||this.plugin.name} is ready for Homebridge v2.0`,i.componentInstance.message="The developer has specifically marked your installed version of the plugin as compatible with Homebridge v2.0.",i.componentInstance.faIconClass="fa-check-circle green-text"):(i.componentInstance.subtitle=`${this.plugin.displayName||this.plugin.name} might not be ready for Homebridge v2.0`,i.componentInstance.message="The developer has not specifically marked your installed version of the plugin as compatible with Homebridge v2.0, but it may still work.",i.componentInstance.faIconClass="fa-question-circle orange-text"),i.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),i.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0"}};d(l,"\u0275fac",function(t){return new(t||l)(y(A),y(Pe),y(xe),y(q),y(U),y(R),y(H),y(F))}),d(l,"\u0275cmp",T({type:l,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:38,vars:21,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","mr-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"ngbTooltip","placement","click",4,"ngIf"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ml-auto"],["href","javascript:void(0)","class","card-link","container","body","openDelay","150","triggers","hover",3,"ngbTooltip","click",4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ml-3",3,"hidden"],["class","fas fa-fw fa-lg ml-3",3,"ngClass",4,"ngIf"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link","grey-text",3,"click"],[1,"fas","fa-fw","fa-info-circle","fa-lg","mr-1"],[1,"grey-text"],["class","card-text mb-2",4,"ngIf"],[1,"card-text","mb-2"],["href","javascript:void(0)","class","card-link pink-text",3,"click",4,"ngIf"],["class","grey-text",4,"ngIf"],[1,"card-text","mb-0","grey-text"],[4,"ngIf"],["href","javascript:void(0)","class","card-link red-text",3,"click",4,"ngIf"],["href","javascript:void(0)",3,"click",4,"ngIf"],["ngbDropdown","","placement","left","class","d-inline-block ml-3 mt-auto",4,"ngIf"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"click","ngbTooltip","placement"],["class","fas fa-check-circle green-text fa-xl","aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.0",4,"ngIf"],["class","fas fa-question-circle orange-text fa-xl","aria-label","The developer has not specifically marked this plugin as compatible with Homebridge v2.0, but it may still work.",4,"ngIf"],["aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.0",1,"fas","fa-check-circle","green-text","fa-xl"],["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"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"click","ngbTooltip"],[1,"far","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-lg","ml-3",3,"ngClass"],["href","javascript:void(0)",1,"card-link","green-text",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1",2,"opacity","0.25"],["href","javascript:void(0)",1,"card-link","pink-text",3,"click"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","mr-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","mr-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ml-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","openDelay","150","triggers","hover",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","fa-arrow-alt-circle-down","fa-lg"],["ngbDropdown","","placement","left",1,"d-inline-block","ml-3","mt-auto"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem","",3,"click",4,"ngIf"],["class","dropdown-divider",4,"ngIf"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href",4,"ngIf"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-code-compare"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"dropdown-divider"],[1,"fas","fa-fw","fa-bridge"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"fas","fa-fw","fa-broom"],[1,"icon-button","fas","fa-fw","fa-bridge"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(t,n){t&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),h("error",function(){return n.handleIconError()}),p(),I(4,Xe,3,4,"a",4),p(),o(5,"div",5)(6,"div",6)(7,"div",7)(8,"div",8)(9,"h5",9),_(10),p(),o(11,"div",10),I(12,Ye,4,6,"a",11)(13,Ze,4,6,"a",11)(14,ei,4,6,"a",11)(15,ii,4,6,"a",11)(16,ti,4,6,"a",11),c(17,"i",12),I(18,ni,1,4,"i",13),p()(),o(19,"p",14)(20,"a",15),h("click",function(){return n.pluginInfoModal(n.plugin)}),c(21,"i",16),o(22,"span",17),_(23),p()()(),I(24,ai,6,3,"p",18)(25,ri,6,3,"p",18),o(26,"p",19),I(27,li,4,1,"a",20)(28,oi,3,1,"span",21),p(),o(29,"div",8)(30,"p",22),I(31,pi,5,2,"span",23)(32,di,3,1,"span",23),p(),o(33,"div",10),I(34,ci,3,3,"a",11)(35,gi,3,3,"a",24)(36,ui,2,0,"a",25)(37,Ei,22,18,"span",26),p()()()()()()()),t&2&&(r(3),s("src",n.plugin.icon,$),r(),s("ngIf",n.plugin.installedVersion&&n.hb2Status!=="hide"),r(6),P(n.prettyDisplayName),r(2),s("ngIf",n.plugin.installedVersion&&n.plugin.updateAvailable&&!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(n.plugin.newHbScope==null?null:n.plugin.newHbScope.switch)===n.plugin.installedVersion&&!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(!n.plugin.newHbScope||n.plugin.newHbScope.switch!==n.plugin.installedVersion)&&!n.plugin.updateAvailable&&!n.plugin.isConfigured&&!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(!n.plugin.newHbScope||n.plugin.newHbScope.switch!==n.plugin.installedVersion)&&!n.plugin.updateAvailable&&n.plugin.isConfigured&&!n.plugin.hasChildBridges&&!n.plugin.disabled&&n.plugin.recommendChildBridge&&!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(!n.plugin.newHbScope||n.plugin.newHbScope.switch!==n.plugin.installedVersion)&&!n.plugin.updateAvailable&&n.plugin.isConfigured&&n.plugin.hasChildBridges&&!n.childBridgeRestartInProgress&&n.hasUnpairedChildBridges&&n.childBridgeStatus==="ok"&&!n.plugin.disabled),r(),s("hidden",!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(!n.plugin.newHbScope||n.plugin.newHbScope.switch!==n.plugin.installedVersion)&&!n.plugin.updateAvailable&&n.plugin.isConfigured&&n.plugin.hasChildBridges&&!n.childBridgeRestartInProgress&&!n.hasUnpairedChildBridges&&n.childBridgeStatus!=="ok"&&!n.plugin.disabled),r(5),P(n.plugin.name),r(),s("ngIf",n.plugin.verifiedPlugin||n.plugin.verifiedPlusPlugin),r(),s("ngIf",!n.plugin.verifiedPlugin&&!n.plugin.verifiedPlusPlugin),r(2),s("ngIf",(n.plugin.verifiedPlugin||n.plugin.verifiedPlusPlugin)&&n.plugin.funding),r(),s("ngIf",!((n.plugin.verifiedPlugin||n.plugin.verifiedPlusPlugin)&&n.plugin.funding)),r(3),s("ngIf",n.plugin.publicPackage&&!n.plugin.installedVersion),r(),s("ngIf",n.plugin.installedVersion),r(2),s("ngIf",!n.plugin.disabled&&n.plugin.hasChildBridges&&n.childBridgeStatus==="ok"),r(),s("ngIf",n.plugin.installedVersion&&n.plugin.disabled),r(),s("ngIf",n.plugin.publicPackage&&!n.plugin.installedVersion),r(),s("ngIf",n.plugin.installedVersion))},dependencies:[X,E,Ce,be,he,fe,_e,we,Z,M],encapsulation:2}));let e=l;return e})();function ji(e,l){e&1&&c(0,"app-spinner")}function Di(e,l){e&1&&c(0,"i",13)}function Ni(e,l){if(e&1&&(o(0,"div",14),c(1,"app-plugin-card",15),p()),e&2){let a=l.$implicit,i=g();r(),s("plugin",a)("childBridges",i.getPluginChildBridges(a))}}function Hi(e,l){e&1&&(o(0,"div",16),c(1,"i",17),o(2,"p"),_(3),u(4,"translate"),p()()),e&2&&(r(3),P(m(4,1,"plugins.placeholder_search_first")))}var Ne=(()=>{let l=class l{constructor(i,t,n,f,S,w,j){d(this,"$api");d(this,"$plugin");d(this,"$router");d(this,"$settings");d(this,"$toastr");d(this,"$translate");d(this,"$ws");d(this,"loading",!0);d(this,"installedPlugins",[]);d(this,"childBridges",[]);d(this,"form",new se({query:new pe("",[re.required])}));d(this,"io");d(this,"navigationSubscription");this.$api=i,this.$plugin=t,this.$router=n,this.$settings=f,this.$toastr=S,this.$translate=w,this.$ws=j}ngOnInit(){return k(this,null,function*(){this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>k(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins();let i=this.$router.parseUrl(this.$router.url).queryParams.installed;if(i){let t=this.installedPlugins.find(n=>n.name===i);t&&!t.isConfigured&&this.$plugin.settings(t),this.$router.navigate(["/plugins"])}})),this.io.socket.on("child-bridge-status-update",i=>{let t=this.childBridges.find(n=>n.username===i.username);t?Object.assign(t,i):this.childBridges.push(i)}),this.navigationSubscription=this.$router.events.subscribe(i=>{i instanceof ie&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return k(this,null,function*(){this.form.setValue({query:""}),this.installedPlugins=[],this.loading=!0;try{let i=yield V(this.$api.get("/plugins"));this.installedPlugins=i.filter(n=>n.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let t=this.installedPlugins.sort((n,f)=>n.updateAvailable!==f.updateAvailable?n.updateAvailable?-1:1:n.newHbScope&&!f.newHbScope?-1:n.disabled!==f.disabled?n.disabled?1:-1:n.isConfigured!==f.isConfigured?n.isConfigured?1:-1:n.hasChildBridgesUnpaired!==f.hasChildBridgesUnpaired?n.hasChildBridgesUnpaired?-1:1:n.hasChildBridges!==f.hasChildBridges&&this.$settings.env.recommendChildBridges?n.hasChildBridges?1:-1:n.name.localeCompare(f.name));return this.loading=!1,t}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}appendMetaInfo(){return k(this,null,function*(){yield Promise.all(this.installedPlugins.filter(i=>i.installedVersion).map(i=>k(this,null,function*(){try{let t=yield V(this.$api.get(`/config-editor/plugin/${encodeURIComponent(i.name)}`));i.isConfigured=t.length>0,i.isConfiguredDynamicPlatform=i.isConfigured&&Object.prototype.hasOwnProperty.call(t[0],"platform"),i.recommendChildBridge=i.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(i.name),i.hasChildBridges=i.isConfigured&&t.some(f=>f._bridge&&f._bridge.username);let n=this.getPluginChildBridges(i);i.hasChildBridgesUnpaired=n.some(f=>!f.paired)}catch{i.isConfigured=!0,i.hasChildBridges=!0}})))})}search(){this.installedPlugins=[],this.loading=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:i=>{let t=new Set;this.installedPlugins=i.sort((n,f)=>n.newHbScope&&!f.newHbScope?-1:!n.newHbScope&&f.newHbScope?1:0).reduce((n,f)=>{if(f.name==="homebridge-config-ui-x"||t.has(f.name))return n;if(f.newHbScope){let S=f.newHbScope.to,w=i.some(j=>j.name===S);(f.installedVersion||!w)&&(t.add(S),n.push(f))}else n.push(f);return n},[]).sort((n,f)=>n.installedVersion!==f.installedVersion?n.installedVersion?-1:1:0),this.appendMetaInfo(),this.loading=!1},error:i=>{this.loading=!1,console.error(i),this.$toastr.error(i.error.message||i.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.form.setValue({query:""}),this.loadInstalledPlugins()}onSubmit({value:i}){i.query.length?this.search():this.loadInstalledPlugins()}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(i=>{this.childBridges=i})}getPluginChildBridges(i){return this.childBridges.filter(t=>t.plugin===i.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}};d(l,"\u0275fac",function(t){return new(t||l)(y(A),y(q),y(te),y(U),y(R),y(H),y(F))}),d(l,"\u0275cmp",T({type:l,selectors:[["ng-component"]],decls:16,vars:11,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"row"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],["class","far fa-fw fa-times-circle",4,"ngIf"],[1,"d-flex","flex-wrap","justify-content-between"],["class","hb-plugin-space-between",4,"ngFor","ngForOf"],["class","alert alert-info mt-4 text-center w-100",4,"ngIf"],[1,"far","fa-fw","fa-times-circle"],[1,"hb-plugin-space-between"],[3,"plugin","childBridges"],[1,"alert","alert-info","mt-4","text-center","w-100"],[1,"fas","fa-fw","fa-magnifying-glass","primary-text","my-3",2,"font-size","75px"]],template:function(t,n){t&1&&(I(0,ji,1,0,"app-spinner",0),o(1,"div",1)(2,"div",2)(3,"h3",3),_(4),u(5,"translate"),p()()(),o(6,"div",4)(7,"div",5)(8,"form",6),h("ngSubmit",function(){return n.onSubmit(n.form)}),c(9,"input",7),u(10,"translate"),o(11,"a",8),h("click",function(){return n.onClearSearch()}),I(12,Di,1,0,"i",9),p()()()(),o(13,"div",10),I(14,Ni,2,2,"div",11)(15,Hi,5,3,"div",12),p()),t&2&&(s("ngIf",n.loading),r(4),P(m(5,7,"menu.label_plugins")),r(4),s("formGroup",n.form),r(),s("placeholder",m(10,9,"plugins.placeholder_search_plugin")),r(3),s("ngIf",n.form.controls.query.value),r(2),s("ngForOf",n.installedPlugins),r(),s("ngIf",n.installedPlugins.length===0&&!n.loading))},dependencies:[Y,E,de,ae,le,oe,ce,ge,ye,De,M],styles:[".hb-npm-search[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width: 991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}"]}));let e=l;return e})();var Ai=[{path:"",component:Ne}],He=(()=>{let l=class l{};d(l,"\u0275fac",function(t){return new(t||l)}),d(l,"\u0275mod",N({type:l})),d(l,"\u0275inj",D({imports:[O.forChild(Ai),O]}));let e=l;return e})();var wt=(()=>{let l=class l{};d(l,"\u0275fac",function(t){return new(t||l)}),d(l,"\u0275mod",N({type:l})),d(l,"\u0275inj",D({imports:[ee,ue,me,ne.forChild(),Ie,Be,$e,He]}));let e=l;return e})();export{wt as PluginsModule};
1
+ import{a as Ve,b as Te,c as $e}from"./chunk-36QI2JZZ.js";import{a as ye,d as L,f as Be}from"./chunk-AA4ALV5Q.js";import{a as Se,d as q}from"./chunk-LL4U2S7T.js";import"./chunk-4R6MSI5I.js";import"./chunk-SJTXTMYT.js";import"./chunk-6QEO3BTW.js";import{a as Pe}from"./chunk-B6C32ZRK.js";import"./chunk-EEAGROCO.js";import"./chunk-GNQUXZMN.js";import"./chunk-THFLPY67.js";import{a as F}from"./chunk-NJRXPLIM.js";import"./chunk-CMASH2I6.js";import{a as G}from"./chunk-W5QNZH4U.js";import{a as ke}from"./chunk-JM7QCDMZ.js";import"./chunk-V7NUKNPP.js";import{H as fe,I as _e,J as he,K as be,L as Ce,M as ve,N as xe,O as we,Q as Ie,c as ae,d as re,e as le,f as oe,g as se,j as pe,m as de,p as ce,q as ge,y as ue,z as me}from"./chunk-WCDFKYP6.js";import{c as A,k as R,m as U}from"./chunk-54RIF7BL.js";import{a as H,b as M,c as ne}from"./chunk-F22FMU37.js";import{$ as T,$b as ee,Ab as Q,Ga as I,Ka as B,La as s,Pb as X,Qb as Y,Rb as E,Ua as o,Va as p,Wa as c,X as D,Xa as W,Ya as J,Za as v,Zb as Z,aa as N,ab as h,bb as g,h as d,ha as b,i as k,ia as C,jb as _,kb as P,lb as x,pc as ie,sc as te,t as V,ua as $,vb as K,vc as O,wa as r,xa as y,yb as u,zb as m}from"./chunk-IGUSDGD6.js";function Ue(e,l){if(e&1){let a=v();o(0,"button",15),h("click",function(){b(a);let t=g();return C(t.$activeModal.dismiss("Dismiss"))}),_(1),u(2,"translate"),p()}e&2&&(r(),x(" ",m(2,1,"form.button_close")," "))}function Fe(e,l){if(e&1){let a=v();o(0,"button",15),h("click",function(){b(a);let t=g();return C(t.$activeModal.dismiss("Dismiss"))}),_(1),u(2,"translate"),p()}e&2&&(r(),x(" ",m(2,1,"form.button_close")," "))}function qe(e,l){if(e&1&&(o(0,"a",16),_(1),u(2,"translate"),c(3,"i",17),p()),e&2){let a=g();s("href",a.plugin.links.homepage||a.plugin.links.npm,$),r(),x(" ",m(2,2,"plugins.button_homepage")," ")}}var je=(()=>{let l=class l{constructor(i){d(this,"$activeModal");d(this,"plugin");d(this,"defaultIcon","assets/hb-icon.png");this.$activeModal=i}ngOnInit(){this.plugin.icon||(this.plugin.icon=this.defaultIcon)}handleIconError(){this.plugin.icon=this.defaultIcon}};d(l,"\u0275fac",function(t){return new(t||l)(y(ve))}),d(l,"\u0275cmp",T({type:l,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:26,vars:14,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","w-100","text-center"],["alt","Plugin Icon",1,"mb-3","plugin-icon",3,"error","src"],[1,"my-3"],[1,"m-0","grey-text"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","class","btn btn-elegant","data-dismiss","modal",3,"click",4,"ngIf"],[1,"text-center"],[1,"text-right"],["class","btn btn-primary text-decoration-none","target","_blank","rel","noopener noreferrer",3,"href",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["target","_blank","rel","noopener noreferrer",1,"btn","btn-primary","text-decoration-none",3,"href"],[1,"fas","fa-fw","fa-external-link-alt"]],template:function(t,n){t&1&&(o(0,"div",0)(1,"div",1)(2,"h5",2),_(3),u(4,"translate"),p(),o(5,"button",3),u(6,"translate"),h("click",function(){return n.$activeModal.dismiss("Dismiss")}),o(7,"span",4),_(8,"\xD7"),p()()(),o(9,"div",5)(10,"img",6),h("error",function(){return n.handleIconError()}),p(),o(11,"h4"),_(12),p(),o(13,"p",7),_(14),p(),o(15,"p",8),_(16),p(),o(17,"p",8),_(18),p()(),o(19,"div",9)(20,"div",10),I(21,Ue,3,3,"button",11),p(),o(22,"div",12),I(23,Fe,3,3,"button",11),p(),o(24,"div",13),I(25,qe,4,4,"a",14),p()()()),t&2&&(r(3),P(m(4,10,"plugins.manage.information")),r(2),B("aria-label",m(6,12,"form.button_close")),r(5),s("src",n.plugin.icon,$),r(2),P(n.plugin.displayName||n.plugin.name),r(2),P(n.plugin.description),r(2),P(n.plugin.name),r(2),x("@",n.plugin.author,""),r(3),s("ngIf",n.plugin.links.homepage||n.plugin.links.npm),r(2),s("ngIf",!n.plugin.links.homepage&&!n.plugin.links.npm),r(2),s("ngIf",n.plugin.links.homepage||n.plugin.links.npm))},dependencies:[E,M],styles:[".plugin-icon[_ngcontent-%COMP%]{height:75px;width:75px;border-radius:15px;border:1px solid #222222}"]}));let e=l;return e})();var Je=(e,l)=>({"fa-bridge-circle-exclamation orange-text":e,"fa-bridge-circle-xmark red-text":l});function Ke(e,l){e&1&&c(0,"i",30)}function Qe(e,l){e&1&&c(0,"i",31)}function Xe(e,l){if(e&1){let a=v();o(0,"a",27),h("click",function(){b(a);let t=g();return C(t.openHb2InfoModal())}),I(1,Ke,1,0,"i",28)(2,Qe,1,0,"i",29),p()}if(e&2){let a=g();s("ngbTooltip","Homebridge v2.0 Readiness")("placement","right"),r(),s("ngIf",a.hb2Status==="supported"),r(),s("ngIf",a.hb2Status==="unknown")}}function Ye(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.checkAndUpdatePlugin(t.plugin,t.plugin.updateTag||"latest"))}),c(3,"i",33),p()}e&2&&(s("ngbTooltip",m(1,2,"plugins.button_update")),B("aria-label",m(2,4,"plugins.button_update")))}function Ze(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.switchToScoped(t.plugin))}),c(3,"i",34),p()}e&2&&(s("ngbTooltip",m(1,2,"plugins.manage.scoped.switch")),B("aria-label",m(2,4,"plugins.manage.scoped.switch")))}function ei(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.settings(t.plugin))}),c(3,"i",35),p()}e&2&&(s("ngbTooltip",m(1,2,"plugins.button_set_up")),B("aria-label",m(2,4,"plugins.button_set_up")))}function ii(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.bridgeSettings(t.plugin))}),c(3,"i",36),p()}e&2&&(s("ngbTooltip",m(1,2,"child_bridge.setup")),B("aria-label",m(2,4,"child_bridge.setup")))}function ti(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),u(2,"translate"),h("click",function(){b(a);let t=g();return C(t.$plugin.bridgeSettings(t.plugin))}),c(3,"i",37),p()}e&2&&(s("ngbTooltip",m(1,2,"child_bridge.bridge_connect")),B("aria-label",m(2,4,"child_bridge.bridge_connect")))}function ni(e,l){if(e&1&&c(0,"i",38),e&2){let a=g();s("ngClass",K(1,Je,a.childBridgeStatus==="pending",a.childBridgeStatus==="down"))}}function ai(e,l){if(e&1){let a=v();o(0,"p",19)(1,"a",39),h("click",function(){b(a);let t=g();return C(t.openVerifiedModal())}),c(2,"i",40),o(3,"span",17),_(4),u(5,"translate"),p()()()}e&2&&(r(4),P(m(5,1,"plugins.donate.button_verified")))}function ri(e,l){if(e&1){let a=v();o(0,"p",19)(1,"a",41),h("click",function(){b(a);let t=g();return C(t.openVerifiedModal())}),c(2,"i",42),o(3,"span",17),_(4),u(5,"translate"),p()()()}e&2&&(r(4),P(m(5,1,"plugins.donate.button_not_verified")))}function li(e,l){if(e&1){let a=v();o(0,"a",43),h("click",function(){b(a);let t=g();return C(t.openFundingModal(t.plugin))}),c(1,"i",44),o(2,"span",17),_(3),p()()}if(e&2){let a=g();r(3),x("@",a.plugin.author,"")}}function oi(e,l){if(e&1&&(o(0,"span",17),c(1,"i",45),_(2),p()),e&2){let a=g();r(2),x("@",a.plugin.author," ")}}function si(e,l){if(e&1&&(o(0,"span"),_(1),u(2,"date"),p()),e&2){let a=g(2);r(),x("(",Q(2,1,a.plugin.lastUpdated,"yyyy-MM-dd"),")")}}function pi(e,l){if(e&1&&(o(0,"span"),c(1,"i",46),o(2,"span",17),_(3),I(4,si,3,4,"span",23),p()()),e&2){let a=g();r(3),x("v",a.plugin.latestVersion," "),r(),s("ngIf",a.plugin.lastUpdated)}}function di(e,l){if(e&1&&(o(0,"span"),c(1,"i",47),_(2),p()),e&2){let a=g();r(2),x("v",a.plugin.installedVersion," ")}}function ci(e,l){if(e&1){let a=v();o(0,"a",32),u(1,"translate"),h("click",function(){b(a);let t=g();return C(t.doChildBridgeAction("restart"))}),c(2,"i",48),p()}if(e&2){let a=g();s("ngbTooltip",m(1,1,a.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart"))}}function gi(e,l){if(e&1){let a=v();o(0,"a",49),h("click",function(){b(a);let t=g();return C(t.enablePlugin(t.plugin))}),c(1,"i",50),u(2,"translate"),p()}e&2&&(r(),s("ngbTooltip",m(2,1,"plugins.status_disabled")))}function ui(e,l){if(e&1){let a=v();o(0,"a",51),h("click",function(){b(a);let t=g();return C(t.$plugin.installAlternateVersion(t.plugin))}),c(1,"i",52),p()}}function mi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.viewPluginLog(t.plugin))}),c(1,"i",62),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.plugin_logs")," "))}function fi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.installAlternateVersion(t.plugin))}),c(1,"i",63),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.manage_version")," "))}function _i(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.jsonEditor(t.plugin))}),c(1,"i",64),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.json_config")," "))}function hi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.disablePlugin(t.plugin))}),c(1,"i",65),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.disable")," "))}function bi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.enablePlugin(t.plugin))}),c(1,"i",66),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.manage.enable")," "))}function Ci(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.uninstallPlugin(t.plugin,t.setChildBridges))}),c(1,"i",67),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"plugins.button_uninstall")," "))}function vi(e,l){e&1&&c(0,"div",68)}function xi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(3);return C(t.doChildBridgeAction("restart"))}),c(1,"i",70),_(2),u(3,"translate"),p()}if(e&2){let a=g(3);r(2),x(" ",m(3,1,a.setChildBridges.length>1?"child_bridge.restart_plural":"child_bridge.restart")," ")}}function wi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(3);return C(t.doChildBridgeAction("stop"))}),c(1,"i",71),_(2),u(3,"translate"),p()}if(e&2){let a=g(3);r(2),x(" ",m(3,1,a.setChildBridges.length>1?"child_bridge.stop_plural":"child_bridge.stop")," ")}}function Ii(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(3);return C(t.doChildBridgeAction("start"))}),c(1,"i",72),_(2),u(3,"translate"),p()}if(e&2){let a=g(3);r(2),x(" ",m(3,1,a.setChildBridges.length>1?"child_bridge.start_plural":"child_bridge.start")," ")}}function yi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(3);return C(t.$plugin.resetChildBridges(t.setChildBridges))}),c(1,"i",73),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"child_bridge.reset_accessories")," "))}function Pi(e,l){if(e&1){let a=v();W(0),o(1,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.bridgeSettings(t.plugin))}),c(2,"i",69),_(3),u(4,"translate"),p(),I(5,xi,4,3,"button",59)(6,wi,4,3,"button",59)(7,Ii,4,3,"button",59)(8,yi,4,3,"button",59),J()}if(e&2){let a=g(2);r(3),x(" ",m(4,5,"child_bridge.bridge_settings")," "),r(2),s("ngIf",!a.childBridgeRestartInProgress),r(),s("ngIf",!a.allChildBridgesStopped),r(),s("ngIf",a.allChildBridgesStopped),r(),s("ngIf",a.$settings.env.serviceMode)}}function ki(e,l){e&1&&c(0,"div",68)}function Si(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.bridgeSettings(t.plugin))}),c(1,"i",74),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"child_bridge.setup")," "))}function Bi(e,l){e&1&&c(0,"div",68)}function Vi(e,l){if(e&1){let a=v();o(0,"button",57),h("click",function(){b(a);let t=g(2);return C(t.$plugin.bridgeSettings(t.plugin))}),c(1,"i",74),_(2),u(3,"translate"),p()}e&2&&(r(2),x(" ",m(3,1,"child_bridge.setup")," "))}function Ti(e,l){e&1&&c(0,"div",68)}function $i(e,l){if(e&1&&(o(0,"a",75),c(1,"i",76),_(2),u(3,"translate"),p()),e&2){let a=g(2);s("href",a.plugin.links.bugs,$),r(2),x(" ",m(3,2,"support.links.issue")," ")}}function Ei(e,l){if(e&1){let a=v();o(0,"span",53)(1,"a",54),c(2,"i",55),p(),o(3,"div",56)(4,"button",57),h("click",function(){b(a);let t=g();return C(t.$plugin.settings(t.plugin))}),c(5,"i",58),_(6),u(7,"translate"),p(),I(8,mi,4,3,"button",59)(9,fi,4,3,"button",59)(10,_i,4,3,"button",59)(11,hi,4,3,"button",59)(12,bi,4,3,"button",59)(13,Ci,4,3,"button",59)(14,vi,1,0,"div",60)(15,Pi,9,7,"ng-container",23)(16,ki,1,0,"div",60)(17,Si,4,3,"button",59)(18,Bi,1,0,"div",60)(19,Vi,4,3,"button",59)(20,Ti,1,0,"div",60)(21,$i,4,4,"a",61),p()()}if(e&2){let a=g();r(),B("aria-label","Plugin Actions Dropdown"),r(5),x(" ",m(7,16,"plugins.button_settings")," "),r(2),s("ngIf",a.plugin.isConfigured&&!a.plugin.disabled),r(),s("ngIf",a.plugin.publicPackage),r(),s("ngIf",!a.isMobile&&a.plugin.name!=="homebridge-config-ui-x"),r(),s("ngIf",a.plugin.name!=="homebridge-config-ui-x"&&!a.plugin.disabled),r(),s("ngIf",a.plugin.name!=="homebridge-config-ui-x"&&a.plugin.disabled),r(),s("ngIf",a.plugin.name!=="homebridge-config-ui-x"),r(),s("ngIf",!a.plugin.disabled&&a.plugin.isConfigured&&a.plugin.hasChildBridges&&a.plugin.installedVersion&&a.plugin.name!=="homebridge-config-ui-x"),r(),s("ngIf",a.plugin.hasChildBridges&&!a.plugin.disabled),r(),s("ngIf",a.plugin.isConfigured&&!a.plugin.hasChildBridges&&!a.plugin.disabled&&!a.plugin.recommendChildBridge),r(),s("ngIf",a.plugin.isConfigured&&!a.plugin.hasChildBridges&&!a.plugin.disabled&&!a.plugin.recommendChildBridge),r(),s("ngIf",a.plugin.isConfigured&&!a.plugin.hasChildBridges&&!a.plugin.disabled&&a.plugin.recommendChildBridge&&a.plugin.updateAvailable),r(),s("ngIf",a.plugin.isConfigured&&!a.plugin.hasChildBridges&&!a.plugin.disabled&&a.plugin.recommendChildBridge&&a.plugin.updateAvailable),r(),s("ngIf",a.plugin.links==null?null:a.plugin.links.bugs),r(),s("ngIf",a.plugin.links==null?null:a.plugin.links.bugs)}}var De=(()=>{let l=class l{constructor(i,t,n,f,S,w,j,Ae){d(this,"$api");d(this,"$md");d(this,"$modal");d(this,"$plugin");d(this,"$settings");d(this,"$toastr");d(this,"$translate");d(this,"$ws");d(this,"plugin");d(this,"hasChildBridges",!1);d(this,"hasUnpairedChildBridges",!1);d(this,"allChildBridgesStopped",!1);d(this,"childBridgeStatus","pending");d(this,"childBridgeRestartInProgress",!1);d(this,"defaultIcon","assets/hb-icon.png");d(this,"isMobile");d(this,"setChildBridges",[]);d(this,"prettyDisplayName","");d(this,"hb2Status","unknown");d(this,"io");this.$api=i,this.$md=t,this.$modal=n,this.$plugin=f,this.$settings=S,this.$toastr=w,this.$translate=j,this.$ws=Ae}set childBridges(i){var f,S;this.hasChildBridges=i.length>0,this.hasUnpairedChildBridges=i.filter(w=>w.paired===!1).length>0,this.allChildBridgesStopped=i.filter(w=>w.manuallyStopped===!0).length===i.length,this.hasChildBridges&&(i.some(w=>w.status==="down")?this.childBridgeStatus="down":i.some(w=>w.status==="pending")?this.childBridgeStatus="pending":i.some(w=>w.status==="ok")&&(this.childBridgeStatus="ok")),this.setChildBridges=i;let t=this.$settings.env.homebridgeVersion.split(".")[0],n=((S=(f=this.plugin.engines)==null?void 0:f.homebridge)==null?void 0:S.split("||").map(w=>w.trim()))||[];this.hb2Status=t==="2"?"hide":n.some(w=>w.startsWith("^2")||w.startsWith(">=2"))?"supported":this.hb2Status}ngOnInit(){this.isMobile=this.$md.detect.mobile(),this.prettyDisplayName=this.prettifyName(),this.io=this.$ws.getExistingNamespace("child-bridges"),this.plugin.icon||(this.plugin.icon=this.defaultIcon)}openFundingModal(i){let t=this.$modal.open(Te,{size:"lg",backdrop:"static"});t.componentInstance.plugin=i}openVerifiedModal(){let i=this.$modal.open(L,{size:"lg",backdrop:"static"});this.plugin.verifiedPlugin||this.plugin.verifiedPlusPlugin?(i.componentInstance.title=this.$translate.instant("plugins.manage.verified_title"),i.componentInstance.subtitle=this.$translate.instant("plugins.manage.verified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),i.componentInstance.message=this.$translate.instant("plugins.manage.verified_message"),i.componentInstance.faIconClass="fa-shield-alt green-text"):(i.componentInstance.title=this.$translate.instant("plugins.manage.unverified_title"),i.componentInstance.subtitle=this.$translate.instant("plugins.manage.unverified_subtitle",{pluginName:this.plugin.displayName||this.plugin.name}),i.componentInstance.message=this.$translate.instant("plugins.manage.unverified_message"),i.componentInstance.faIconClass="fa-shield-alt grey-text"),i.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),i.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/verified-Plugins"}pluginInfoModal(i){let t=this.$modal.open(je,{size:"lg",backdrop:"static"});t.componentInstance.plugin=i}disablePlugin(i){let t=this.$modal.open(Ve,{size:"lg",backdrop:"static"});t.componentInstance.pluginName=i.name,t.componentInstance.isConfigured=i.isConfigured,t.componentInstance.isConfiguredDynamicPlatform=i.isConfiguredDynamicPlatform,t.result.then(()=>k(this,null,function*(){try{yield V(this.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/disable`,{})),i.disabled=!0,this.hasChildBridges&&this.doChildBridgeAction("stop"),this.$modal.open(G,{size:"lg",backdrop:"static"})}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("plugins.disable.error"),this.$translate.instant("toast.title_error"))}}))}enablePlugin(i){let t=this.$modal.open(ke,{size:"lg",backdrop:"static"});t.componentInstance.title=`${this.$translate.instant("plugins.manage.enable")}: ${i.name}`,t.componentInstance.message=this.$translate.instant("plugins.manage.confirm_enable",{pluginName:i.name}),t.componentInstance.confirmButtonLabel=this.$translate.instant("plugins.manage.enable"),t.componentInstance.faIconClass="fa-circle-play primary-text",t.result.then(()=>k(this,null,function*(){try{yield V(this.$api.put(`/config-editor/plugin/${encodeURIComponent(i.name)}/enable`,{})),i.disabled=!1,this.hasChildBridges&&(yield this.doChildBridgeAction("start")),this.$modal.open(G,{size:"lg",backdrop:"static"})}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("plugins.enable.error"),this.$translate.instant("toast.title_error"))}}))}viewPluginLog(i){let t=this.$modal.open(Se,{size:"xl",backdrop:"static"});t.componentInstance.plugin=i}doChildBridgeAction(i){return k(this,null,function*(){this.childBridgeRestartInProgress=!0;try{for(let t of this.setChildBridges)yield V(this.io.request(`${i}-child-bridge`,t.username))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.bridge.action_error",{action:i}),this.$translate.instant("toast.title_error")),this.childBridgeRestartInProgress=!1}finally{setTimeout(()=>{this.childBridgeRestartInProgress=!1},i==="restart"?12e3:i==="stop"?6e3:1e3)}})}handleIconError(){this.plugin.icon=this.defaultIcon}prettifyName(){let i=this.plugin.displayName||(this.plugin.name.charAt(0)==="@"?this.plugin.name.split("/")[1]:this.plugin.name);return i=i.replace(/-/g," "),this.isMobile&&i.toLowerCase().startsWith("homebridge ")&&(i=i.replace(/^homebridge /i,"")),this.plugin.displayName||(i=i.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase())),i}openHb2InfoModal(){let i=this.$modal.open(L,{size:"lg",backdrop:"static"});i.componentInstance.title="Plugin Readiness",this.hb2Status==="supported"?(i.componentInstance.subtitle=`${this.plugin.displayName||this.plugin.name} is ready for Homebridge v2.0`,i.componentInstance.message="The developer has specifically marked your installed version of the plugin as compatible with Homebridge v2.0.",i.componentInstance.faIconClass="fa-check-circle green-text"):(i.componentInstance.subtitle=`${this.plugin.displayName||this.plugin.name} might not be ready for Homebridge v2.0`,i.componentInstance.message="The developer has not specifically marked your installed version of the plugin as compatible with Homebridge v2.0, but it may still work.",i.componentInstance.faIconClass="fa-question-circle orange-text"),i.componentInstance.ctaButtonLabel=this.$translate.instant("form.button_more_info"),i.componentInstance.ctaButtonLink="https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0"}};d(l,"\u0275fac",function(t){return new(t||l)(y(A),y(Pe),y(xe),y(q),y(U),y(R),y(H),y(F))}),d(l,"\u0275cmp",T({type:l,selectors:[["app-plugin-card"]],inputs:{plugin:"plugin",childBridges:"childBridges"},decls:38,vars:21,consts:[[1,"card","card-body","mb-3"],[1,"d-flex","flex-row","justify-content-between"],[1,"d-flex","flex-column","mr-3","align-items-center","justify-content-between"],["alt","Plugin Icon",1,"plugin-icon-card","mb-3",3,"error","src"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"ngbTooltip","placement","click",4,"ngIf"],[1,"d-flex","flex-column","justify-content-between",2,"min-width","calc(100% - 80px)"],[1,"d-flex","flex-row","align-items-end"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"card-title","mb-2","text-truncate"],[1,"ml-auto"],["href","javascript:void(0)","class","card-link","container","body","openDelay","150","triggers","hover",3,"ngbTooltip","click",4,"ngIf"],[1,"fas","fa-fw","fa-spinner","fa-pulse","fa-lg","grey-text","ml-3",3,"hidden"],["class","fas fa-fw fa-lg ml-3",3,"ngClass",4,"ngIf"],[1,"card-text","mb-2","text-truncate"],["href","javascript:void(0)",1,"card-link","grey-text",3,"click"],[1,"fas","fa-fw","fa-info-circle","fa-lg","mr-1"],[1,"grey-text"],["class","card-text mb-2",4,"ngIf"],[1,"card-text","mb-2"],["href","javascript:void(0)","class","card-link pink-text",3,"click",4,"ngIf"],["class","grey-text",4,"ngIf"],[1,"card-text","mb-0","grey-text"],[4,"ngIf"],["href","javascript:void(0)","class","card-link red-text",3,"click",4,"ngIf"],["href","javascript:void(0)",3,"click",4,"ngIf"],["ngbDropdown","","placement","left","class","d-inline-block ml-3 mt-auto",4,"ngIf"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover","aria-label","Homebridge v2.0 Readiness",3,"click","ngbTooltip","placement"],["class","fas fa-check-circle green-text fa-xl","aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.0",4,"ngIf"],["class","fas fa-question-circle orange-text fa-xl","aria-label","The developer has not specifically marked this plugin as compatible with Homebridge v2.0, but it may still work.",4,"ngIf"],["aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.0",1,"fas","fa-check-circle","green-text","fa-xl"],["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"],["href","javascript:void(0)","container","body","openDelay","150","triggers","hover",1,"card-link",3,"click","ngbTooltip"],[1,"far","fa-fw","fa-arrow-alt-circle-up","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-sliders","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-bridge","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"icon-button","fas","fa-fw","fa-qrcode","primary-text","fa-lg","fa-fade","ml-3",2,"--fa-animation-duration","2s"],[1,"fas","fa-fw","fa-lg","ml-3",3,"ngClass"],["href","javascript:void(0)",1,"card-link","green-text",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1"],["href","javascript:void(0)",1,"card-link",3,"click"],[1,"fas","fa-fw","fa-shield-alt","fa-lg","mr-1",2,"opacity","0.25"],["href","javascript:void(0)",1,"card-link","pink-text",3,"click"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1"],[1,"fas","fa-fw","fa-heart","fa-lg","mr-1",2,"opacity","0.5"],[1,"far","fa-fw","fa-circle-dot","fa-lg","mr-1"],[1,"far","fa-fw","fa-circle-check","fa-lg","mr-1"],[1,"fas","fa-fw","fa-lg","fa-power-off","ml-3"],["href","javascript:void(0)",1,"card-link","red-text",3,"click"],["container","body","openDelay","150","triggers","hover",1,"far","fa-fw","fa-pause-circle","fa-lg",3,"ngbTooltip"],["href","javascript:void(0)",3,"click"],[1,"far","fa-fw","fa-arrow-alt-circle-down","fa-lg"],["ngbDropdown","","placement","left",1,"d-inline-block","ml-3","mt-auto"],["href","javascript:void(0)","ngbDropdownToggle","",1,"card-link","text-decoration-none","mt-auto",2,"outline","none"],[1,"fa-solid","fa-fw","fa-ellipsis-v","fa-lg"],["ngbDropdownMenu","","aria-labelledby","Plugin Actions Dropdown"],["ngbDropdownItem","",3,"click"],[1,"fas","fa-fw","fa-sliders"],["ngbDropdownItem","",3,"click",4,"ngIf"],["class","dropdown-divider",4,"ngIf"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href",4,"ngIf"],[1,"fas","fa-fw","fa-wave-square"],[1,"fas","fa-fw","fa-code-compare"],[1,"fas","fa-fw","fa-code"],[1,"far","fa-fw","fa-circle-pause"],[1,"far","fa-fw","fa-circle-play"],[1,"fas","fa-fw","fa-trash"],[1,"dropdown-divider"],[1,"fas","fa-fw","fa-bridge"],[1,"fa-fw","icon-button","fas","fa-fw","fa-power-off"],[1,"fas","fa-fw","fa-stop"],[1,"fas","fa-fw","fa-play"],[1,"fas","fa-fw","fa-broom"],[1,"icon-button","fas","fa-fw","fa-bridge"],["ngbDropdownItem","","rel","noopener noreferrer","target","_blank",3,"href"],[1,"icon-button","fa","fa-fw","fa-question-circle-o"]],template:function(t,n){t&1&&(o(0,"div",0)(1,"div",1)(2,"div",2)(3,"img",3),h("error",function(){return n.handleIconError()}),p(),I(4,Xe,3,4,"a",4),p(),o(5,"div",5)(6,"div",6)(7,"div",7)(8,"div",8)(9,"h5",9),_(10),p(),o(11,"div",10),I(12,Ye,4,6,"a",11)(13,Ze,4,6,"a",11)(14,ei,4,6,"a",11)(15,ii,4,6,"a",11)(16,ti,4,6,"a",11),c(17,"i",12),I(18,ni,1,4,"i",13),p()(),o(19,"p",14)(20,"a",15),h("click",function(){return n.pluginInfoModal(n.plugin)}),c(21,"i",16),o(22,"span",17),_(23),p()()(),I(24,ai,6,3,"p",18)(25,ri,6,3,"p",18),o(26,"p",19),I(27,li,4,1,"a",20)(28,oi,3,1,"span",21),p(),o(29,"div",8)(30,"p",22),I(31,pi,5,2,"span",23)(32,di,3,1,"span",23),p(),o(33,"div",10),I(34,ci,3,3,"a",11)(35,gi,3,3,"a",24)(36,ui,2,0,"a",25)(37,Ei,22,18,"span",26),p()()()()()()()),t&2&&(r(3),s("src",n.plugin.icon,$),r(),s("ngIf",n.plugin.installedVersion&&n.hb2Status!=="hide"),r(6),P(n.prettyDisplayName),r(2),s("ngIf",n.plugin.installedVersion&&n.plugin.updateAvailable&&!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(n.plugin.newHbScope==null?null:n.plugin.newHbScope.switch)===n.plugin.installedVersion&&!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(!n.plugin.newHbScope||n.plugin.newHbScope.switch!==n.plugin.installedVersion)&&!n.plugin.updateAvailable&&!n.plugin.isConfigured&&!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(!n.plugin.newHbScope||n.plugin.newHbScope.switch!==n.plugin.installedVersion)&&!n.plugin.updateAvailable&&n.plugin.isConfigured&&!n.plugin.hasChildBridges&&!n.plugin.disabled&&n.plugin.recommendChildBridge&&!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(!n.plugin.newHbScope||n.plugin.newHbScope.switch!==n.plugin.installedVersion)&&!n.plugin.updateAvailable&&n.plugin.isConfigured&&n.plugin.hasChildBridges&&!n.childBridgeRestartInProgress&&n.hasUnpairedChildBridges&&n.childBridgeStatus==="ok"&&!n.plugin.disabled),r(),s("hidden",!n.childBridgeRestartInProgress),r(),s("ngIf",n.plugin.installedVersion&&(!n.plugin.newHbScope||n.plugin.newHbScope.switch!==n.plugin.installedVersion)&&!n.plugin.updateAvailable&&n.plugin.isConfigured&&n.plugin.hasChildBridges&&!n.childBridgeRestartInProgress&&!n.hasUnpairedChildBridges&&n.childBridgeStatus!=="ok"&&!n.plugin.disabled),r(5),P(n.plugin.name),r(),s("ngIf",n.plugin.verifiedPlugin||n.plugin.verifiedPlusPlugin),r(),s("ngIf",!n.plugin.verifiedPlugin&&!n.plugin.verifiedPlusPlugin),r(2),s("ngIf",(n.plugin.verifiedPlugin||n.plugin.verifiedPlusPlugin)&&n.plugin.funding),r(),s("ngIf",!((n.plugin.verifiedPlugin||n.plugin.verifiedPlusPlugin)&&n.plugin.funding)),r(3),s("ngIf",n.plugin.publicPackage&&!n.plugin.installedVersion),r(),s("ngIf",n.plugin.installedVersion),r(2),s("ngIf",!n.plugin.disabled&&n.plugin.hasChildBridges&&n.childBridgeStatus==="ok"),r(),s("ngIf",n.plugin.installedVersion&&n.plugin.disabled),r(),s("ngIf",n.plugin.publicPackage&&!n.plugin.installedVersion),r(),s("ngIf",n.plugin.installedVersion))},dependencies:[X,E,Ce,be,he,fe,_e,we,Z,M],encapsulation:2}));let e=l;return e})();function ji(e,l){e&1&&c(0,"app-spinner")}function Di(e,l){e&1&&c(0,"i",13)}function Ni(e,l){if(e&1&&(o(0,"div",14),c(1,"app-plugin-card",15),p()),e&2){let a=l.$implicit,i=g();r(),s("plugin",a)("childBridges",i.getPluginChildBridges(a))}}function Hi(e,l){e&1&&(o(0,"div",16),c(1,"i",17),o(2,"p"),_(3),u(4,"translate"),p()()),e&2&&(r(3),P(m(4,1,"plugins.placeholder_search_first")))}var Ne=(()=>{let l=class l{constructor(i,t,n,f,S,w,j){d(this,"$api");d(this,"$plugin");d(this,"$router");d(this,"$settings");d(this,"$toastr");d(this,"$translate");d(this,"$ws");d(this,"loading",!0);d(this,"installedPlugins",[]);d(this,"childBridges",[]);d(this,"form",new se({query:new pe("",[re.required])}));d(this,"io");d(this,"navigationSubscription");this.$api=i,this.$plugin=t,this.$router=n,this.$settings=f,this.$toastr=S,this.$translate=w,this.$ws=j}ngOnInit(){return k(this,null,function*(){this.io=this.$ws.connectToNamespace("child-bridges"),this.io.connected.subscribe(()=>k(this,null,function*(){this.getChildBridgeMetadata(),this.io.socket.emit("monitor-child-bridge-status"),yield this.loadInstalledPlugins();let i=this.$router.parseUrl(this.$router.url).queryParams.installed;if(i){let t=this.installedPlugins.find(n=>n.name===i);t&&!t.isConfigured&&this.$plugin.settings(t),this.$router.navigate(["/plugins"])}})),this.io.socket.on("child-bridge-status-update",i=>{let t=this.childBridges.find(n=>n.username===i.username);t?Object.assign(t,i):this.childBridges.push(i)}),this.navigationSubscription=this.$router.events.subscribe(i=>{i instanceof ie&&this.loadInstalledPlugins()})})}loadInstalledPlugins(){return k(this,null,function*(){this.form.setValue({query:""}),this.installedPlugins=[],this.loading=!0;try{let i=yield V(this.$api.get("/plugins"));this.installedPlugins=i.filter(n=>n.name!=="homebridge-config-ui-x"),yield this.appendMetaInfo();let t=this.installedPlugins.sort((n,f)=>n.updateAvailable!==f.updateAvailable?n.updateAvailable?-1:1:n.newHbScope&&!f.newHbScope?-1:n.disabled!==f.disabled?n.disabled?1:-1:n.isConfigured!==f.isConfigured?n.isConfigured?1:-1:n.hasChildBridgesUnpaired!==f.hasChildBridgesUnpaired?n.hasChildBridgesUnpaired?-1:1:n.hasChildBridges!==f.hasChildBridges&&this.$settings.env.recommendChildBridges?n.hasChildBridges?1:-1:n.name.localeCompare(f.name));return this.loading=!1,t}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}appendMetaInfo(){return k(this,null,function*(){yield Promise.all(this.installedPlugins.filter(i=>i.installedVersion).map(i=>k(this,null,function*(){try{let t=yield V(this.$api.get(`/config-editor/plugin/${encodeURIComponent(i.name)}`));i.isConfigured=t.length>0,i.isConfiguredDynamicPlatform=i.isConfigured&&Object.prototype.hasOwnProperty.call(t[0],"platform"),i.recommendChildBridge=i.isConfiguredDynamicPlatform&&this.$settings.env.recommendChildBridges&&this.$settings.env.serviceMode&&!["homebridge","homebridge-config-ui-x"].includes(i.name),i.hasChildBridges=i.isConfigured&&t.some(f=>f._bridge&&f._bridge.username);let n=this.getPluginChildBridges(i);i.hasChildBridgesUnpaired=n.some(f=>!f.paired)}catch{i.isConfigured=!0,i.hasChildBridges=!0}})))})}search(){this.installedPlugins=[],this.loading=!0,this.$api.get(`/plugins/search/${encodeURIComponent(this.form.value.query)}`).subscribe({next:i=>{let t=new Set;this.installedPlugins=i.sort((n,f)=>n.newHbScope&&!f.newHbScope?-1:!n.newHbScope&&f.newHbScope?1:0).reduce((n,f)=>{if(f.name==="homebridge-config-ui-x"||t.has(f.name))return n;if(f.newHbScope){let S=f.newHbScope.to,w=i.some(j=>j.name===S);(f.installedVersion||!w)&&(t.add(S),n.push(f))}else n.push(f);return n},[]).sort((n,f)=>n.installedVersion!==f.installedVersion?n.installedVersion?-1:1:0),this.appendMetaInfo(),this.loading=!1},error:i=>{this.loading=!1,console.error(i),this.$toastr.error(i.error.message||i.message,this.$translate.instant("toast.title_error")),this.loadInstalledPlugins()}})}onClearSearch(){this.form.setValue({query:""}),this.loadInstalledPlugins()}onSubmit({value:i}){i.query.length?this.search():this.loadInstalledPlugins()}getChildBridgeMetadata(){this.io.request("get-homebridge-child-bridge-status").subscribe(i=>{this.childBridges=i})}getPluginChildBridges(i){return this.childBridges.filter(t=>t.plugin===i.name)}ngOnDestroy(){this.navigationSubscription&&this.navigationSubscription.unsubscribe(),this.io.end()}};d(l,"\u0275fac",function(t){return new(t||l)(y(A),y(q),y(te),y(U),y(R),y(H),y(F))}),d(l,"\u0275cmp",T({type:l,selectors:[["ng-component"]],decls:16,vars:11,consts:[[4,"ngIf"],[1,"row","mb-3"],[1,"col-12"],[1,"primary-text","m-0"],[1,"row"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"hb-npm-search",3,"placeholder"],["href","javascript:void(0)",1,"hb-npm-search-clear",3,"click"],["class","far fa-fw fa-times-circle",4,"ngIf"],[1,"d-flex","flex-wrap","justify-content-between"],["class","hb-plugin-space-between",4,"ngFor","ngForOf"],["class","alert alert-info mt-4 text-center w-100",4,"ngIf"],[1,"far","fa-fw","fa-times-circle"],[1,"hb-plugin-space-between"],[3,"plugin","childBridges"],[1,"alert","alert-info","mt-4","text-center","w-100"],[1,"fas","fa-fw","fa-magnifying-glass","primary-text","my-3",2,"font-size","75px"]],template:function(t,n){t&1&&(I(0,ji,1,0,"app-spinner",0),o(1,"div",1)(2,"div",2)(3,"h3",3),_(4),u(5,"translate"),p()()(),o(6,"div",4)(7,"div",5)(8,"form",6),h("ngSubmit",function(){return n.onSubmit(n.form)}),c(9,"input",7),u(10,"translate"),o(11,"a",8),h("click",function(){return n.onClearSearch()}),I(12,Di,1,0,"i",9),p()()()(),o(13,"div",10),I(14,Ni,2,2,"div",11)(15,Hi,5,3,"div",12),p()),t&2&&(s("ngIf",n.loading),r(4),P(m(5,7,"menu.label_plugins")),r(4),s("formGroup",n.form),r(),s("placeholder",m(10,9,"plugins.placeholder_search_plugin")),r(3),s("ngIf",n.form.controls.query.value),r(2),s("ngForOf",n.installedPlugins),r(),s("ngIf",n.installedPlugins.length===0&&!n.loading))},dependencies:[Y,E,de,ae,le,oe,ce,ge,ye,De,M],styles:[".hb-npm-search[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px;margin-bottom:15px}@media (hover: hover){.hb-npm-search[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.hb-npm-search[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.hb-npm-search-clear[_ngcontent-%COMP%]{position:absolute;right:25px;font-size:35px;color:#d0d0d0;line-height:50px;cursor:pointer}.hb-plugin-space-between[_ngcontent-%COMP%]{box-sizing:border-box;width:calc(50% - 6.6666666667px)}@media only screen and (max-width: 991px){.hb-plugin-space-between[_ngcontent-%COMP%]{width:100%}}"]}));let e=l;return e})();var Ai=[{path:"",component:Ne}],He=(()=>{let l=class l{};d(l,"\u0275fac",function(t){return new(t||l)}),d(l,"\u0275mod",N({type:l})),d(l,"\u0275inj",D({imports:[O.forChild(Ai),O]}));let e=l;return e})();var wt=(()=>{let l=class l{};d(l,"\u0275fac",function(t){return new(t||l)}),d(l,"\u0275mod",N({type:l})),d(l,"\u0275inj",D({imports:[ee,ue,me,ne.forChild(),Ie,Be,$e,He]}));let e=l;return e})();export{wt as PluginsModule};