homebridge-config-ui-x 5.0.0-beta.74 → 5.0.0-beta.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +3 -1
- package/package.json +4 -4
- package/public/assets/plugin-ui-utils/ui.js +3 -0
- package/public/assets/plugin-ui-utils/ui.js.map +1 -1
- package/public/chunk-2IFXAVZX.js +1 -0
- package/public/chunk-2LXRWE65.js +1 -0
- package/public/{chunk-RSIXVZQ5.js → chunk-2PGR64P5.js} +1 -1
- package/public/{chunk-JQAGEFJK.js → chunk-2UMHCTKQ.js} +1 -1
- package/public/{chunk-ZMDZXXPQ.js → chunk-2VTMBAA3.js} +1 -1
- package/public/chunk-2WSC6B2N.js +1 -0
- package/public/{chunk-F2OGU5FW.js → chunk-3GULJZHP.js} +1 -1
- package/public/{chunk-FJGUVFFL.js → chunk-3HFD5GJN.js} +1 -1
- package/public/{chunk-Y7UK3FOW.js → chunk-3KEKNJHK.js} +1 -1
- package/public/{chunk-WGS66X3K.js → chunk-3TXWUXFU.js} +1 -1
- package/public/chunk-4PXS64Y6.js +1 -0
- package/public/{chunk-T4HCP6FD.js → chunk-4RLAAHQO.js} +1 -1
- package/public/{chunk-R4NX623U.js → chunk-5BL6PCNR.js} +1 -1
- package/public/{chunk-ZPERUVAF.js → chunk-5NGLQJJS.js} +1 -1
- package/public/{chunk-ORXK7VMG.js → chunk-5W6SCDV6.js} +1 -1
- package/public/{chunk-3OTTSHFN.js → chunk-66WXYXRV.js} +1 -1
- package/public/chunk-6A5CZTWZ.js +1 -0
- package/public/{chunk-B4WMZHLX.js → chunk-6ROJUYIC.js} +1 -1
- package/public/{chunk-YHABGXDF.js → chunk-7S2SCSTB.js} +1 -1
- package/public/chunk-7S7G7E6P.js +1 -0
- package/public/{chunk-7TBPKYY3.js → chunk-A3GH5UM5.js} +1 -1
- package/public/chunk-BCSWG6SE.js +1 -0
- package/public/{chunk-CMP57RDB.js → chunk-BW24SUSK.js} +1 -1
- package/public/{chunk-2FGEOEQD.js → chunk-CHQVUHUA.js} +1 -1
- package/public/{chunk-ZR4MJB3D.js → chunk-CNVA3LLU.js} +1 -1
- package/public/chunk-CX3YFWUG.js +1 -0
- package/public/chunk-CZCRTSM7.js +1 -0
- package/public/{chunk-TGTOGQ4S.js → chunk-DONFV37G.js} +1 -1
- package/public/{chunk-LAUMAL4S.js → chunk-DTEN7TFT.js} +1 -1
- package/public/{chunk-Y2D54X42.js → chunk-ETPKWO5V.js} +1 -1
- package/public/{chunk-32A6GTVE.js → chunk-FPB7CGNC.js} +1 -1
- package/public/{chunk-7PWPIGJ2.js → chunk-G43HU5Q5.js} +1 -1
- package/public/{chunk-L6SUQMAE.js → chunk-GFBM6MCU.js} +1 -1
- package/public/{chunk-JLEVYLIK.js → chunk-GKWVMOET.js} +1 -1
- package/public/chunk-GSNP5K6X.js +1 -0
- package/public/{chunk-JOBKDXBH.js → chunk-HLSZVFAU.js} +1 -1
- package/public/chunk-HLYXUMFJ.js +1 -0
- package/public/chunk-HVJ23MRE.js +1 -0
- package/public/chunk-ILS4HCUL.js +1 -0
- package/public/{chunk-VQL7EC6C.js → chunk-ILUFFLLG.js} +1 -1
- package/public/chunk-IP3KHS2K.js +8 -0
- package/public/chunk-IZSJEHPY.js +1 -0
- package/public/{chunk-W6AXPQD7.js → chunk-J4USS3TJ.js} +1 -1
- package/public/chunk-LUWQZ3SC.js +1 -0
- package/public/chunk-MYN3AAWO.js +1 -0
- package/public/{chunk-BH3O4J2R.js → chunk-OOXWGEYZ.js} +1 -1
- package/public/{chunk-X52MNTYV.js → chunk-OVVOFARC.js} +1 -1
- package/public/{chunk-G3SGAKYX.js → chunk-PWSUWMHH.js} +1 -1
- package/public/chunk-S7QXG5F2.js +1 -0
- package/public/{chunk-422W4WPL.js → chunk-SB7IBDLB.js} +5 -5
- package/public/{chunk-6Q3JMQQV.js → chunk-T34MBGSG.js} +1 -1
- package/public/{chunk-XKF4WLJB.js → chunk-T6FL3CCM.js} +1 -1
- package/public/{chunk-RGKH44LF.js → chunk-TCJEY6SZ.js} +1 -1
- package/public/chunk-U6S6F3SC.js +1 -0
- package/public/{chunk-C53ZM5K2.js → chunk-UH63AXBP.js} +1 -1
- package/public/{chunk-QACNP7P5.js → chunk-UHL5ARSB.js} +1 -1
- package/public/{chunk-VD6WWCYG.js → chunk-V2SMMSMC.js} +1 -1
- package/public/{chunk-5CVOEJKH.js → chunk-VISPEG4X.js} +1 -1
- package/public/chunk-WNQ3ZPRR.js +20 -0
- package/public/chunk-WXKGTM52.js +1 -0
- package/public/chunk-X63C4XBV.js +1 -0
- package/public/{chunk-ZDQORYCF.js → chunk-XH4RYJ6Y.js} +1 -1
- package/public/chunk-YXX7ION6.js +1 -0
- package/public/chunk-Z26UR5NK.js +1 -0
- package/public/{chunk-KJ7L5P74.js → chunk-Z3ALWMOS.js} +1 -1
- package/public/{chunk-MWUQKB3E.js → chunk-ZHNSZ7X2.js} +1 -1
- package/public/{chunk-2MKTCI3F.js → chunk-ZRQ5KKRJ.js} +1 -1
- package/public/index.html +2 -2
- package/public/main-RD7O64IM.js +1 -0
- package/public/{styles-N63CIM5W.css → styles-PGYQLREL.css} +1 -1
- package/public/chunk-5CXMGQOD.js +0 -1
- package/public/chunk-5ZULB7ES.js +0 -1
- package/public/chunk-72GKM5BI.js +0 -1
- package/public/chunk-7W7PK46I.js +0 -1
- package/public/chunk-AVT6G5KQ.js +0 -1
- package/public/chunk-ETAEVSP4.js +0 -1
- package/public/chunk-GC3DIVJ5.js +0 -1
- package/public/chunk-GRULWVVH.js +0 -1
- package/public/chunk-HYNSUAIV.js +0 -1
- package/public/chunk-IZ6RIEPD.js +0 -20
- package/public/chunk-JZJ3JCEV.js +0 -1
- package/public/chunk-LZ7BZ3XN.js +0 -1
- package/public/chunk-M4BCQRFG.js +0 -1
- package/public/chunk-MC6BRXUQ.js +0 -1
- package/public/chunk-MOJYKYPC.js +0 -1
- package/public/chunk-N5QT7AKK.js +0 -1
- package/public/chunk-NEWUMLMJ.js +0 -1
- package/public/chunk-OH4BZ2FL.js +0 -1
- package/public/chunk-PGJUCLJH.js +0 -8
- package/public/chunk-TRH5PIZ7.js +0 -1
- package/public/chunk-UPXGCFCV.js +0 -1
- package/public/chunk-WDGNLE4W.js +0 -1
- package/public/chunk-YU3HQXGG.js +0 -1
- package/public/chunk-Z3XSEHZM.js +0 -1
- package/public/main-DBXAIUMM.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as uu,b as Z6}from"./chunk-7TBPKYY3.js";import{a as S1}from"./chunk-2FGEOEQD.js";import{a as en,b as tn}from"./chunk-3VIG5M5R.js";import{a as T1}from"./chunk-XZR7OZ6I.js";import{a as O1}from"./chunk-Y2D54X42.js";import{a as P1}from"./chunk-FHMZVMZK.js";import{a as of}from"./chunk-JMCN2SQV.js";import{a as A1,b as k1}from"./chunk-YXEV6KOV.js";import{a as ss}from"./chunk-LTDUXFUG.js";import{a as $1}from"./chunk-RSIXVZQ5.js";import{a as Ur,b as Wr,c as Gr,d as Kr,e as Jr,f as Xr,g as Yi,m as ve,n as it,o as Zi}from"./chunk-YHABGXDF.js";import{a as E1,b as Gi,c as Ki,e as vt,f as _1,h as y1,i as v1,k as B1,l as Yu,m as x1,o as Ji,r as Xi,s as yi,t as vi,x as w1,y as tu,z as as}from"./chunk-JOBKDXBH.js";import{a as Qi}from"./chunk-ZDQORYCF.js";import{d as cu}from"./chunk-QR7L4UUP.js";import{a as I1}from"./chunk-R4NX623U.js";import{b as Ve}from"./chunk-7PWPIGJ2.js";import{h as _e,j as Zu,k as he}from"./chunk-MWUQKB3E.js";import{e as b1}from"./chunk-ASBFWS7L.js";import{a as Ee,b as Be}from"./chunk-DJKI5XBW.js";import{$a as l,Ac as v,Bc as B,Ca as Hu,Cc as Ye,D as f1,Da as s1,Fa as Uu,Gb as K,Hb as w,Ib as S,Jc as gt,Kb as nt,Kc as z,Lb as ft,Lc as Xu,M as Vr,Mb as rt,Nb as b,Nc as h1,Ob as c,Pb as p,Qb as I,Rb as c1,Sb as p1,Ub as U,Xa as de,Xb as M,Yb as h,Z as ns,_a as D1,a as X,aa as rf,ac as fs,b as Se,bc as rs,bd as zt,cc as os,cd as _i,dc as Wu,dd as bt,e as F,eb as Lr,ec as Gu,fa as r1,fb as yu,g as ze,ga as Ot,gc as Qt,gd as g1,h as G,ha as Hi,hb as Ei,hc as Ku,ic as Z,ja as o1,jc as _,k as t1,ka as a1,kc as H,kd as Hr,la as x,lb as Y,lc as q,mb as Ui,mc as Bu,n as Pt,nb as vu,nc as m1,o as is,ob as l1,q as u1,qc as Te,ra as j,rb as ce,rc as Pe,sa as N,sc as Oe,tb as d1,tc as F1,ub as zr,uc as C1,v as i1,vc as Xe,w as se,wc as eu,x as n1,xc as Ju,yc as xu,za as Rr,zc as Wi}from"./chunk-U4V4ICSI.js";var Df=F(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.regexpCode=be.getEsmExportName=be.getProperty=be.safeStringify=be.stringify=be.strConcat=be.addCodeArg=be.str=be._=be.nil=be._Code=be.Name=be.IDENTIFIER=be._CodeOrName=void 0;var af=class{};be._CodeOrName=af;be.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Bi=class extends af{constructor(u){if(super(),!be.IDENTIFIER.test(u))throw new Error("CodeGen: name must be a valid identifier");this.str=u}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};be.Name=Bi;var Ht=class extends af{constructor(u){super(),this._items=typeof u=="string"?[u]:u}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let u=this._items[0];return u===""||u==='""'}get str(){var u;return(u=this._str)!==null&&u!==void 0?u:this._str=this._items.reduce((t,i)=>`${t}${i}`,"")}get names(){var u;return(u=this._names)!==null&&u!==void 0?u:this._names=this._items.reduce((t,i)=>(i instanceof Bi&&(t[i.str]=(t[i.str]||0)+1),t),{})}};be._Code=Ht;be.nil=new Ht("");function M1(e,...u){let t=[e[0]],i=0;for(;i<u.length;)ls(t,u[i]),t.push(e[++i]);return new Ht(t)}be._=M1;var Ds=new Ht("+");function j1(e,...u){let t=[sf(e[0])],i=0;for(;i<u.length;)t.push(Ds),ls(t,u[i]),t.push(Ds,sf(e[++i]));return eb(t),new Ht(t)}be.str=j1;function ls(e,u){u instanceof Ht?e.push(...u._items):u instanceof Bi?e.push(u):e.push(ib(u))}be.addCodeArg=ls;function eb(e){let u=1;for(;u<e.length-1;){if(e[u]===Ds){let t=tb(e[u-1],e[u+1]);if(t!==void 0){e.splice(u-1,3,t);continue}e[u++]="+"}u++}}function tb(e,u){if(u==='""')return e;if(e==='""')return u;if(typeof e=="string")return u instanceof Bi||e[e.length-1]!=='"'?void 0:typeof u!="string"?`${e.slice(0,-1)}${u}"`:u[0]==='"'?e.slice(0,-1)+u.slice(1):void 0;if(typeof u=="string"&&u[0]==='"'&&!(e instanceof Bi))return`"${e}${u.slice(1)}`}function ub(e,u){return u.emptyStr()?e:e.emptyStr()?u:j1`${e}${u}`}be.strConcat=ub;function ib(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:sf(Array.isArray(e)?e.join(","):e)}function nb(e){return new Ht(sf(e))}be.stringify=nb;function sf(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}be.safeStringify=sf;function fb(e){return typeof e=="string"&&be.IDENTIFIER.test(e)?new Ht(`.${e}`):M1`[${e}]`}be.getProperty=fb;function rb(e){if(typeof e=="string"&&be.IDENTIFIER.test(e))return new Ht(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}be.getEsmExportName=rb;function ob(e){return new Ht(e.toString())}be.regexpCode=ob});var ps=F(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.ValueScope=xt.ValueScopeName=xt.Scope=xt.varKinds=xt.UsedValueState=void 0;var Bt=Df(),ds=class extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}},Yr=function(e){return e[e.Started=0]="Started",e[e.Completed=1]="Completed",e}(Yr||(xt.UsedValueState=Yr={}));xt.varKinds={const:new Bt.Name("const"),let:new Bt.Name("let"),var:new Bt.Name("var")};var Zr=class{constructor({prefixes:u,parent:t}={}){this._names={},this._prefixes=u,this._parent=t}toName(u){return u instanceof Bt.Name?u:this.name(u)}name(u){return new Bt.Name(this._newName(u))}_newName(u){let t=this._names[u]||this._nameGroup(u);return`${u}${t.index++}`}_nameGroup(u){var t,i;if(!((i=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||i===void 0)&&i.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}};xt.Scope=Zr;var Qr=class extends Bt.Name{constructor(u,t){super(t),this.prefix=u}setValue(u,{property:t,itemIndex:i}){this.value=u,this.scopePath=(0,Bt._)`.${new Bt.Name(t)}[${i}]`}};xt.ValueScopeName=Qr;var ab=(0,Bt._)`\n`,cs=class extends Zr{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts=Se(X({},u),{_n:u.lines?ab:Bt.nil})}get(){return this._scope}name(u){return new Qr(u,this._newName(u))}value(u,t){var i;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(u),{prefix:f}=n,r=(i=t.key)!==null&&i!==void 0?i:t.ref,o=this._values[f];if(o){let D=o.get(r);if(D)return D}else o=this._values[f]=new Map;o.set(r,n);let a=this._scope[f]||(this._scope[f]=[]),s=a.length;return a[s]=t.ref,n.setValue(t,{property:f,itemIndex:s}),n}getValue(u,t){let i=this._values[u];if(i)return i.get(t)}scopeRefs(u,t=this._values){return this._reduceValues(t,i=>{if(i.scopePath===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return(0,Bt._)`${u}${i.scopePath}`})}scopeCode(u=this._values,t,i){return this._reduceValues(u,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},t,i)}_reduceValues(u,t,i={},n){let f=Bt.nil;for(let r in u){let o=u[r];if(!o)continue;let a=i[r]=i[r]||new Map;o.forEach(s=>{if(a.has(s))return;a.set(s,Yr.Started);let D=t(s);if(D){let d=this.opts.es5?xt.varKinds.var:xt.varKinds.const;f=(0,Bt._)`${f}${d} ${s} = ${D};${this.opts._n}`}else if(D=n?.(s))f=(0,Bt._)`${f}${D}${this.opts._n}`;else throw new ds(s);a.set(s,Yr.Completed)})}return f}};xt.ValueScope=cs});var ee=F(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.or=ae.and=ae.not=ae.CodeGen=ae.operators=ae.varKinds=ae.ValueScopeName=ae.ValueScope=ae.Scope=ae.Name=ae.regexpCode=ae.stringify=ae.getProperty=ae.nil=ae.strConcat=ae.str=ae._=void 0;var Fe=Df(),iu=ps(),Qu=Df();Object.defineProperty(ae,"_",{enumerable:!0,get:function(){return Qu._}});Object.defineProperty(ae,"str",{enumerable:!0,get:function(){return Qu.str}});Object.defineProperty(ae,"strConcat",{enumerable:!0,get:function(){return Qu.strConcat}});Object.defineProperty(ae,"nil",{enumerable:!0,get:function(){return Qu.nil}});Object.defineProperty(ae,"getProperty",{enumerable:!0,get:function(){return Qu.getProperty}});Object.defineProperty(ae,"stringify",{enumerable:!0,get:function(){return Qu.stringify}});Object.defineProperty(ae,"regexpCode",{enumerable:!0,get:function(){return Qu.regexpCode}});Object.defineProperty(ae,"Name",{enumerable:!0,get:function(){return Qu.Name}});var no=ps();Object.defineProperty(ae,"Scope",{enumerable:!0,get:function(){return no.Scope}});Object.defineProperty(ae,"ValueScope",{enumerable:!0,get:function(){return no.ValueScope}});Object.defineProperty(ae,"ValueScopeName",{enumerable:!0,get:function(){return no.ValueScopeName}});Object.defineProperty(ae,"varKinds",{enumerable:!0,get:function(){return no.varKinds}});ae.operators={GT:new Fe._Code(">"),GTE:new Fe._Code(">="),LT:new Fe._Code("<"),LTE:new Fe._Code("<="),EQ:new Fe._Code("==="),NEQ:new Fe._Code("!=="),NOT:new Fe._Code("!"),OR:new Fe._Code("||"),AND:new Fe._Code("&&"),ADD:new Fe._Code("+")};var wu=class{optimizeNodes(){return this}optimizeNames(u,t){return this}},ms=class extends wu{constructor(u,t,i){super(),this.varKind=u,this.name=t,this.rhs=i}render({es5:u,_n:t}){let i=u?iu.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(u,t){if(u[this.name.str])return this.rhs&&(this.rhs=nn(this.rhs,u,t)),this}get names(){return this.rhs instanceof Fe._CodeOrName?this.rhs.names:{}}},to=class extends wu{constructor(u,t,i){super(),this.lhs=u,this.rhs=t,this.sideEffects=i}render({_n:u}){return`${this.lhs} = ${this.rhs};`+u}optimizeNames(u,t){if(!(this.lhs instanceof Fe.Name&&!u[this.lhs.str]&&!this.sideEffects))return this.rhs=nn(this.rhs,u,t),this}get names(){let u=this.lhs instanceof Fe.Name?{}:X({},this.lhs.names);return io(u,this.rhs)}},Fs=class extends to{constructor(u,t,i,n){super(u,i,n),this.op=t}render({_n:u}){return`${this.lhs} ${this.op}= ${this.rhs};`+u}},Cs=class extends wu{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`${this.label}:`+u}},hs=class extends wu{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`break${this.label?` ${this.label}`:""};`+u}},gs=class extends wu{constructor(u){super(),this.error=u}render({_n:u}){return`throw ${this.error};`+u}get names(){return this.error.names}},bs=class extends wu{constructor(u){super(),this.code=u}render({_n:u}){return`${this.code};`+u}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(u,t){return this.code=nn(this.code,u,t),this}get names(){return this.code instanceof Fe._CodeOrName?this.code.names:{}}},lf=class extends wu{constructor(u=[]){super(),this.nodes=u}render(u){return this.nodes.reduce((t,i)=>t+i.render(u),"")}optimizeNodes(){let{nodes:u}=this,t=u.length;for(;t--;){let i=u[t].optimizeNodes();Array.isArray(i)?u.splice(t,1,...i):i?u[t]=i:u.splice(t,1)}return u.length>0?this:void 0}optimizeNames(u,t){let{nodes:i}=this,n=i.length;for(;n--;){let f=i[n];f.optimizeNames(u,t)||(sb(u,f.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce((u,t)=>xi(u,t.names),{})}},Su=class extends lf{render(u){return"{"+u._n+super.render(u)+"}"+u._n}},Es=class extends lf{},_s=(()=>{class e extends Su{}return e.kind="else",e})(),eo=(()=>{class e extends Su{constructor(t,i){super(i),this.condition=t}render(t){let i=`if(${this.condition})`+super.render(t);return this.else&&(i+="else "+this.else.render(t)),i}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let i=this.else;if(i){let n=i.optimizeNodes();i=this.else=Array.isArray(n)?new _s(n):n}if(i)return t===!1?i instanceof e?i:i.nodes:this.nodes.length?this:new e(L1(t),i instanceof e?[i]:i.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,i){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,i),!!(super.optimizeNames(t,i)||this.else))return this.condition=nn(this.condition,t,i),this}get names(){let t=super.names;return io(t,this.condition),this.else&&xi(t,this.else.names),t}}return e.kind="if",e})(),fo=(()=>{class e extends Su{}return e.kind="for",e})(),ys=class extends fo{constructor(u){super(),this.iteration=u}render(u){return`for(${this.iteration})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iteration=nn(this.iteration,u,t),this}get names(){return xi(super.names,this.iteration.names)}},vs=class extends fo{constructor(u,t,i,n){super(),this.varKind=u,this.name=t,this.from=i,this.to=n}render(u){let t=u.es5?iu.varKinds.var:this.varKind,{name:i,from:n,to:f}=this;return`for(${t} ${i}=${n}; ${i}<${f}; ${i}++)`+super.render(u)}get names(){let u=io(super.names,this.from);return io(u,this.to)}},uo=class extends fo{constructor(u,t,i,n){super(),this.loop=u,this.varKind=t,this.name=i,this.iterable=n}render(u){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iterable=nn(this.iterable,u,t),this}get names(){return xi(super.names,this.iterable.names)}},N1=(()=>{class e extends Su{constructor(t,i,n){super(),this.name=t,this.args=i,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}}return e.kind="func",e})(),q1=(()=>{class e extends lf{render(t){return"return "+super.render(t)}}return e.kind="return",e})(),Bs=class extends Su{render(u){let t="try"+super.render(u);return this.catch&&(t+=this.catch.render(u)),this.finally&&(t+=this.finally.render(u)),t}optimizeNodes(){var u,t;return super.optimizeNodes(),(u=this.catch)===null||u===void 0||u.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(u,t){var i,n;return super.optimizeNames(u,t),(i=this.catch)===null||i===void 0||i.optimizeNames(u,t),(n=this.finally)===null||n===void 0||n.optimizeNames(u,t),this}get names(){let u=super.names;return this.catch&&xi(u,this.catch.names),this.finally&&xi(u,this.finally.names),u}},V1=(()=>{class e extends Su{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}}return e.kind="catch",e})(),R1=(()=>{class e extends Su{render(t){return"finally"+super.render(t)}}return e.kind="finally",e})(),xs=class{constructor(u,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts=Se(X({},t),{_n:t.lines?`
|
|
1
|
+
import{a as uu,b as Z6}from"./chunk-A3GH5UM5.js";import{a as S1}from"./chunk-CHQVUHUA.js";import{a as en,b as tn}from"./chunk-3VIG5M5R.js";import{a as T1}from"./chunk-XZR7OZ6I.js";import{a as O1}from"./chunk-ETPKWO5V.js";import{a as P1}from"./chunk-FHMZVMZK.js";import{a as of}from"./chunk-JMCN2SQV.js";import{a as A1,b as k1}from"./chunk-YXEV6KOV.js";import{a as ss}from"./chunk-LTDUXFUG.js";import{a as $1}from"./chunk-2PGR64P5.js";import{a as Ur,b as Wr,c as Gr,d as Kr,e as Jr,f as Xr,g as Yi,m as ve,n as it,o as Zi}from"./chunk-7S2SCSTB.js";import{A as as,a as E1,b as Gi,c as Ki,e as vt,f as _1,h as y1,i as v1,k as B1,l as Yu,m as x1,o as Ji,r as Xi,s as yi,t as vi,y as w1,z as tu}from"./chunk-HLSZVFAU.js";import{a as Qi}from"./chunk-XH4RYJ6Y.js";import{d as cu}from"./chunk-QR7L4UUP.js";import{a as I1}from"./chunk-5BL6PCNR.js";import{b as Ve}from"./chunk-G43HU5Q5.js";import{h as _e,j as Zu,k as he}from"./chunk-ZHNSZ7X2.js";import{e as b1}from"./chunk-ASBFWS7L.js";import{a as Ee,b as Be}from"./chunk-DJKI5XBW.js";import{$a as l,Ac as v,Bc as B,Ca as Hu,Cc as Ye,D as f1,Da as s1,Fa as Uu,Gb as K,Hb as w,Ib as S,Jc as gt,Kb as nt,Kc as z,Lb as ft,Lc as Xu,M as Vr,Mb as rt,Nb as b,Nc as h1,Ob as c,Pb as p,Qb as I,Rb as c1,Sb as p1,Ub as U,Xa as de,Xb as M,Yb as h,Z as ns,_a as D1,a as X,aa as rf,ac as fs,b as Se,bc as rs,bd as zt,cc as os,cd as _i,dc as Wu,dd as bt,e as F,eb as Lr,ec as Gu,fa as r1,fb as yu,g as ze,ga as Ot,gc as Qt,gd as g1,h as G,ha as Hi,hb as Ei,hc as Ku,ic as Z,ja as o1,jc as _,k as t1,ka as a1,kc as H,kd as Hr,la as x,lb as Y,lc as q,mb as Ui,mc as Bu,n as Pt,nb as vu,nc as m1,o as is,ob as l1,q as u1,qc as Te,ra as j,rb as ce,rc as Pe,sa as N,sc as Oe,tb as d1,tc as F1,ub as zr,uc as C1,v as i1,vc as Xe,w as se,wc as eu,x as n1,xc as Ju,yc as xu,za as Rr,zc as Wi}from"./chunk-U4V4ICSI.js";var Df=F(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.regexpCode=be.getEsmExportName=be.getProperty=be.safeStringify=be.stringify=be.strConcat=be.addCodeArg=be.str=be._=be.nil=be._Code=be.Name=be.IDENTIFIER=be._CodeOrName=void 0;var af=class{};be._CodeOrName=af;be.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Bi=class extends af{constructor(u){if(super(),!be.IDENTIFIER.test(u))throw new Error("CodeGen: name must be a valid identifier");this.str=u}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};be.Name=Bi;var Ht=class extends af{constructor(u){super(),this._items=typeof u=="string"?[u]:u}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let u=this._items[0];return u===""||u==='""'}get str(){var u;return(u=this._str)!==null&&u!==void 0?u:this._str=this._items.reduce((t,i)=>`${t}${i}`,"")}get names(){var u;return(u=this._names)!==null&&u!==void 0?u:this._names=this._items.reduce((t,i)=>(i instanceof Bi&&(t[i.str]=(t[i.str]||0)+1),t),{})}};be._Code=Ht;be.nil=new Ht("");function M1(e,...u){let t=[e[0]],i=0;for(;i<u.length;)ls(t,u[i]),t.push(e[++i]);return new Ht(t)}be._=M1;var Ds=new Ht("+");function j1(e,...u){let t=[sf(e[0])],i=0;for(;i<u.length;)t.push(Ds),ls(t,u[i]),t.push(Ds,sf(e[++i]));return eb(t),new Ht(t)}be.str=j1;function ls(e,u){u instanceof Ht?e.push(...u._items):u instanceof Bi?e.push(u):e.push(ib(u))}be.addCodeArg=ls;function eb(e){let u=1;for(;u<e.length-1;){if(e[u]===Ds){let t=tb(e[u-1],e[u+1]);if(t!==void 0){e.splice(u-1,3,t);continue}e[u++]="+"}u++}}function tb(e,u){if(u==='""')return e;if(e==='""')return u;if(typeof e=="string")return u instanceof Bi||e[e.length-1]!=='"'?void 0:typeof u!="string"?`${e.slice(0,-1)}${u}"`:u[0]==='"'?e.slice(0,-1)+u.slice(1):void 0;if(typeof u=="string"&&u[0]==='"'&&!(e instanceof Bi))return`"${e}${u.slice(1)}`}function ub(e,u){return u.emptyStr()?e:e.emptyStr()?u:j1`${e}${u}`}be.strConcat=ub;function ib(e){return typeof e=="number"||typeof e=="boolean"||e===null?e:sf(Array.isArray(e)?e.join(","):e)}function nb(e){return new Ht(sf(e))}be.stringify=nb;function sf(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}be.safeStringify=sf;function fb(e){return typeof e=="string"&&be.IDENTIFIER.test(e)?new Ht(`.${e}`):M1`[${e}]`}be.getProperty=fb;function rb(e){if(typeof e=="string"&&be.IDENTIFIER.test(e))return new Ht(`${e}`);throw new Error(`CodeGen: invalid export name: ${e}, use explicit $id name mapping`)}be.getEsmExportName=rb;function ob(e){return new Ht(e.toString())}be.regexpCode=ob});var ps=F(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.ValueScope=xt.ValueScopeName=xt.Scope=xt.varKinds=xt.UsedValueState=void 0;var Bt=Df(),ds=class extends Error{constructor(u){super(`CodeGen: "code" for ${u} not defined`),this.value=u.value}},Yr=function(e){return e[e.Started=0]="Started",e[e.Completed=1]="Completed",e}(Yr||(xt.UsedValueState=Yr={}));xt.varKinds={const:new Bt.Name("const"),let:new Bt.Name("let"),var:new Bt.Name("var")};var Zr=class{constructor({prefixes:u,parent:t}={}){this._names={},this._prefixes=u,this._parent=t}toName(u){return u instanceof Bt.Name?u:this.name(u)}name(u){return new Bt.Name(this._newName(u))}_newName(u){let t=this._names[u]||this._nameGroup(u);return`${u}${t.index++}`}_nameGroup(u){var t,i;if(!((i=(t=this._parent)===null||t===void 0?void 0:t._prefixes)===null||i===void 0)&&i.has(u)||this._prefixes&&!this._prefixes.has(u))throw new Error(`CodeGen: prefix "${u}" is not allowed in this scope`);return this._names[u]={prefix:u,index:0}}};xt.Scope=Zr;var Qr=class extends Bt.Name{constructor(u,t){super(t),this.prefix=u}setValue(u,{property:t,itemIndex:i}){this.value=u,this.scopePath=(0,Bt._)`.${new Bt.Name(t)}[${i}]`}};xt.ValueScopeName=Qr;var ab=(0,Bt._)`\n`,cs=class extends Zr{constructor(u){super(u),this._values={},this._scope=u.scope,this.opts=Se(X({},u),{_n:u.lines?ab:Bt.nil})}get(){return this._scope}name(u){return new Qr(u,this._newName(u))}value(u,t){var i;if(t.ref===void 0)throw new Error("CodeGen: ref must be passed in value");let n=this.toName(u),{prefix:f}=n,r=(i=t.key)!==null&&i!==void 0?i:t.ref,o=this._values[f];if(o){let D=o.get(r);if(D)return D}else o=this._values[f]=new Map;o.set(r,n);let a=this._scope[f]||(this._scope[f]=[]),s=a.length;return a[s]=t.ref,n.setValue(t,{property:f,itemIndex:s}),n}getValue(u,t){let i=this._values[u];if(i)return i.get(t)}scopeRefs(u,t=this._values){return this._reduceValues(t,i=>{if(i.scopePath===void 0)throw new Error(`CodeGen: name "${i}" has no value`);return(0,Bt._)`${u}${i.scopePath}`})}scopeCode(u=this._values,t,i){return this._reduceValues(u,n=>{if(n.value===void 0)throw new Error(`CodeGen: name "${n}" has no value`);return n.value.code},t,i)}_reduceValues(u,t,i={},n){let f=Bt.nil;for(let r in u){let o=u[r];if(!o)continue;let a=i[r]=i[r]||new Map;o.forEach(s=>{if(a.has(s))return;a.set(s,Yr.Started);let D=t(s);if(D){let d=this.opts.es5?xt.varKinds.var:xt.varKinds.const;f=(0,Bt._)`${f}${d} ${s} = ${D};${this.opts._n}`}else if(D=n?.(s))f=(0,Bt._)`${f}${D}${this.opts._n}`;else throw new ds(s);a.set(s,Yr.Completed)})}return f}};xt.ValueScope=cs});var ee=F(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.or=ae.and=ae.not=ae.CodeGen=ae.operators=ae.varKinds=ae.ValueScopeName=ae.ValueScope=ae.Scope=ae.Name=ae.regexpCode=ae.stringify=ae.getProperty=ae.nil=ae.strConcat=ae.str=ae._=void 0;var Fe=Df(),iu=ps(),Qu=Df();Object.defineProperty(ae,"_",{enumerable:!0,get:function(){return Qu._}});Object.defineProperty(ae,"str",{enumerable:!0,get:function(){return Qu.str}});Object.defineProperty(ae,"strConcat",{enumerable:!0,get:function(){return Qu.strConcat}});Object.defineProperty(ae,"nil",{enumerable:!0,get:function(){return Qu.nil}});Object.defineProperty(ae,"getProperty",{enumerable:!0,get:function(){return Qu.getProperty}});Object.defineProperty(ae,"stringify",{enumerable:!0,get:function(){return Qu.stringify}});Object.defineProperty(ae,"regexpCode",{enumerable:!0,get:function(){return Qu.regexpCode}});Object.defineProperty(ae,"Name",{enumerable:!0,get:function(){return Qu.Name}});var no=ps();Object.defineProperty(ae,"Scope",{enumerable:!0,get:function(){return no.Scope}});Object.defineProperty(ae,"ValueScope",{enumerable:!0,get:function(){return no.ValueScope}});Object.defineProperty(ae,"ValueScopeName",{enumerable:!0,get:function(){return no.ValueScopeName}});Object.defineProperty(ae,"varKinds",{enumerable:!0,get:function(){return no.varKinds}});ae.operators={GT:new Fe._Code(">"),GTE:new Fe._Code(">="),LT:new Fe._Code("<"),LTE:new Fe._Code("<="),EQ:new Fe._Code("==="),NEQ:new Fe._Code("!=="),NOT:new Fe._Code("!"),OR:new Fe._Code("||"),AND:new Fe._Code("&&"),ADD:new Fe._Code("+")};var wu=class{optimizeNodes(){return this}optimizeNames(u,t){return this}},ms=class extends wu{constructor(u,t,i){super(),this.varKind=u,this.name=t,this.rhs=i}render({es5:u,_n:t}){let i=u?iu.varKinds.var:this.varKind,n=this.rhs===void 0?"":` = ${this.rhs}`;return`${i} ${this.name}${n};`+t}optimizeNames(u,t){if(u[this.name.str])return this.rhs&&(this.rhs=nn(this.rhs,u,t)),this}get names(){return this.rhs instanceof Fe._CodeOrName?this.rhs.names:{}}},to=class extends wu{constructor(u,t,i){super(),this.lhs=u,this.rhs=t,this.sideEffects=i}render({_n:u}){return`${this.lhs} = ${this.rhs};`+u}optimizeNames(u,t){if(!(this.lhs instanceof Fe.Name&&!u[this.lhs.str]&&!this.sideEffects))return this.rhs=nn(this.rhs,u,t),this}get names(){let u=this.lhs instanceof Fe.Name?{}:X({},this.lhs.names);return io(u,this.rhs)}},Fs=class extends to{constructor(u,t,i,n){super(u,i,n),this.op=t}render({_n:u}){return`${this.lhs} ${this.op}= ${this.rhs};`+u}},Cs=class extends wu{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`${this.label}:`+u}},hs=class extends wu{constructor(u){super(),this.label=u,this.names={}}render({_n:u}){return`break${this.label?` ${this.label}`:""};`+u}},gs=class extends wu{constructor(u){super(),this.error=u}render({_n:u}){return`throw ${this.error};`+u}get names(){return this.error.names}},bs=class extends wu{constructor(u){super(),this.code=u}render({_n:u}){return`${this.code};`+u}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(u,t){return this.code=nn(this.code,u,t),this}get names(){return this.code instanceof Fe._CodeOrName?this.code.names:{}}},lf=class extends wu{constructor(u=[]){super(),this.nodes=u}render(u){return this.nodes.reduce((t,i)=>t+i.render(u),"")}optimizeNodes(){let{nodes:u}=this,t=u.length;for(;t--;){let i=u[t].optimizeNodes();Array.isArray(i)?u.splice(t,1,...i):i?u[t]=i:u.splice(t,1)}return u.length>0?this:void 0}optimizeNames(u,t){let{nodes:i}=this,n=i.length;for(;n--;){let f=i[n];f.optimizeNames(u,t)||(sb(u,f.names),i.splice(n,1))}return i.length>0?this:void 0}get names(){return this.nodes.reduce((u,t)=>xi(u,t.names),{})}},Su=class extends lf{render(u){return"{"+u._n+super.render(u)+"}"+u._n}},Es=class extends lf{},_s=(()=>{class e extends Su{}return e.kind="else",e})(),eo=(()=>{class e extends Su{constructor(t,i){super(i),this.condition=t}render(t){let i=`if(${this.condition})`+super.render(t);return this.else&&(i+="else "+this.else.render(t)),i}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let i=this.else;if(i){let n=i.optimizeNodes();i=this.else=Array.isArray(n)?new _s(n):n}if(i)return t===!1?i instanceof e?i:i.nodes:this.nodes.length?this:new e(L1(t),i instanceof e?[i]:i.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(t,i){var n;if(this.else=(n=this.else)===null||n===void 0?void 0:n.optimizeNames(t,i),!!(super.optimizeNames(t,i)||this.else))return this.condition=nn(this.condition,t,i),this}get names(){let t=super.names;return io(t,this.condition),this.else&&xi(t,this.else.names),t}}return e.kind="if",e})(),fo=(()=>{class e extends Su{}return e.kind="for",e})(),ys=class extends fo{constructor(u){super(),this.iteration=u}render(u){return`for(${this.iteration})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iteration=nn(this.iteration,u,t),this}get names(){return xi(super.names,this.iteration.names)}},vs=class extends fo{constructor(u,t,i,n){super(),this.varKind=u,this.name=t,this.from=i,this.to=n}render(u){let t=u.es5?iu.varKinds.var:this.varKind,{name:i,from:n,to:f}=this;return`for(${t} ${i}=${n}; ${i}<${f}; ${i}++)`+super.render(u)}get names(){let u=io(super.names,this.from);return io(u,this.to)}},uo=class extends fo{constructor(u,t,i,n){super(),this.loop=u,this.varKind=t,this.name=i,this.iterable=n}render(u){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(u)}optimizeNames(u,t){if(super.optimizeNames(u,t))return this.iterable=nn(this.iterable,u,t),this}get names(){return xi(super.names,this.iterable.names)}},N1=(()=>{class e extends Su{constructor(t,i,n){super(),this.name=t,this.args=i,this.async=n}render(t){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(t)}}return e.kind="func",e})(),q1=(()=>{class e extends lf{render(t){return"return "+super.render(t)}}return e.kind="return",e})(),Bs=class extends Su{render(u){let t="try"+super.render(u);return this.catch&&(t+=this.catch.render(u)),this.finally&&(t+=this.finally.render(u)),t}optimizeNodes(){var u,t;return super.optimizeNodes(),(u=this.catch)===null||u===void 0||u.optimizeNodes(),(t=this.finally)===null||t===void 0||t.optimizeNodes(),this}optimizeNames(u,t){var i,n;return super.optimizeNames(u,t),(i=this.catch)===null||i===void 0||i.optimizeNames(u,t),(n=this.finally)===null||n===void 0||n.optimizeNames(u,t),this}get names(){let u=super.names;return this.catch&&xi(u,this.catch.names),this.finally&&xi(u,this.finally.names),u}},V1=(()=>{class e extends Su{constructor(t){super(),this.error=t}render(t){return`catch(${this.error})`+super.render(t)}}return e.kind="catch",e})(),R1=(()=>{class e extends Su{render(t){return"finally"+super.render(t)}}return e.kind="finally",e})(),xs=class{constructor(u,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts=Se(X({},t),{_n:t.lines?`
|
|
2
2
|
`:""}),this._extScope=u,this._scope=new iu.Scope({parent:u}),this._nodes=[new Es]}toString(){return this._root.render(this.opts)}name(u){return this._scope.name(u)}scopeName(u){return this._extScope.name(u)}scopeValue(u,t){let i=this._extScope.value(u,t);return(this._values[i.prefix]||(this._values[i.prefix]=new Set)).add(i),i}getScopeValue(u,t){return this._extScope.getValue(u,t)}scopeRefs(u){return this._extScope.scopeRefs(u,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(u,t,i,n){let f=this._scope.toName(t);return i!==void 0&&n&&(this._constants[f.str]=i),this._leafNode(new ms(u,f,i)),f}const(u,t,i){return this._def(iu.varKinds.const,u,t,i)}let(u,t,i){return this._def(iu.varKinds.let,u,t,i)}var(u,t,i){return this._def(iu.varKinds.var,u,t,i)}assign(u,t,i){return this._leafNode(new to(u,t,i))}add(u,t){return this._leafNode(new Fs(u,ae.operators.ADD,t))}code(u){return typeof u=="function"?u():u!==Fe.nil&&this._leafNode(new bs(u)),this}object(...u){let t=["{"];for(let[i,n]of u)t.length>1&&t.push(","),t.push(i),(i!==n||this.opts.es5)&&(t.push(":"),(0,Fe.addCodeArg)(t,n));return t.push("}"),new Fe._Code(t)}if(u,t,i){if(this._blockNode(new eo(u)),t&&i)this.code(t).else().code(i).endIf();else if(t)this.code(t).endIf();else if(i)throw new Error('CodeGen: "else" body without "then" body');return this}elseIf(u){return this._elseNode(new eo(u))}else(){return this._elseNode(new _s)}endIf(){return this._endBlockNode(eo,_s)}_for(u,t){return this._blockNode(u),t&&this.code(t).endFor(),this}for(u,t){return this._for(new ys(u),t)}forRange(u,t,i,n,f=this.opts.es5?iu.varKinds.var:iu.varKinds.let){let r=this._scope.toName(u);return this._for(new vs(f,r,t,i),()=>n(r))}forOf(u,t,i,n=iu.varKinds.const){let f=this._scope.toName(u);if(this.opts.es5){let r=t instanceof Fe.Name?t:this.var("_arr",t);return this.forRange("_i",0,(0,Fe._)`${r}.length`,o=>{this.var(f,(0,Fe._)`${r}[${o}]`),i(f)})}return this._for(new uo("of",n,f,t),()=>i(f))}forIn(u,t,i,n=this.opts.es5?iu.varKinds.var:iu.varKinds.const){if(this.opts.ownProperties)return this.forOf(u,(0,Fe._)`Object.keys(${t})`,i);let f=this._scope.toName(u);return this._for(new uo("in",n,f,t),()=>i(f))}endFor(){return this._endBlockNode(fo)}label(u){return this._leafNode(new Cs(u))}break(u){return this._leafNode(new hs(u))}return(u){let t=new q1;if(this._blockNode(t),this.code(u),t.nodes.length!==1)throw new Error('CodeGen: "return" should have one node');return this._endBlockNode(q1)}try(u,t,i){if(!t&&!i)throw new Error('CodeGen: "try" without "catch" and "finally"');let n=new Bs;if(this._blockNode(n),this.code(u),t){let f=this.name("e");this._currNode=n.catch=new V1(f),t(f)}return i&&(this._currNode=n.finally=new R1,this.code(i)),this._endBlockNode(V1,R1)}throw(u){return this._leafNode(new gs(u))}block(u,t){return this._blockStarts.push(this._nodes.length),u&&this.code(u).endBlock(t),this}endBlock(u){let t=this._blockStarts.pop();if(t===void 0)throw new Error("CodeGen: not in self-balancing block");let i=this._nodes.length-t;if(i<0||u!==void 0&&i!==u)throw new Error(`CodeGen: wrong number of nodes: ${i} vs ${u} expected`);return this._nodes.length=t,this}func(u,t=Fe.nil,i,n){return this._blockNode(new N1(u,t,i)),n&&this.code(n).endFunc(),this}endFunc(){return this._endBlockNode(N1)}optimize(u=1){for(;u-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(u){return this._currNode.nodes.push(u),this}_blockNode(u){this._currNode.nodes.push(u),this._nodes.push(u)}_endBlockNode(u,t){let i=this._currNode;if(i instanceof u||t&&i instanceof t)return this._nodes.pop(),this;throw new Error(`CodeGen: not in block "${t?`${u.kind}/${t.kind}`:u.kind}"`)}_elseNode(u){let t=this._currNode;if(!(t instanceof eo))throw new Error('CodeGen: "else" without "if"');return this._currNode=t.else=u,this}get _root(){return this._nodes[0]}get _currNode(){let u=this._nodes;return u[u.length-1]}set _currNode(u){let t=this._nodes;t[t.length-1]=u}};ae.CodeGen=xs;function xi(e,u){for(let t in u)e[t]=(e[t]||0)+(u[t]||0);return e}function io(e,u){return u instanceof Fe._CodeOrName?xi(e,u.names):e}function nn(e,u,t){if(e instanceof Fe.Name)return i(e);if(!n(e))return e;return new Fe._Code(e._items.reduce((f,r)=>(r instanceof Fe.Name&&(r=i(r)),r instanceof Fe._Code?f.push(...r._items):f.push(r),f),[]));function i(f){let r=t[f.str];return r===void 0||u[f.str]!==1?f:(delete u[f.str],r)}function n(f){return f instanceof Fe._Code&&f._items.some(r=>r instanceof Fe.Name&&u[r.str]===1&&t[r.str]!==void 0)}}function sb(e,u){for(let t in u)e[t]=(e[t]||0)-(u[t]||0)}function L1(e){return typeof e=="boolean"||typeof e=="number"||e===null?!e:(0,Fe._)`!${ws(e)}`}ae.not=L1;var Db=z1(ae.operators.AND);function lb(...e){return e.reduce(Db)}ae.and=lb;var db=z1(ae.operators.OR);function cb(...e){return e.reduce(db)}ae.or=cb;function z1(e){return(u,t)=>u===Fe.nil?t:t===Fe.nil?u:(0,Fe._)`${ws(u)} ${e} ${ws(t)}`}function ws(e){return e instanceof Fe.Name?e:(0,Fe._)`(${e})`}});var le=F(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.checkStrictMode=De.getErrorPath=De.Type=De.useFunc=De.setEvaluated=De.evaluatedPropsToName=De.mergeEvaluated=De.eachItem=De.unescapeJsonPointer=De.escapeJsonPointer=De.escapeFragment=De.unescapeFragment=De.schemaRefOrVal=De.schemaHasRulesButRef=De.schemaHasRules=De.checkUnknownRules=De.alwaysValidSchema=De.toHash=void 0;var Ie=ee(),pb=Df();function mb(e){let u={};for(let t of e)u[t]=!0;return u}De.toHash=mb;function Fb(e,u){return typeof u=="boolean"?u:Object.keys(u).length===0?!0:(W1(e,u),!G1(u,e.self.RULES.all))}De.alwaysValidSchema=Fb;function W1(e,u=e.schema){let{opts:t,self:i}=e;if(!t.strictSchema||typeof u=="boolean")return;let n=i.RULES.keywords;for(let f in u)n[f]||X1(e,`unknown keyword: "${f}"`)}De.checkUnknownRules=W1;function G1(e,u){if(typeof e=="boolean")return!e;for(let t in e)if(u[t])return!0;return!1}De.schemaHasRules=G1;function Cb(e,u){if(typeof e=="boolean")return!e;for(let t in e)if(t!=="$ref"&&u.all[t])return!0;return!1}De.schemaHasRulesButRef=Cb;function hb({topSchemaRef:e,schemaPath:u},t,i,n){if(!n){if(typeof t=="number"||typeof t=="boolean")return t;if(typeof t=="string")return(0,Ie._)`${t}`}return(0,Ie._)`${e}${u}${(0,Ie.getProperty)(i)}`}De.schemaRefOrVal=hb;function gb(e){return K1(decodeURIComponent(e))}De.unescapeFragment=gb;function bb(e){return encodeURIComponent(Is(e))}De.escapeFragment=bb;function Is(e){return typeof e=="number"?`${e}`:e.replace(/~/g,"~0").replace(/\//g,"~1")}De.escapeJsonPointer=Is;function K1(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}De.unescapeJsonPointer=K1;function Eb(e,u){if(Array.isArray(e))for(let t of e)u(t);else u(e)}De.eachItem=Eb;function H1({mergeNames:e,mergeToName:u,mergeValues:t,resultToName:i}){return(n,f,r,o)=>{let a=r===void 0?f:r instanceof Ie.Name?(f instanceof Ie.Name?e(n,f,r):u(n,f,r),r):f instanceof Ie.Name?(u(n,r,f),f):t(f,r);return o===Ie.Name&&!(a instanceof Ie.Name)?i(n,a):a}}De.mergeEvaluated={props:H1({mergeNames:(e,u,t)=>e.if((0,Ie._)`${t} !== true && ${u} !== undefined`,()=>{e.if((0,Ie._)`${u} === true`,()=>e.assign(t,!0),()=>e.assign(t,(0,Ie._)`${t} || {}`).code((0,Ie._)`Object.assign(${t}, ${u})`))}),mergeToName:(e,u,t)=>e.if((0,Ie._)`${t} !== true`,()=>{u===!0?e.assign(t,!0):(e.assign(t,(0,Ie._)`${t} || {}`),As(e,t,u))}),mergeValues:(e,u)=>e===!0?!0:X(X({},e),u),resultToName:J1}),items:H1({mergeNames:(e,u,t)=>e.if((0,Ie._)`${t} !== true && ${u} !== undefined`,()=>e.assign(t,(0,Ie._)`${u} === true ? true : ${t} > ${u} ? ${t} : ${u}`)),mergeToName:(e,u,t)=>e.if((0,Ie._)`${t} !== true`,()=>e.assign(t,u===!0?!0:(0,Ie._)`${t} > ${u} ? ${t} : ${u}`)),mergeValues:(e,u)=>e===!0?!0:Math.max(e,u),resultToName:(e,u)=>e.var("items",u)})};function J1(e,u){if(u===!0)return e.var("props",!0);let t=e.var("props",(0,Ie._)`{}`);return u!==void 0&&As(e,t,u),t}De.evaluatedPropsToName=J1;function As(e,u,t){Object.keys(t).forEach(i=>e.assign((0,Ie._)`${u}${(0,Ie.getProperty)(i)}`,!0))}De.setEvaluated=As;var U1={};function _b(e,u){return e.scopeValue("func",{ref:u,code:U1[u.code]||(U1[u.code]=new pb._Code(u.code))})}De.useFunc=_b;var Ss=function(e){return e[e.Num=0]="Num",e[e.Str=1]="Str",e}(Ss||(De.Type=Ss={}));function yb(e,u,t){if(e instanceof Ie.Name){let i=u===Ss.Num;return t?i?(0,Ie._)`"[" + ${e} + "]"`:(0,Ie._)`"['" + ${e} + "']"`:i?(0,Ie._)`"/" + ${e}`:(0,Ie._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return t?(0,Ie.getProperty)(e).toString():"/"+Is(e)}De.getErrorPath=yb;function X1(e,u,t=e.opts.strictSchema){if(t){if(u=`strict mode: ${u}`,t===!0)throw new Error(u);e.self.logger.warn(u)}}De.checkStrictMode=X1});var Ut=F(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var lt=ee(),vb={data:new lt.Name("data"),valCxt:new lt.Name("valCxt"),instancePath:new lt.Name("instancePath"),parentData:new lt.Name("parentData"),parentDataProperty:new lt.Name("parentDataProperty"),rootData:new lt.Name("rootData"),dynamicAnchors:new lt.Name("dynamicAnchors"),vErrors:new lt.Name("vErrors"),errors:new lt.Name("errors"),this:new lt.Name("this"),self:new lt.Name("self"),scope:new lt.Name("scope"),json:new lt.Name("json"),jsonPos:new lt.Name("jsonPos"),jsonLen:new lt.Name("jsonLen"),jsonPart:new lt.Name("jsonPart")};ks.default=vb});var df=F(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.extendErrors=dt.resetErrorsCount=dt.reportExtraError=dt.reportError=dt.keyword$DataError=dt.keywordError=void 0;var ge=ee(),ro=le(),Et=Ut();dt.keywordError={message:({keyword:e})=>(0,ge.str)`must pass "${e}" keyword validation`};dt.keyword$DataError={message:({keyword:e,schemaType:u})=>u?(0,ge.str)`"${e}" keyword must be ${u} ($data)`:(0,ge.str)`"${e}" keyword is invalid ($data)`};function Bb(e,u=dt.keywordError,t,i){let{it:n}=e,{gen:f,compositeRule:r,allErrors:o}=n,a=Q1(e,u,t);i??(r||o)?Y1(f,a):Z1(n,(0,ge._)`[${a}]`)}dt.reportError=Bb;function xb(e,u=dt.keywordError,t){let{it:i}=e,{gen:n,compositeRule:f,allErrors:r}=i,o=Q1(e,u,t);Y1(n,o),f||r||Z1(i,Et.default.vErrors)}dt.reportExtraError=xb;function wb(e,u){e.assign(Et.default.errors,u),e.if((0,ge._)`${Et.default.vErrors} !== null`,()=>e.if(u,()=>e.assign((0,ge._)`${Et.default.vErrors}.length`,u),()=>e.assign(Et.default.vErrors,null)))}dt.resetErrorsCount=wb;function Sb({gen:e,keyword:u,schemaValue:t,data:i,errsCount:n,it:f}){if(n===void 0)throw new Error("ajv implementation error");let r=e.name("err");e.forRange("i",n,Et.default.errors,o=>{e.const(r,(0,ge._)`${Et.default.vErrors}[${o}]`),e.if((0,ge._)`${r}.instancePath === undefined`,()=>e.assign((0,ge._)`${r}.instancePath`,(0,ge.strConcat)(Et.default.instancePath,f.errorPath))),e.assign((0,ge._)`${r}.schemaPath`,(0,ge.str)`${f.errSchemaPath}/${u}`),f.opts.verbose&&(e.assign((0,ge._)`${r}.schema`,t),e.assign((0,ge._)`${r}.data`,i))})}dt.extendErrors=Sb;function Y1(e,u){let t=e.const("err",u);e.if((0,ge._)`${Et.default.vErrors} === null`,()=>e.assign(Et.default.vErrors,(0,ge._)`[${t}]`),(0,ge._)`${Et.default.vErrors}.push(${t})`),e.code((0,ge._)`${Et.default.errors}++`)}function Z1(e,u){let{gen:t,validateName:i,schemaEnv:n}=e;n.$async?t.throw((0,ge._)`new ${e.ValidationError}(${u})`):(t.assign((0,ge._)`${i}.errors`,u),t.return(!1))}var wi={keyword:new ge.Name("keyword"),schemaPath:new ge.Name("schemaPath"),params:new ge.Name("params"),propertyName:new ge.Name("propertyName"),message:new ge.Name("message"),schema:new ge.Name("schema"),parentSchema:new ge.Name("parentSchema")};function Q1(e,u,t){let{createErrors:i}=e.it;return i===!1?(0,ge._)`{}`:Ib(e,u,t)}function Ib(e,u,t={}){let{gen:i,it:n}=e,f=[Ab(n,t),kb(e,t)];return $b(e,u,f),i.object(...f)}function Ab({errorPath:e},{instancePath:u}){let t=u?(0,ge.str)`${e}${(0,ro.getErrorPath)(u,ro.Type.Str)}`:e;return[Et.default.instancePath,(0,ge.strConcat)(Et.default.instancePath,t)]}function kb({keyword:e,it:{errSchemaPath:u}},{schemaPath:t,parentSchema:i}){let n=i?u:(0,ge.str)`${u}/${e}`;return t&&(n=(0,ge.str)`${n}${(0,ro.getErrorPath)(t,ro.Type.Str)}`),[wi.schemaPath,n]}function $b(e,{params:u,message:t},i){let{keyword:n,data:f,schemaValue:r,it:o}=e,{opts:a,propertyName:s,topSchemaRef:D,schemaPath:d}=o;i.push([wi.keyword,n],[wi.params,typeof u=="function"?u(e):u||(0,ge._)`{}`]),a.messages&&i.push([wi.message,typeof t=="function"?t(e):t]),a.verbose&&i.push([wi.schema,r],[wi.parentSchema,(0,ge._)`${D}${d}`],[Et.default.data,f]),s&&i.push([wi.propertyName,s])}});var td=F(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});fn.boolOrEmptySchema=fn.topBoolOrEmptySchema=void 0;var Tb=df(),Pb=ee(),Ob=Ut(),Mb={message:"boolean schema is false"};function jb(e){let{gen:u,schema:t,validateName:i}=e;t===!1?ed(e,!1):typeof t=="object"&&t.$async===!0?u.return(Ob.default.data):(u.assign((0,Pb._)`${i}.errors`,null),u.return(!0))}fn.topBoolOrEmptySchema=jb;function Nb(e,u){let{gen:t,schema:i}=e;i===!1?(t.var(u,!1),ed(e)):t.var(u,!0)}fn.boolOrEmptySchema=Nb;function ed(e,u){let{gen:t,data:i}=e,n={gen:t,keyword:"false schema",data:i,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,Tb.reportError)(n,Mb,void 0,u)}});var $s=F(rn=>{"use strict";Object.defineProperty(rn,"__esModule",{value:!0});rn.getRules=rn.isJSONType=void 0;var qb=["string","number","integer","boolean","null","object","array"],Vb=new Set(qb);function Rb(e){return typeof e=="string"&&Vb.has(e)}rn.isJSONType=Rb;function Lb(){let e={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:Se(X({},e),{integer:!0,boolean:!0,null:!0}),rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}rn.getRules=Lb});var Ts=F(ei=>{"use strict";Object.defineProperty(ei,"__esModule",{value:!0});ei.shouldUseRule=ei.shouldUseGroup=ei.schemaHasRulesForType=void 0;function zb({schema:e,self:u},t){let i=u.RULES.types[t];return i&&i!==!0&&ud(e,i)}ei.schemaHasRulesForType=zb;function ud(e,u){return u.rules.some(t=>id(e,t))}ei.shouldUseGroup=ud;function id(e,u){var t;return e[u.keyword]!==void 0||((t=u.definition.implements)===null||t===void 0?void 0:t.some(i=>e[i]!==void 0))}ei.shouldUseRule=id});var cf=F(ct=>{"use strict";Object.defineProperty(ct,"__esModule",{value:!0});ct.reportTypeError=ct.checkDataTypes=ct.checkDataType=ct.coerceAndCheckDataType=ct.getJSONTypes=ct.getSchemaTypes=ct.DataType=void 0;var Hb=$s(),Ub=Ts(),Wb=df(),re=ee(),nd=le(),on=function(e){return e[e.Correct=0]="Correct",e[e.Wrong=1]="Wrong",e}(on||(ct.DataType=on={}));function Gb(e){let u=fd(e.type);if(u.includes("null")){if(e.nullable===!1)throw new Error("type: null contradicts nullable: false")}else{if(!u.length&&e.nullable!==void 0)throw new Error('"nullable" cannot be used without "type"');e.nullable===!0&&u.push("null")}return u}ct.getSchemaTypes=Gb;function fd(e){let u=Array.isArray(e)?e:e?[e]:[];if(u.every(Hb.isJSONType))return u;throw new Error("type must be JSONType or JSONType[]: "+u.join(","))}ct.getJSONTypes=fd;function Kb(e,u){let{gen:t,data:i,opts:n}=e,f=Jb(u,n.coerceTypes),r=u.length>0&&!(f.length===0&&u.length===1&&(0,Ub.schemaHasRulesForType)(e,u[0]));if(r){let o=Os(u,i,n.strictNumbers,on.Wrong);t.if(o,()=>{f.length?Xb(e,u,f):Ms(e)})}return r}ct.coerceAndCheckDataType=Kb;var rd=new Set(["string","number","integer","boolean","null"]);function Jb(e,u){return u?e.filter(t=>rd.has(t)||u==="array"&&t==="array"):[]}function Xb(e,u,t){let{gen:i,data:n,opts:f}=e,r=i.let("dataType",(0,re._)`typeof ${n}`),o=i.let("coerced",(0,re._)`undefined`);f.coerceTypes==="array"&&i.if((0,re._)`${r} == 'object' && Array.isArray(${n}) && ${n}.length == 1`,()=>i.assign(n,(0,re._)`${n}[0]`).assign(r,(0,re._)`typeof ${n}`).if(Os(u,n,f.strictNumbers),()=>i.assign(o,n))),i.if((0,re._)`${o} !== undefined`);for(let s of t)(rd.has(s)||s==="array"&&f.coerceTypes==="array")&&a(s);i.else(),Ms(e),i.endIf(),i.if((0,re._)`${o} !== undefined`,()=>{i.assign(n,o),Yb(e,o)});function a(s){switch(s){case"string":i.elseIf((0,re._)`${r} == "number" || ${r} == "boolean"`).assign(o,(0,re._)`"" + ${n}`).elseIf((0,re._)`${n} === null`).assign(o,(0,re._)`""`);return;case"number":i.elseIf((0,re._)`${r} == "boolean" || ${n} === null
|
|
3
3
|
|| (${r} == "string" && ${n} && ${n} == +${n})`).assign(o,(0,re._)`+${n}`);return;case"integer":i.elseIf((0,re._)`${r} === "boolean" || ${n} === null
|
|
4
4
|
|| (${r} === "string" && ${n} && ${n} == +${n} && !(${n} % 1))`).assign(o,(0,re._)`+${n}`);return;case"boolean":i.elseIf((0,re._)`${n} === "false" || ${n} === 0 || ${n} === null`).assign(o,!1).elseIf((0,re._)`${n} === "true" || ${n} === 1`).assign(o,!0);return;case"null":i.elseIf((0,re._)`${n} === "" || ${n} === 0 || ${n} === false`),i.assign(o,null);return;case"array":i.elseIf((0,re._)`${r} === "string" || ${r} === "number"
|
|
@@ -10,23 +10,23 @@ import{a as uu,b as Z6}from"./chunk-7TBPKYY3.js";import{a as S1}from"./chunk-2FG
|
|
|
10
10
|
Should be: [ [ object1, pointer1 ], [ object 2, pointer2 ], etc... ]`);return}return n}if(Xt(i)){for(let[r,o]of i){if(r===null||!this.isJsonPointer(o))continue;let a=f?this.getCopy(r,o):this.get(r,o);if(a)return a}return n}return console.error(`getFirst error: Input not in correct format.
|
|
11
11
|
Should be: [ [ object1, pointer1 ], [ object 2, pointer2 ], etc... ]`),n}}static getFirstCopy(i,n=null){return this.getFirst(i,n,!0)}static set(i,n,f,r=!1){let o=this.parse(n);if(o!==null&&o.length){let a=i;for(let D=0;D<o.length-1;++D){let d=o[D];d==="-"&&T(a)&&(d=a.length),Xt(a)&&a.has(d)?a=a.get(d):(A(a,d)||(a[d]=o[D+1].match(/^(\d+|-)$/)?[]:{}),a=a[d])}let s=o[o.length-1];return T(a)&&s==="-"?a.push(f):r&&T(a)&&!isNaN(+s)?a.splice(s,0,f):Xt(a)?a.set(s,f):a[s]=f,i}return console.error(`set error: Invalid JSON Pointer: ${n}`),i}static setCopy(i,n,f,r=!1){let o=this.parse(n);if(o!==null){let a=ya(i),s=a;for(let d=0;d<o.length-1;++d){let m=o[d];m==="-"&&T(s)&&(m=s.length),Xt(s)&&s.has(m)?(s.set(m,ya(s.get(m))),s=s.get(m)):(A(s,m)||(s[m]=o[d+1].match(/^(\d+|-)$/)?[]:{}),s[m]=ya(s[m]),s=s[m])}let D=o[o.length-1];return T(s)&&D==="-"?s.push(f):r&&T(s)&&!isNaN(+D)?s.splice(D,0,f):Xt(s)?s.set(D,f):s[D]=f,a}return console.error(`setCopy error: Invalid JSON Pointer: ${n}`),i}static insert(i,n,f){return this.set(i,n,f,!0)}static insertCopy(i,n,f){return this.setCopy(i,n,f,!0)}static remove(i,n){let f=this.parse(n);if(f!==null&&f.length){let r=f.pop(),o=this.get(i,f);return T(o)?(r==="-"&&(r=o.length-1),o.splice(r,1)):V(o)&&delete o[r],i}return console.error(`remove error: Invalid JSON Pointer: ${n}`),i}static has(i,n){return this.get(i,n,0,null,!0)}static dict(i){let n={};return this.forEachDeep(i,(f,r)=>{typeof f!="object"&&(n[r]=f)}),n}static forEachDeep(i,n=a=>a,f=!1,r="",o=i){if(typeof n!="function"){console.error("forEachDeep error: Iterator is not a function:",n);return}if(f||n(i,r,o),V(i)||T(i))for(let a of Object.keys(i)){let s=r+"/"+this.escape(a);this.forEachDeep(i[a],n,f,s,o)}f&&n(i,r,o)}static forEachDeepCopy(i,n=a=>a,f=!1,r="",o=i){if(typeof n!="function")return console.error("forEachDeepCopy error: Iterator is not a function:",n),null;if(V(i)||T(i)){let a=T(i)?[...i]:X({},i);f||(a=n(a,r,o));for(let s of Object.keys(a)){let D=r+"/"+this.escape(s);a[s]=this.forEachDeepCopy(a[s],n,f,D,o)}return f&&(a=n(a,r,o)),a}else return n(i,r,o)}static escape(i){return i.toString().replace(/~/g,"~0").replace(/\//g,"~1")}static unescape(i){return i.toString().replace(/~1/g,"/").replace(/~0/g,"~")}static parse(i,n=!1){if(!this.isJsonPointer(i))return n&&console.error(`parse error: Invalid JSON Pointer: ${i}`),null;if(T(i))return i;if(typeof i=="string")return i[0]==="#"&&(i=i.slice(1)),i===""||i==="/"?[]:i.slice(1).split("/").map(this.unescape)}static compile(i,n="",f=!1){if(i==="#")return"";if(!this.isJsonPointer(i))return f&&console.error(`compile error: Invalid JSON Pointer: ${i}`),null;if(T(i))return i.length===0?"":"/"+i.map(r=>r===""?n:this.escape(r)).join("/");if(typeof i=="string")return i[0]==="#"&&(i=i.slice(1)),i}static toKey(i,n=!1){let f=this.parse(i,n);return f===null?null:f.length?f[f.length-1]:""}static isJsonPointer(i){if(T(i))return i.every(n=>typeof n=="string");if(Ae(i)){if(i===""||i==="#")return!0;if(i[0]==="/"||i.slice(0,2)==="#/")return!/(~[^01]|~$)/g.test(i)}return!1}static isSubPointer(i,n,f=!1,r=!1){if(!this.isJsonPointer(i)||!this.isJsonPointer(n)){if(r){let o="";this.isJsonPointer(i)||(o+=` 1: ${i}`),this.isJsonPointer(n)||(o+=` 2: ${n}`),console.error(`isSubPointer error: Invalid JSON Pointer ${o}`)}return}return i=this.compile(i,"",r),n=this.compile(n,"",r),i===n?f:`${i}/`===n.slice(0,i.length+1)}static toIndexedPointer(i,n,f=null){if(this.isJsonPointer(i)&&T(n)){let r=this.compile(i);if(Xt(f)){let o=0;return r.replace(/\/\-(?=\/|$)/g,(a,s)=>f.has(r.slice(0,s))?"/"+n[o++]:a)}else{for(let o of n)r=r.replace("/-","/"+o);return r}}this.isJsonPointer(i)||console.error(`toIndexedPointer error: Invalid JSON Pointer: ${i}`),T(n)||console.error(`toIndexedPointer error: Invalid indexArray: ${n}`)}static toGenericPointer(i,n=new Map){if(this.isJsonPointer(i)&&Xt(n)){let f=this.parse(i);for(let r=1;r<f.length;r++){let o=this.compile(f.slice(0,r));n.has(o)&&n.get(o)<=+f[r]&&(f[r]="-")}return this.compile(f)}this.isJsonPointer(i)||console.error(`toGenericPointer error: invalid JSON Pointer: ${i}`),Xt(n)||console.error(`toGenericPointer error: invalid arrayMap: ${n}`)}static toControlPointer(i,n,f=!1){let r=this.parse(i),o=[],a=n;if(r!==null){for(let s of r)if(A(a,"controls")&&(o.push("controls"),a=a.controls),T(a)&&s==="-")o.push((a.length-1).toString()),a=a[a.length-1];else if(A(a,s))o.push(s),a=a[s];else if(f){console.error(`toControlPointer error: Unable to find "${s}" item in FormGroup.`),console.error(i),console.error(n);return}else o.push(s),a={controls:{}};return this.compile(o)}console.error(`toControlPointer error: Invalid JSON Pointer: ${i}`)}static toSchemaPointer(i,n){if(this.isJsonPointer(i)&&typeof n=="object"){let f=this.parse(i);if(!f.length)return"";let r=f.shift();if(n.type==="object"||n.properties||n.additionalProperties){if((n.properties||{})[r])return`/properties/${this.escape(r)}`+this.toSchemaPointer(f,n.properties[r]);if(n.additionalProperties)return"/additionalProperties"+this.toSchemaPointer(f,n.additionalProperties)}if((n.type==="array"||n.items)&&(We(r)||r==="-"||r==="")){let o=r==="-"||r===""?0:+r;if(T(n.items)){if(o<n.items.length)return"/items/"+o+this.toSchemaPointer(f,n.items[o]);if(n.additionalItems)return"/additionalItems"+this.toSchemaPointer(f,n.additionalItems)}else{if(V(n.items))return"/items"+this.toSchemaPointer(f,n.items);if(V(n.additionalItems))return"/additionalItems"+this.toSchemaPointer(f,n.additionalItems)}}return console.error(`toSchemaPointer error: Data pointer ${i} not compatible with schema ${n}`),null}return this.isJsonPointer(i)||console.error(`toSchemaPointer error: Invalid JSON Pointer: ${i}`),typeof n!="object"&&console.error(`toSchemaPointer error: Invalid JSON Schema: ${n}`),null}static toDataPointer(i,n,f=!1){if(this.isJsonPointer(i)&&typeof n=="object"&&this.has(n,i)){let r=this.parse(i);if(!r.length)return"";let o=r.shift();if(o==="properties"||o==="items"&&T(n.items)){let a=r.shift(),s=this.toDataPointer(r,n[o][a]);return s===null?null:"/"+a+s}else if(o==="additionalItems"||o==="items"&&V(n.items)){let a=this.toDataPointer(r,n[o]);return a===null?null:"/-"+a}else if(["allOf","anyOf","oneOf"].includes(o)){let a=r.shift();return this.toDataPointer(r,n[o][a])}else{if(o==="not")return this.toDataPointer(r,n[o]);["contains","definitions","dependencies","additionalItems","additionalProperties","patternProperties","propertyNames"].includes(o)&&f&&console.error("toDataPointer error: Ambiguous location")}return""}return f&&(this.isJsonPointer(i)||console.error(`toDataPointer error: Invalid JSON Pointer: ${i}`),typeof n!="object"&&console.error(`toDataPointer error: Invalid JSON Schema: ${n}`),typeof n!="object"&&console.error(`toDataPointer error: Pointer ${i} invalid for Schema: ${n}`)),null}static parseObjectPath(i){if(T(i))return i;if(this.isJsonPointer(i))return this.parse(i);if(typeof i=="string"){let n=0,f=[];for(;n<i.length;){let r=i.indexOf(".",n),o=i.indexOf("[",n);if(r===-1&&o===-1)f.push(i.slice(n)),n=i.length;else if(r!==-1&&(r<o||o===-1))f.push(i.slice(n,r)),n=r+1;else{o>n&&(f.push(i.slice(n,o)),n=o);let a=i.charAt(o+1);if(a==='"'||a==="'"){let s=i.indexOf(a+"]",o);for(;s!==-1&&i.charAt(s-1)==="\\";)s=i.indexOf(a+"]",s+2);s===-1&&(s=i.length),f.push(i.slice(n+2,s).replace(new RegExp("\\"+a,"g"),a)),n=s+2}else{let s=i.indexOf("]",o);s===-1&&(s=i.length),f.push(i.slice(n+1,s)),n=s+1}i.charAt(n)==="."&&n++}}return f}console.error("parseObjectPath error: Input object path must be a string.")}};u.\u0275fac=function(n){return new(n||u)},u.\u0275prov=Ot({token:u,factory:u.\u0275fac});let e=u;return e})(),kN={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^[0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s][0-2]\d:[0-5]\d(?::[0-5]\d)?(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,uri:/^(?:[a-z][a-z0-9+-.]*)(?::|\/)\/?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/\/)?[^\s]*$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,color:/^\s*(#(?:[\da-f]{3}){1,2}|rgb\((?:\d{1,3},\s*){2}\d{1,3}\)|rgba\((?:\d{1,3},\s*){3}\d*\.?\d+\)|hsl\(\d{1,3}(?:,\s*\d{1,3}%){2}\)|hsla\(\d{1,3}(?:,\s*\d{1,3}%){2},\s*\d*\.?\d+\))\s*$/gi,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$|^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,regex:function(e){if(/[^\\]\\Z/.test(e))return!1;try{return!0}catch{return!1}}},kr=class e{static required(u){switch(u===void 0&&(u=!0),u){case!0:return(t,i=!1)=>i||Q(t.value)?null:{required:!0};case!1:return e.nullValidator;default:return Q(u.value)?null:{required:!0}}}static type(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value,f=T(u)?u.some(r=>i4(n,r)):i4(n,u);return Le(f,i)?null:{type:{requiredType:u,currentValue:n}}}:e.nullValidator}static enum(u){return T(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value,f=(o,a)=>o===a||We(o)&&+a==+o||lu(o,"strict")&&di(a,"boolean")===o||o===null&&!Q(a)||(0,Du.default)(o,a),r=T(n)?n.every(o=>u.some(a=>f(a,o))):u.some(o=>f(o,n));return Le(r,i)?null:{enum:{allowedValues:u,currentValue:n}}}:e.nullValidator}static const(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value,r=((o,a)=>o===a||We(o)&&+a==+o||lu(o,"strict")&&di(a,"boolean")===o||o===null&&!Q(a))(u,n);return Le(r,i)?null:{const:{requiredValue:u,currentValue:n}}}:e.nullValidator}static minLength(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=Ae(t.value)?t.value.length:0,f=n>=u;return Le(f,i)?null:{minLength:{minimumLength:u,currentLength:n}}}:e.nullValidator}static maxLength(u){return Q(u)?(t,i=!1)=>{let n=Ae(t.value)?t.value.length:0,f=n<=u;return Le(f,i)?null:{maxLength:{maximumLength:u,currentLength:n}}}:e.nullValidator}static pattern(u,t=!1){return Q(u)?(i,n=!1)=>{if(fe(i.value))return null;let f,r;typeof u=="string"?(r=t?`^${u}$`:u,f=new RegExp(r)):(r=u.toString(),f=u);let o=i.value,a=Ae(o)?f.test(o):!1;return Le(a,n)?null:{pattern:{requiredPattern:r,currentValue:o}}}:e.nullValidator}static format(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n,f=t.value;if(Ae(f)){let r=kN[u];typeof r=="object"?n=r.test(f):typeof r=="function"?n=r(f):(console.error(`format validator error: "${u}" is not a recognized format.`),n=!0)}else n=["date","time","date-time"].includes(u)&&Object.prototype.toString.call(f)==="[object Date]";return Le(n,i)?null:{format:{requiredFormat:u,currentValue:f}}}:e.nullValidator}static minimum(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value,f=!We(n)||n>=u;return Le(f,i)?null:{minimum:{minimumValue:u,currentValue:n}}}:e.nullValidator}static exclusiveMinimum(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value,f=!We(n)||+n<u;return Le(f,i)?null:{exclusiveMinimum:{exclusiveMinimumValue:u,currentValue:n}}}:e.nullValidator}static maximum(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value,f=!We(n)||+n<=u;return Le(f,i)?null:{maximum:{maximumValue:u,currentValue:n}}}:e.nullValidator}static exclusiveMaximum(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value,f=!We(n)||+n<u;return Le(f,i)?null:{exclusiveMaximum:{exclusiveMaximumValue:u,currentValue:n}}}:e.nullValidator}static multipleOf(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value,f=We(n)&&n%u===0;return Le(f,i)?null:{multipleOf:{multipleOfValue:u,currentValue:n}}}:e.nullValidator}static minProperties(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=Object.keys(t.value).length||0,f=n>=u;return Le(f,i)?null:{minProperties:{minimumProperties:u,currentProperties:n}}}:e.nullValidator}static maxProperties(u){return Q(u)?(t,i=!1)=>{let n=Object.keys(t.value).length||0,f=n<=u;return Le(f,i)?null:{maxProperties:{maximumProperties:u,currentProperties:n}}}:e.nullValidator}static dependencies(u){return Mn(u)!=="object"||fe(u)?e.nullValidator:(t,i=!1)=>{if(fe(t.value))return null;let n=Mu(Al(u,(f,r)=>{if(!Q(t.value[r]))return null;let o={},a,s={};Mn(u[r])==="array"?a=u[r]:Mn(u[r])==="object"&&(a=u[r].required||[],s=u[r].properties||{});for(let D of a)Le(!Q(t.value[D]),i)&&(o[D]={required:!0});return o=Mu(o,Al(s,(D,d)=>{let m=Mu(Al(D,(g,C)=>{let E=null;if(g==="maximum"||g==="minimum"){let y=!!D["exclusiveM"+g.slice(1)];E=e[g](C,y)}else typeof e[g]=="function"&&(E=e[g](C));return ye(E)?E(t.value[d]):null}));return fe(m)?null:{[d]:m}})),fe(o)?null:{[r]:o}}));return fe(n)?null:n}}static minItems(u){return Q(u)?(t,i=!1)=>{if(fe(t.value))return null;let n=T(t.value)?t.value.length:0,f=n>=u;return Le(f,i)?null:{minItems:{minimumItems:u,currentItems:n}}}:e.nullValidator}static maxItems(u){return Q(u)?(t,i=!1)=>{let n=T(t.value)?t.value.length:0,f=n<=u;return Le(f,i)?null:{maxItems:{maximumItems:u,currentItems:n}}}:e.nullValidator}static uniqueItems(u=!0){return u?(t,i=!1)=>{if(fe(t.value))return null;let n=t.value.slice().sort(),f=[];for(let o=1;o<n.length;o++)n[o-1]===n[o]&&f.includes(n[o])&&f.push(n[o]);let r=!f.length;return Le(r,i)?null:{uniqueItems:{duplicateItems:f}}}:e.nullValidator}static contains(u=!0){return u?(t,i=!1)=>{if(fe(t.value)||!T(t.value))return null;let n=t.value;return Le(!0,i)?null:{contains:{requiredItem:u,currentItems:n}}}:e.nullValidator}static nullValidator(u){return null}static composeAnyOf(u){if(!u)return null;let t=u.filter(ye);return t.length===0?null:(i,n=!1)=>{let f=Ir(i,t,n).filter(ye),r=u.length>f.length;return Le(r,n)?null:Mu(...f,{anyOf:!n})}}static composeOneOf(u){if(!u)return null;let t=u.filter(ye);return t.length===0?null:(i,n=!1)=>{let f=Ir(i,t),o=u.length-f.filter(ye).length===1;if(Le(o,n))return null;let a=Ir(i,t,n);return Mu(...f,...a,{oneOf:!n})}}static composeAllOf(u){if(!u)return null;let t=u.filter(ye);return t.length===0?null:(i,n=!1)=>{let f=Il(Ir(i,t,n));return Le(f===null,n)?null:Mu(f,{allOf:!n})}}static composeNot(u){return u?(t,i=!1)=>{if(fe(t.value))return null;let n=u(t,!i);return Le(n===null,i)?null:Mu(n,{not:!i})}:null}static compose(u){if(!u)return null;let t=u.filter(ye);return t.length===0?null:(i,n=!1)=>Il(Ir(i,t,n))}static composeAsync(u){if(!u)return null;let t=u.filter(ye);return t.length===0?null:i=>{let n=gN(i,t).map(BN);return n1.call(f1(n),Il)}}static min(u){return Q(u)?t=>{if(fe(t.value)||fe(u))return null;let i=parseFloat(t.value),n=t.value;return isNaN(i)||i>=u?null:{min:{min:u,actual:n}}}:e.nullValidator}static max(u){return Q(u)?t=>{if(fe(t.value)||fe(u))return null;let i=parseFloat(t.value),n=t.value;return isNaN(i)||i<=u?null:{max:{max:u,actual:n}}}:e.nullValidator}static requiredTrue(u){return u?u.value===!0?null:{required:!0}:e.nullValidator}static email(u){return u?/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/.test(u.value)?null:{email:!0}:e.nullValidator}};function qt(...e){if(e=e.filter(t=>!fe(t)),e.some(t=>!V(t)))return null;let u={};for(let t of e)for(let i of Object.keys(t)){let n=u[i],f=t[i];if(!A(u,i)||(0,Du.default)(n,f))u[i]=f;else switch(i){case"allOf":if(T(n)&&T(f))u.allOf=qt(...n,...f);else return{allOf:[...e]};break;case"additionalItems":case"additionalProperties":case"contains":case"propertyNames":if(V(n)&&V(f))u[i]=qt(n,f);else if(i==="additionalProperties"&&(n===!1||f===!1))u.combinedSchema=!1;else return{allOf:[...e]};break;case"anyOf":case"oneOf":case"enum":if(T(n)&&T(f)){if(u[i]=n.filter(r=>f.findIndex(o=>(0,Du.default)(r,o))>-1),!u[i].length)return{allOf:[...e]}}else return{allOf:[...e]};break;case"definitions":if(V(n)&&V(f)){let r=X({},n);for(let o of Object.keys(f))if(!A(r,o)||(0,Du.default)(r[o],f[o]))r[o]=f[o];else return{allOf:[...e]};u.definitions=r}else return{allOf:[...e]};break;case"dependencies":if(V(n)&&V(f)){let r=X({},n);for(let o of Object.keys(f))if(!A(r,o)||(0,Du.default)(r[o],f[o]))r[o]=f[o];else if(T(f[o])&&T(r[o]))r[o]=ba(...r[o],...f[o]);else if((T(f[o])||V(f[o]))&&(T(r[o])||V(r[o]))){let a=T(u.required)?u.required:[],s=T(r[o])?{required:ba(...a,r[o])}:r[o],D=T(f[o])?{required:ba(...a,f[o])}:f[o];r[o]=qt(s,D)}else return{allOf:[...e]};u.dependencies=r}else return{allOf:[...e]};break;case"items":if(T(n)&&T(f)){if(u.items=n.filter(r=>f.findIndex(o=>(0,Du.default)(r,o))>-1),!u.items.length)return{allOf:[...e]}}else if(V(n)&&V(f))u.items=qt(n,f);else if(T(n)&&V(f))u.items=n.map(r=>qt(r,f));else if(V(n)&&T(f))u.items=f.map(r=>qt(r,n));else return{allOf:[...e]};break;case"multipleOf":if(We(n)&&We(f)){let r=(a,s)=>s?r(s,a%s):a,o=(a,s)=>a*s/r(a,s);u.multipleOf=o(n,f)}else return{allOf:[...e]};break;case"maximum":case"exclusiveMaximum":case"maxLength":case"maxItems":case"maxProperties":if(We(n)&&We(f))u[i]=Math.min(n,f);else return{allOf:[...e]};break;case"minimum":case"exclusiveMinimum":case"minLength":case"minItems":case"minProperties":if(We(n)&&We(f))u[i]=Math.max(n,f);else return{allOf:[...e]};break;case"not":if(V(n)&&V(f)){let r=[n,f].reduce((o,a)=>T(a.anyOf)&&Object.keys(a).length===1?[...o,...a.anyOf]:[...o,a],[]);u.not={anyOf:r}}else return{allOf:[...e]};break;case"patternProperties":if(V(n)&&V(f)){let r=X({},n);for(let o of Object.keys(f))if(!A(r,o)||(0,Du.default)(r[o],f[o]))r[o]=f[o];else if(V(f[o])&&V(r[o]))r[o]=qt(r[o],f[o]);else return{allOf:[...e]};u.patternProperties=r}else return{allOf:[...e]};break;case"properties":if(V(n)&&V(f)){let r=X({},n);A(f,"additionalProperties")&&Object.keys(n).filter(o=>!Object.keys(f).includes(o)).forEach(o=>{f.additionalProperties===!1?delete r[o]:V(f.additionalProperties)&&(r[o]=qt(r[o],f.additionalProperties))});for(let o of Object.keys(f))if((0,Du.default)(r[o],f[o])||!A(r,o)&&!A(r,"additionalProperties"))r[o]=f[o];else if(!A(r,o)&&A(r,"additionalProperties"))V(r.additionalProperties)&&(r[o]=qt(r.additionalProperties,f[o]));else if(V(f[o])&&V(r[o]))r[o]=qt(r[o],f[o]);else return{allOf:[...e]};u.properties=r}else return{allOf:[...e]};break;case"required":if(T(n)&&T(f))u.required=ba(...n,...f);else if(typeof f=="boolean"&&typeof n=="boolean")u.required=!!n||!!f;else return{allOf:[...e]};break;case"$schema":case"$id":case"id":break;case"title":case"description":case"$comment":u[i]=f;break;case"type":if((T(f)||Ae(f))&&(T(n)||Ae(n))){let r=AN(n,f);if(!r.length)return{allOf:[...e]};u.type=r.length>1?r:r[0]}else return{allOf:[...e]};break;case"uniqueItems":u.uniqueItems=!!n||!!f;break;default:return{allOf:[...e]}}}return u}function Tl(e,u=!1,t=!0){let i={},n=r=>{let o=Mn(r,"strict");return{integer:"number",null:"string"}[o]||o},f=r=>Tl(r,u,!1);if(t&&(i.$schema="http://json-schema.org/draft-06/schema#"),i.type=n(e),i.type==="object"){i.properties={},u&&(i.required=[]);for(let r of Object.keys(e))i.properties[r]=f(e[r]),u&&i.required.push(r)}else i.type==="array"&&(i.items=e.map(f),new Set(e.map(n)).size===1&&(i.items=i.items.reduce((r,o)=>X(X({},r),o),{})),u&&(i.minItems=1));return i}function $N(e,u,t="schema"){let i=P.parse(u);if(i===null)return console.error(`getFromSchema error: Invalid JSON Pointer: ${u}`),null;let n=e,f=[],r=i.length;t.slice(0,6)==="parent"&&i.length--;for(let o=0;o<r;++o){let a=n,s=i[o],D=!1;if(typeof n!="object")return console.error(`getFromSchema error: Unable to find "${s}" key in schema.`),console.error(e),console.error(u),null;if(n.type==="array"&&(!isNaN(s)||s==="-")?(A(n,"items")&&(V(n.items)?(D=!0,n=n.items,f.push("items")):T(n.items)&&!isNaN(s)&&n.items.length>=+s&&(D=!0,n=n.items[+s],f.push("items",s))),!D&&V(n.additionalItems)?(D=!0,n=n.additionalItems,f.push("additionalItems")):n.additionalItems!==!1&&(D=!0,n={},f.push("additionalItems"))):n.type==="object"&&(V(n.properties)&&A(n.properties,s)?(D=!0,n=n.properties[s],f.push("properties",s)):V(n.additionalProperties)?(D=!0,n=n.additionalProperties,f.push("additionalProperties")):n.additionalProperties!==!1&&(D=!0,n={},f.push("additionalProperties"))),!D){console.error(`getFromSchema error: Unable to find "${s}" item in schema.`),console.error(e),console.error(u);return}}return t.slice(-7)==="Pointer"?f:n}function Ft(e,u,t=new Map){if(!e)return"";let i=P.toGenericPointer(P.compile(e),t);if(i.indexOf("/")===-1)return i;let n=!0;for(;n;)n=!1,u.forEach((f,r)=>{if(P.isSubPointer(f,r))for(;P.isSubPointer(r,i,!0);)i=P.toGenericPointer(f+i.slice(r.length),t),n=!0});return i}function Pl(e,u=null){let t=P.getFirst([[e,"/x-schema-form/type"],[e,"/x-schema-form/widget/component"],[e,"/x-schema-form/widget"],[e,"/widget/component"],[e,"/widget"]]);if(Ae(t))return Ol(t,e,u);let i=e.type;if(i){if(T(i)&&(i=tt("object",i)&&A(e,"properties")?"object":tt("array",i)&&A(e,"items")||tt("array",i)&&A(e,"additionalItems")?"array":tt("string",i)?"string":tt("number",i)?"number":tt("integer",i)?"integer":tt("boolean",i)?"boolean":"unknown"),i==="boolean")return"checkbox";if(i==="object"){if(A(e,"properties")||A(e,"additionalProperties"))return"section";if(A(e,"$ref"))return"$ref"}if(i==="array"){let n=P.getFirst([[e,"/items"],[e,"/additionalItems"]])||{};return A(n,"enum")&&e.maxItems!==1?Ol("checkboxes",e,u):"array"}if(i==="null")return"none";if(P.has(u,"/options/titleMap")||A(e,"enum")||Ml(e,null,!0))return"select";if(i==="number"||i==="integer")return(i==="integer"||A(e,"multipleOf"))&&A(e,"maximum")&&A(e,"minimum")?"range":i;if(i==="string")return{color:"color",date:"date","date-time":"datetime-local",email:"email",uri:"url"}[e.format]||"text"}return A(e,"$ref")?"$ref":T(e.oneOf)||T(e.anyOf)?"one-of":(console.error(`getInputType error: Unable to determine input type for ${i}`),console.error("schema",e),u&&console.error("layoutNode",u),"none")}function Ol(e,u,t=null){return!Ae(e)||e.slice(0,8)!=="checkbox"&&e.slice(0,5)!=="radio"?e:P.getFirst([[t,"/inline"],[t,"/options/inline"],[u,"/inline"],[u,"/x-schema-form/inline"],[u,"/x-schema-form/options/inline"],[u,"/x-schema-form/widget/inline"],[u,"/x-schema-form/widget/component/inline"],[u,"/x-schema-form/widget/component/options/inline"],[u,"/widget/inline"],[u,"/widget/component/inline"],[u,"/widget/component/options/inline"]])===!0?e.slice(0,5)==="radio"?"radios-inline":"checkboxes-inline":e}function va(e,u){if(!V(e))return console.error("isInputRequired error: Input schema must be an object."),!1;let t=P.parse(u);if(T(t)){if(!t.length)return e.required===!0;let i=t.pop(),n=t[t.length-1];["properties","additionalProperties","patternProperties","items","additionalItems"].includes(n)&&t.pop();let f=P.get(e,t)||{};if(T(f.required))return f.required.includes(i);if(f.type==="array")return A(f,"minItems")&&We(i)&&+f.minItems>+i}return!1}function Ar(e,u,t){if(!V(e)||!V(e.options))return;let i={},n=f=>f.slice(0,3).toLowerCase()==="ui:"?f.slice(3):f;if(n4(i,t.formOptions.defaultWidgetOptions,[],n),[[P.get(u,"/ui:widget/options"),[]],[P.get(u,"/ui:widget"),[]],[u,["additionalProperties","additionalItems","properties","items","required","type","x-schema-form","$ref"]],[P.get(u,"/x-schema-form/options"),[]],[P.get(u,"/x-schema-form"),["items","options"]],[e,["_id","$ref","arrayItem","arrayItemType","dataPointer","dataType","items","key","name","options","recursiveReference","type","widget"]],[e.options,[]]].forEach(([f,r])=>n4(i,f,r,n)),!A(i,"titleMap")){let f=null;f=Ml(u,i.flatList),f&&(i.titleMap=f),!A(i,"titleMap")&&!A(i,"enum")&&A(u,"items")&&(P.has(u,"/items/titleMap")?i.titleMap=u.items.titleMap:P.has(u,"/items/enum")?(i.enum=u.items.enum,!A(i,"enumNames")&&P.has(u,"/items/enumNames")&&(i.enumNames=u.items.enumNames)):P.has(u,"/items/oneOf")&&(f=Ml(u.items,i.flatList),f&&(i.titleMap=f)))}u.type==="integer"&&!Q(i.multipleOf)&&(i.multipleOf=1),P.has(i,"/autocomplete/source")?i.typeahead=i.autocomplete:P.has(i,"/tagsinput/source")?i.typeahead=i.tagsinput:P.has(i,"/tagsinput/typeahead/source")&&(i.typeahead=i.tagsinput.typeahead),e.options=i}function Ml(e={},u=null,t=!1){let i=null,n=e.oneOf||e.anyOf||null;if(T(n)&&n.every(f=>f.title)){if(n.every(f=>T(f.enum)&&f.enum.length===1)){if(t)return!0;i=n.map(f=>({name:f.title,value:f.enum[0]}))}else if(n.every(f=>f.const)){if(t)return!0;i=n.map(f=>({name:f.title,value:f.const}))}if(u!==!1&&(i||[]).filter(f=>((f||{}).name||"").indexOf(": ")).length>1){let f=i.map(r=>{let[o,a]=r.name.split(/: (.+)/);return o&&a?Se(X({},r),{group:o,name:a}):r});(u===!0||f.some((r,o)=>o&&A(r,"group")&&r.group===f[o-1].group))&&(i=f)}}return t?!1:i}function TN(e){if(!V(e))return null;let u={};if(A(e,"type"))switch(e.type){case"string":kt(["pattern","format","minLength","maxLength"],t=>{A(e,t)&&(u[t]=[e[t]])});break;case"number":case"integer":kt(["Minimum","Maximum"],t=>{let i="exclusive"+t,n=t.toLowerCase();if(A(e,n)){let f=A(e,i)&&e[i]===!0;u[n]=[e[n],f]}}),kt(["multipleOf","type"],t=>{A(e,t)&&(u[t]=[e[t]])});break;case"object":kt(["minProperties","maxProperties","dependencies"],t=>{A(e,t)&&(u[t]=[e[t]])});break;case"array":kt(["minItems","maxItems","uniqueItems"],t=>{A(e,t)&&(u[t]=[e[t]])});break}return A(e,"enum")&&(u.enum=[e.enum]),u}function PN(e,u,t,i,n){if(!V(e)){console.error("resolveSchemaReferences error: schema must be an object.");return}let f=new Set,r=new Set,o=new Map,a=new Map,s={};P.forEachDeep(e,(m,g)=>{if(A(m,"$ref")&&Ae(m.$ref)){let C=P.compile(m.$ref);f.add(C),r.add(g+"~~"+C),o.set(g,C)}}),f.forEach(m=>s[m]=Ba(e,m));let D=!0;for(;D;)D=!1,Array.from(o).forEach(([m,g])=>Array.from(o).filter(([C,E])=>P.isSubPointer(g,C,!0)&&!P.isSubPointer(E,g,!0)&&!r.has(m+C.slice(g.length)+"~~"+E)).forEach(([C,E])=>{r.add(m+C.slice(g.length)+"~~"+E),D=!0}));Array.from(r).map(m=>m.split("~~")).filter(([m,g])=>P.isSubPointer(g,m)).forEach(([m,g])=>a.set(m,g)),Array.from(o).filter(([m,g])=>Array.from(a.keys()).every(C=>!P.isSubPointer(m,C,!0))).forEach(([m,g])=>Array.from(a).filter(([C,E])=>!a.has(m+C.slice(g.length))&&P.isSubPointer(g,C,!0)&&!P.isSubPointer(g,m,!0)).forEach(([C,E])=>a.set(m+C.slice(g.length),m+E.slice(g.length))));let d=X({},e);return delete d.definitions,d=Ba(d,"",s,a),P.forEachDeep(d,(m,g)=>{if(Ae(m.$ref)){let C=P.compile(m.$ref);P.isSubPointer(C,g,!0)||(C=Ft(g,a),P.set(d,g,{$ref:`#${C}`})),A(u,"refPointer")||(u[C]=C.length?Ba(d,C,u,a):d),t.has(g)||t.set(g,C);let E=P.toDataPointer(g,d);if(!i.has(E)){let y=P.toDataPointer(C,d);i.set(E,y)}}if(m.type==="array"&&(A(m,"items")||A(m,"additionalItems"))){let C=P.toDataPointer(g,d);if(!n.has(C)){let E=T(m.items)?m.items.length:0;n.set(C,E)}}},!0),d}function Ba(e,u,t=null,i=null,n=[]){if(!t||!i)return P.getCopy(e,u);typeof u!="string"&&(u=P.compile(u)),n=[...n,u];let f=null;if(u==="")f=(0,me.default)(e);else{let r=Ft(u,i);r!==u&&(n=[...n,r]),f=P.getFirstCopy([[t,[r]],[e,u],[e,r]])}return P.forEachDeepCopy(f,(r,o)=>{if(V(r)){if(Ae(r.$ref)){let a=P.compile(r.$ref);if(a.length&&n.every(s=>!P.isSubPointer(a,s,!0))){let s=Ba(e,a,t,i,n);if(Object.keys(r).length===1)return s;{let D=X({},r);return delete D.$ref,qt(s,D)}}}if(T(r.allOf))return ON(r);if(r.type==="array"&&T(r.required))return MN(r)}return r},!0,u)}function ON(e){if(!V(e)||!T(e.allOf))return e;let u=qt(...e.allOf);if(Object.keys(e).length>1){let t=X({},e);delete t.allOf,u=qt(u,t)}return u}function MN(e){if(e.type==="array"&&T(e.required)){let u=A(e.items,"properties")?"items":A(e.additionalItems,"properties")?"additionalItems":null;u&&!A(e[u],"required")&&(A(e[u],"additionalProperties")||e.required.every(t=>A(e[u].properties,t)))&&(e=(0,me.default)(e),e[u].required=e.required,delete e.required)}return e}function Pn(e,u={}){let t=u.draft||null,i=u.changed||!1;if(typeof e!="object")return e;if(typeof e.map=="function")return[...e.map(r=>Pn(r,{changed:i,draft:t}))];let n=X({},e),f=["array","boolean","integer","null","number","object","string"];if(typeof n.$schema=="string"&&/http\:\/\/json\-schema\.org\/draft\-0\d\/schema\#/.test(n.$schema)&&(t=n.$schema[30]),n.contentEncoding&&(n.media={binaryEncoding:n.contentEncoding},delete n.contentEncoding,i=!0),typeof n.extends=="object"&&(n.allOf=typeof n.extends.map=="function"?n.extends.map(r=>Pn(r,{changed:i,draft:t})):[Pn(n.extends,{changed:i,draft:t})],delete n.extends,i=!0),n.disallow&&(typeof n.disallow=="string"?n.not={type:n.disallow}:typeof n.disallow.map=="function"&&(n.not={anyOf:n.disallow.map(r=>typeof r=="object"?r:{type:r})}),delete n.disallow,i=!0),typeof n.dependencies=="object"&&Object.keys(n.dependencies).some(r=>typeof n.dependencies[r]=="string")&&(n.dependencies=X({},n.dependencies),Object.keys(n.dependencies).filter(r=>typeof n.dependencies[r]=="string").forEach(r=>n.dependencies[r]=[n.dependencies[r]]),i=!0),typeof n.maxDecimal=="number"&&(n.multipleOf=1/Math.pow(10,n.maxDecimal),delete n.divisibleBy,i=!0,(!t||t===2)&&(t=1)),typeof n.divisibleBy=="number"&&(n.multipleOf=n.divisibleBy,delete n.divisibleBy,i=!0),typeof n.minimum=="number"&&n.minimumCanEqual===!1?(n.exclusiveMinimum=n.minimum,delete n.minimum,i=!0,t||(t=2)):typeof n.minimumCanEqual=="boolean"&&(delete n.minimumCanEqual,i=!0,t||(t=2)),typeof n.minimum=="number"&&n.exclusiveMinimum===!0?(n.exclusiveMinimum=n.minimum,delete n.minimum,i=!0):typeof n.exclusiveMinimum=="boolean"&&(delete n.exclusiveMinimum,i=!0),typeof n.maximum=="number"&&n.maximumCanEqual===!1?(n.exclusiveMaximum=n.maximum,delete n.maximum,i=!0,t||(t=2)):typeof n.maximumCanEqual=="boolean"&&(delete n.maximumCanEqual,i=!0,t||(t=2)),typeof n.maximum=="number"&&n.exclusiveMaximum===!0?(n.exclusiveMaximum=n.maximum,delete n.maximum,i=!0):typeof n.exclusiveMaximum=="boolean"&&(delete n.exclusiveMaximum,i=!0),typeof n.properties=="object"){let r=X({},n.properties),o=Array.isArray(n.required)?new Set(n.required):new Set;if((t===1||t===2||Object.keys(r).some(a=>r[a].optional===!0))&&(Object.keys(r).filter(a=>r[a].optional!==!0).forEach(a=>o.add(a)),i=!0,t||(t=2)),Object.keys(r).some(a=>r[a].required===!0)&&(Object.keys(r).filter(a=>r[a].required===!0).forEach(a=>o.add(a)),i=!0),o.size&&(n.required=Array.from(o)),Object.keys(r).some(a=>r[a].requires)){let a=typeof n.dependencies=="object"?X({},n.dependencies):{};Object.keys(r).filter(s=>r[s].requires).forEach(s=>a[s]=typeof r[s].requires=="string"?[r[s].requires]:r[s].requires),n.dependencies=a,i=!0,t||(t=2)}n.properties=r}if(typeof n.optional=="boolean"&&(delete n.optional,i=!0,t||(t=2)),n.requires&&delete n.requires,typeof n.required=="boolean"&&delete n.required,typeof n.id=="string"&&!n.$id&&(n.id.slice(-1)==="#"&&(n.id=n.id.slice(0,-1)),n.$id=n.id+"-CONVERTED-TO-DRAFT-06#",delete n.id,i=!0),n.type&&(typeof n.type.every=="function"?!n.type.every(r=>f.includes(r)):!f.includes(n.type))&&(i=!0),typeof n.$schema=="string"&&/http\:\/\/json\-schema\.org\/draft\-0[1-4]\/schema\#/.test(n.$schema))n.$schema="http://json-schema.org/draft-06/schema#",i=!0;else if(i&&typeof n.$schema=="string"){let r="Converted to draft 6 from "+n.$schema;typeof n.description=="string"&&n.description.length?n.description+=`
|
|
12
12
|
`+r:n.description=r,delete n.$schema}if(n.type&&(typeof n.type.every=="function"?!n.type.every(r=>f.includes(r)):!f.includes(n.type)))if(n.type.length===1&&(n.type=n.type[0]),typeof n.type=="string")n.type==="any"?n.type=f:delete n.type;else if(typeof n.type=="object"){if(typeof n.type.every=="function")if(n.type.every(r=>typeof r=="string"))n.type=n.type.some(r=>r==="any")?n.type=f:n.type.filter(r=>f.includes(r));else if(n.type.length>1){let r=["additionalItems","items","maxItems","minItems","uniqueItems","contains"],o=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum"],a=["maxProperties","minProperties","required","additionalProperties","properties","patternProperties","dependencies","propertyNames"],s=["maxLength","minLength","pattern","format"],D={array:[...o,...a,...s],integer:[...r,...a,...s],number:[...r,...a,...s],object:[...r,...o,...s],string:[...r,...o,...a],all:[...r,...o,...a,...s]},d=[];for(let m of n.type){let g=typeof m=="string"?{type:m}:X({},m);Object.keys(n).filter(C=>!g.hasOwnProperty(C)&&![...D[g.type]||D.all,"type","default"].includes(C)).forEach(C=>g[C]=n[C]),d.push(g)}n=n.hasOwnProperty("default")?{anyOf:d,default:n.default}:{anyOf:d}}else{let r=n.type;delete n.type,Object.assign(n,r)}}else delete n.type;return Object.keys(n).filter(r=>typeof n[r]=="object").forEach(r=>{if(["definitions","dependencies","properties","patternProperties"].includes(r)&&typeof n[r].map!="function"){let o={};Object.keys(n[r]).forEach(a=>o[a]=Pn(n[r][a],{changed:i,draft:t})),n[r]=o}else["items","additionalItems","additionalProperties","allOf","anyOf","oneOf","not"].includes(r)?n[r]=Pn(n[r],{changed:i,draft:t}):n[r]=(0,me.default)(n[r])}),n}function li(e,u=null,t=!0,i="",n="",f=""){let r=P.get(e.schema,i);t?!ye(u)&&(e.formOptions.setSchemaDefaults===!0||e.formOptions.setSchemaDefaults==="auto"&&fe(e.formValues))&&(u=P.get(e.schema,i+"/default")):u=null;let o=P.get(r,"/type"),a=(A(r,"properties")||A(r,"additionalProperties"))&&o==="object"?"FormGroup":(A(r,"items")||A(r,"additionalItems"))&&o==="array"?"FormArray":!o&&A(r,"$ref")?"$ref":"FormControl",s=Ft(n,e.dataRecursiveRefMap,e.arrayMap);e.dataMap.has(s)||e.dataMap.set(s,new Map);let D=e.dataMap.get(s);D.has("schemaType")||(D.set("schemaPointer",i),D.set("schemaType",r.type),r.format&&(D.set("schemaFormat",r.format),r.type||D.set("schemaType","string")),a&&(D.set("templatePointer",f),D.set("templateType",a)));let d,m=TN(r);switch(a){case"FormGroup":if(d={},A(r,"ui:order")||A(r,"properties")){let L=r["ui:order"]||Object.keys(r.properties);if(L.includes("*")&&!A(r.properties,"*")){let O=Object.keys(r.properties).filter(oe=>!L.includes(oe));for(let oe=L.length-1;oe>=0;oe--)L[oe]==="*"&&L.splice(oe,1,...O)}L.filter(O=>A(r.properties,O)||A(r,"additionalProperties")).forEach(O=>d[O]=li(e,P.get(u,[O]),t,i+(A(r.properties,O)?"/properties/"+O:"/additionalProperties"),n+"/"+O,f+"/controls/"+O)),e.formOptions.fieldsRequired=jN(r,d)}return{controlType:a,controls:d,validators:m};case"FormArray":d=[];let g=Math.max(r.minItems||0,D.get("minItems")||0),C=Math.min(r.maxItems||1e3,D.get("maxItems")||1e3),E=null;if(T(r.items)){let L=D.get("tupleItems")||(T(r.items)?Math.min(r.items.length,C):0);for(let O=0;O<L;O++)if(O<g)d.push(li(e,T(u)?u[O]:u,t,i+"/items/"+O,n+"/"+O,f+"/controls/"+O));else{let oe=Ft(i+"/items/"+O,e.schemaRecursiveRefMap),we=Ft(s+"/"+O,e.dataRecursiveRefMap,e.arrayMap),Tt=we!==s+"/"+O;A(e.templateRefLibrary,we)||(e.templateRefLibrary[we]=null,e.templateRefLibrary[we]=li(e,null,t,oe,we,f+"/controls/"+O)),d.push(T(u)?li(e,u[O],t,i+"/items/"+O,n+"/"+O,f+"/controls/"+O):Tt?null:(0,me.default)(e.templateRefLibrary[we]))}r.items.length<C&&V(r.additionalItems)&&(E=i+"/additionalItems")}else E=i+"/items";if(E){let L=Ft(E,e.schemaRecursiveRefMap),O=Ft(s+"/-",e.dataRecursiveRefMap,e.arrayMap),oe=O!==s+"/-";A(e.templateRefLibrary,O)||(e.templateRefLibrary[O]=null,e.templateRefLibrary[O]=li(e,null,t,L,O,f+"/controls/-"));let we=D;if(!oe||A(m,"required")){let Tt=Math.min(Math.max(oe?0:we.get("tupleItems")+we.get("listItems")||0,T(u)?u.length:0),C);for(let Je=d.length;Je<Tt;Je++)d.push(T(u)?li(e,u[Je],t,L,n+"/-",f+"/controls/-"):oe?null:(0,me.default)(e.templateRefLibrary[O]))}}return{controlType:a,controls:d,validators:m};case"$ref":let y=P.compile(r.$ref),k=P.toDataPointer(y,r),$=Ft(k,e.dataRecursiveRefMap,e.arrayMap);if($&&!A(e.templateRefLibrary,$)){e.templateRefLibrary[$]=null;let L=li(e,t,t,y);L?e.templateRefLibrary[$]=L:delete e.templateRefLibrary[$]}return null;case"FormControl":let R={value:t&&bN(u)?u:null,disabled:D.get("disabled")||!1};return{controlType:a,value:R,validators:m};default:return null}}function $r(e){let u=[],t=null;if(A(e,"validators")&&(kt(e.validators,(i,n)=>{typeof kr[n]=="function"&&u.push(kr[n].apply(null,i))}),u.length&&tt(e.controlType,["FormGroup","FormArray"])&&(t=u.length>1?kr.compose(u):u[0])),A(e,"controlType"))switch(e.controlType){case"FormGroup":let i={};return kt(e.controls,(n,f)=>{let r=$r(n);r&&(i[f]=r)}),new y1(i,t);case"FormArray":return new w1((0,r4.default)((0,o4.default)(e.controls,n=>$r(n))),t);case"FormControl":return new B1(e.value,u)}return null}function jN(e,u){let t=!1;if(A(e,"required")&&!fe(e.required)){t=!0;let i=T(e.required)?e.required:[e.required];i=kt(i,n=>P.set(u,"/"+n+"/validators/required",[]))}return t}function NN(e,u,t,i,n=!1,f=!1){if(e===null||typeof e!="object")return e;let r=T(e)?[]:{};return P.forEachDeep(e,(o,a)=>{if(n&&T(o))P.set(r,a,[]);else if(n&&V(o)&&!jn(o))P.set(r,a,{});else{let s=P.has(u,[a,"schemaType"])?a:Ft(a,t,i);if(P.has(u,[s,"schemaType"])){let D=u.get(s).get("schemaType");if(D==="null")P.set(r,a,null);else if((Q(o)||n)&&tt(D,["string","integer","number","boolean"])){let d=f||o===null&&n?_N(o,D):di(o,D);(ye(d)||n)&&P.set(r,a,d)}}else(typeof o!="object"||jn(o)||o===null&&n)&&(console.error(`formatFormData error: Schema type not found for form value at ${s}`),console.error("dataMap",u),console.error("recursiveRefMap",t),console.error("genericPointer",s))}}),r}function Ea(e,u,t=!1){if(!V(e)||!P.isJsonPointer(u)){if(!P.isJsonPointer(u)){if(typeof u=="string"){let f=e.get(u);if(f)return f}console.error(`getControl error: Invalid JSON Pointer: ${u}`)}return V(e)||console.error(`getControl error: Invalid formGroup: ${e}`),null}let i=P.parse(u);if(t&&(i=i.slice(0,-1)),typeof e.get=="function"&&i.every(f=>f.indexOf(".")===-1)){let f=e.get(i.join("."));if(f)return f}let n=e;for(let f of i)if(A(n,"controls")&&(n=n.controls),T(n)&&f==="-")n=n[n.length-1];else if(A(n,f))n=n[f];else{console.error(`getControl error: Unable to find "${f}" item in FormGroup.`),console.error(u),console.error(e);return}return n}function qN(e,u){let t=!P.get(e,"/formOptions/addSubmit"),i=l4(e.layout,(n,f,r)=>{let o={_id:(0,ju.default)(),options:{}};if(V(n))Object.assign(o,n),Object.keys(o).filter(s=>!tt(s,["_id","$ref","arrayItem","arrayItemType","dataPointer","dataType","items","key","name","options","recursiveReference","type","widget"])).forEach(s=>{o.options[s]=o[s],delete o[s]}),!A(o,"type")&&Ae(o.widget)&&(o.type=o.widget,delete o.widget),A(o.options,"title")||A(o.options,"legend")&&(o.options.title=o.options.legend,delete o.options.legend),A(o.options,"validationMessages")||(A(o.options,"errorMessages")?(o.options.validationMessages=o.options.errorMessages,delete o.options.errorMessages):A(o.options,"validationMessage")&&(typeof o.options.validationMessage=="string"?o.options.validationMessages=o.options.validationMessage:(o.options.validationMessages={},Object.keys(o.options.validationMessage).forEach(s=>{let D=s+"",d=D==="0"?"type":D==="1"?"enum":D==="100"?"multipleOf":D==="101"?"minimum":D==="102"?"exclusiveMinimum":D==="103"?"maximum":D==="104"?"exclusiveMaximum":D==="200"?"minLength":D==="201"?"maxLength":D==="202"?"pattern":D==="300"?"minProperties":D==="301"?"maxProperties":D==="302"?"required":D==="304"?"dependencies":D==="400"?"minItems":D==="401"?"maxItems":D==="402"?"uniqueItems":D==="500"?"format":D+"";o.options.validationMessages[d]=o.options.validationMessage[s]})),delete o.options.validationMessage));else if(P.isJsonPointer(n))o.dataPointer=n;else if(Ae(n))o.key=n;else return console.error("buildLayout error: Form layout element not recognized:"),console.error(n),null;let a=null;if(!A(o,"dataPointer")){if(A(o,"key"))o.dataPointer=o.key==="*"?o.key:P.compile(P.parseObjectPath(o.key),"-"),delete o.key;else if(A(o,"type")&&o.type.slice(-5)==="array"){let s=d=>{if(!(d===null||typeof d!="object")){if(A(d,"dataPointer"))return d.dataPointer;if(T(d.items))for(let m of d.items){if(A(m,"dataPointer")&&m.dataPointer.indexOf("/-")!==-1)return m.dataPointer;if(A(m,"items")){let g=s(m);if(g)return g}}}},D=s(o);D&&(o.dataPointer=D.slice(0,D.lastIndexOf("/-")))}}if(A(o,"dataPointer")){if(o.dataPointer==="*")return Ri(e,u,e.formValues);let s=P.get(e.formValues,o.dataPointer.replace(/\/-/g,"/1"));o.dataPointer=P.toGenericPointer(o.dataPointer,e.arrayMap);let D=P.toKey(o.dataPointer);!o.name&&Ae(D)&&D!=="-"&&(o.name=D);let d=Ft(o.dataPointer,e.dataRecursiveRefMap,e.arrayMap),m=!d.length||d!==o.dataPointer,g;e.dataMap.has(d)||e.dataMap.set(d,new Map);let C=e.dataMap.get(d);if(C.has("schemaPointer")?g=C.get("schemaPointer"):(g=P.toSchemaPointer(d,e.schema),C.set("schemaPointer",g)),C.set("disabled",!!o.options.disabled),a=P.get(e.schema,g),a){if(!A(o,"type"))o.type=Pl(a,o);else if(u.hasWidget(o.type))o.type=Ol(o.type,a,o);else{let E=o.type;o.type=Pl(a,o),console.error(`error: widget type "${E}" not found in library. Replacing with "${o.type}".`)}a.type==="object"&&T(a.required)&&C.set("required",a.required),o.dataType=a.type||(A(a,"$ref")?"$ref":null),Ar(o,a,e),o.type==="checkboxes"&&A(a,"items")?Ar(o,a.items,e):o.dataType==="array"&&(o.options.maxItems=Math.min(a.maxItems||1e3,o.options.maxItems||1e3),o.options.minItems=Math.max(a.minItems||0,o.options.minItems||0),o.options.listItems=Math.max(o.options.listItems||0,T(s)?s.length:0),o.options.tupleItems=T(a.items)?a.items.length:0,o.options.maxItems<o.options.tupleItems?(o.options.tupleItems=o.options.maxItems,o.options.listItems=0):o.options.maxItems<o.options.tupleItems+o.options.listItems?o.options.listItems=o.options.maxItems-o.options.tupleItems:o.options.minItems>o.options.tupleItems+o.options.listItems&&(o.options.listItems=o.options.minItems-o.options.tupleItems),C.has("maxItems")||(C.set("maxItems",o.options.maxItems),C.set("minItems",o.options.minItems),C.set("tupleItems",o.options.tupleItems),C.set("listItems",o.options.listItems)),e.arrayMap.has(d)||e.arrayMap.set(d,o.options.tupleItems)),va(e.schema,g)&&(o.options.required=!0,e.fieldsRequired=!0)}else Ar(o,{},e);if(!o.options.title&&!/^\d+$/.test(o.name)&&(o.options.title=Nu(o.name)),A(o.options,"copyValueTo")&&(typeof o.options.copyValueTo=="string"&&(o.options.copyValueTo=[o.options.copyValueTo]),T(o.options.copyValueTo)&&(o.options.copyValueTo=o.options.copyValueTo.map(E=>P.compile(P.parseObjectPath(E),"-")))),o.widget=u.getWidget(o.type),C.set("inputType",o.type),C.set("widget",o.widget),o.dataType==="array"&&(A(o,"items")||A(o,"additionalItems"))){let E=Ft(o.dataPointer+"/-",e.dataRecursiveRefMap,e.arrayMap);if(e.dataMap.has(E)||e.dataMap.set(E,new Map),e.dataMap.get(E).set("inputType","section"),o.items.length>1){let y=[];for(let k=o.items.length-1;k>=0;k--){let $=o.items[k];if(A($,"dataPointer")&&$.dataPointer.slice(0,E.length)===E){let R=o.items.splice(k,1)[0];R.dataPointer=o.dataPointer+"/-"+R.dataPointer.slice(E.length),y.unshift(R)}else $.arrayItem=!0,$.arrayItemType="list",$.removable=o.options.removable!==!1}y.length&&o.items.push({_id:(0,ju.default)(),arrayItem:!0,arrayItemType:o.options.tupleItems>o.items.length?"tuple":"list",items:y,options:{removable:o.options.removable!==!1},dataPointer:o.dataPointer+"/-",type:"section",widget:u.getWidget("section")})}else o.items[0].arrayItem=!0,o.items[0].dataPointer||(o.items[0].dataPointer=P.toGenericPointer(E,e.arrayMap)),P.has(o,"/items/0/options/removable")||(o.items[0].options.removable=!0),o.options.orderable===!1&&(o.items[0].options.orderable=!1),o.items[0].arrayItemType=o.options.tupleItems?"tuple":"list";if(T(o.items)){let y=o.items.filter(k=>k.type!=="$ref").length-o.options.tupleItems;y>o.options.listItems&&(o.options.listItems=y,C.set("listItems",y))}if(A(e.layoutRefLibrary,E)||(e.layoutRefLibrary[E]=(0,me.default)(o.items[o.items.length-1]),m&&(e.layoutRefLibrary[E].recursiveReference=!0),kt(e.layoutRefLibrary[E],(y,k)=>{A(y,"_id")&&(y._id=null),m&&A(y,"dataPointer")&&(y.dataPointer=y.dataPointer.slice(E.length))},"top-down")),!o.recursiveReference||o.options.required){let y=Math.min(Math.max(o.options.tupleItems+o.options.listItems,T(s)?s.length:0),o.options.maxItems);for(let k=o.items.length;k<y;k++)o.items.push(wa({$ref:E,dataPointer:o.dataPointer,recursiveReference:o.recursiveReference},e,u))}if(o.options.addable!==!1&&o.options.minItems<o.options.maxItems&&(o.items[o.items.length-1]||{}).type!=="$ref"){let y="Add";if(o.options.title)/^add\b/i.test(o.options.title)?y=o.options.title:y+=" "+o.options.title;else if(o.name&&!/^\d+$/.test(o.name))/^add\b/i.test(o.name)?y+=" "+Nu(o.name):y=Nu(o.name);else{let k=$N(e.schema,o.dataPointer,"parentSchema");if(A(k,"title"))y+=" to "+k.title;else{let $=P.parse(o.dataPointer);y+=" to "+Nu($[$.length-2])}}o.items.push({_id:(0,ju.default)(),arrayItem:!0,arrayItemType:"list",dataPointer:o.dataPointer+"/-",options:{listItems:o.options.listItems,maxItems:o.options.maxItems,minItems:o.options.minItems,removable:!1,title:y,tupleItems:o.options.tupleItems},recursiveReference:m,type:"$ref",widget:u.getWidget("$ref"),$ref:E}),Ae(P.get(o,"/style/add"))&&(o.items[o.items.length-1].options.fieldStyle=o.style.add,delete o.style.add,fe(o.style)&&delete o.style)}}else o.arrayItem=!1}else if(A(o,"type")||A(o,"items")){let s=P.get(e.layout,r,0,-2).type;A(o,"type")||(o.type=tt(s,["tabs","tabarray"])?"tab":"array"),o.arrayItem=s==="array",o.widget=u.getWidget(o.type),Ar(o,{},e)}return o.type==="submit"&&(t=!0),o});if(e.hasRootReference){let n=(0,me.default)(i);n[n.length-1].type==="submit"&&n.pop(),e.layoutRefLibrary[""]={_id:null,dataPointer:"",dataType:"object",items:n,name:"",options:(0,me.default)(e.formOptions.defaultWidgetOptions),recursiveReference:!0,required:!1,type:"section",widget:u.getWidget("section")}}return t||i.push({_id:(0,ju.default)(),options:{title:"Submit"},type:"submit",widget:u.getWidget("submit")}),i}function VN(e,u){let t=qN(e,u);if(e.formValues){let i=RN({builtLayout:t,formData:e.formValues})}return t}function RN(e){let{builtLayout:u,formData:t}=e,i={},n=function(s,D,d){if((0,_a.default)(s)){d&&d(s,D),s.forEach((m,g)=>{d&&d(m,D+"/"+g),n(m,D+"/"+g,d)});return}if((0,a4.default)(s)){d&&d(s,D),Object.keys(s).forEach(m=>{d&&d(s[m],D+"/"+m),n(s[m],D+"/"+m,d)});return}};n(t,"",(s,D)=>{(0,_a.default)(s)&&(i[D]=i[D]||s.length)});let f=s=>{let{data:D,dataPointer:d,indexArray:m}=s,g=0,C=d.substring(1).split("/").map((y,k)=>y=="-"&&m[g]!=null?m[g++]:y).join("/");return C="/"+C,i[C]},r=s=>{let D={type:"section",recursiveReference:!1,items:[]};return(0,me.default)(s)},o=s=>{let{builtLayout:D,indices:d,parentDataPointer:m,indexPos:g}=s;if(d=d||[],g=g??(g=-1),(0,_a.default)(D)){D.forEach((E,y)=>{o({builtLayout:E,indices:d,indexPos:g,parentDataPointer:m})});return}let C=["array"];if(D.items&&C.indexOf(D.dataType)>=0&&D.dataPointer&&!D.recursiveReference){let E=f({data:t,dataPointer:D.dataPointer,indexArray:d}),y=D.items.length;if(D.items.forEach(k=>{k.type&&k.type=="$ref"&&y--}),y=Math.max(y,0),y<E){let k=E-y;y==0&&D.items[0].recursiveReference&&(k=0);for(let $=0;$<k;$++){let L=D.items[0].type&&D.items[0].type=="$ref"?r(D.items[0]):(0,me.default)(D.items[0]);L._id=(0,ju.default)("new_"),D.items.unshift(L)}D.options.listItems&&(D.options.listItems=E)}d[D.dataPointer]=d[D.dataPointer]||-1,g++,D.items.forEach((k,$)=>{d[g]=$,o({builtLayout:k,indices:d,parentDataPointer:D.dataPointer,indexPos:g})}),g--}else D.items&&D.items.forEach((E,y)=>{o({builtLayout:E,indices:d,parentDataPointer:m,indexPos:g})})};return o({builtLayout:u}),u}function Ri(e,u,t=null,i="",n="",f=!1,r=null,o=null,a=!1,s=""){let D=P.get(e.schema,i);if(!A(D,"type")&&!A(D,"$ref")&&!A(D,"x-schema-form"))return null;let d=Pl(D);!ye(t)&&(e.formOptions.setSchemaDefaults===!0||e.formOptions.setSchemaDefaults==="auto"&&fe(e.formValues))&&(t=P.get(e.schema,i+"/default"));let m={_id:a?null:(0,ju.default)(),arrayItem:f,dataPointer:P.toGenericPointer(n,e.arrayMap),dataType:D.type||(A(D,"$ref")?"$ref":null),options:{},required:va(e.schema,i),type:d,widget:u.getWidget(d)},g=P.toKey(m.dataPointer);g!=="-"&&(m.name=g),m.arrayItem&&(m.arrayItemType=r,m.options.removable=o!==!1);let C=Ft(s+n,e.dataRecursiveRefMap,e.arrayMap),E=!C.length||C!==s+n;e.dataMap.has(C)||e.dataMap.set(C,new Map);let y=e.dataMap.get(C);if(y.has("inputType")||(y.set("schemaPointer",i),y.set("inputType",m.type),y.set("widget",m.widget),y.set("disabled",!!m.options.disabled)),Ar(m,D,e),!m.options.title&&m.name&&!/^\d+$/.test(m.name)&&(m.options.title=Nu(m.name)),m.dataType==="object"){if(T(D.required)&&!y.has("required")&&y.set("required",D.required),V(D.properties)){let k=[],$=D["ui:order"]||Object.keys(D.properties);if($.includes("*")&&!A(D.properties,"*")){let R=Object.keys(D.properties).filter(L=>!$.includes(L));for(let L=$.length-1;L>=0;L--)$[L]==="*"&&$.splice(L,1,...R)}$.filter(R=>A(D.properties,R)||A(D,"additionalProperties")).forEach(R=>{let L=A(D.properties,R)?"/properties/"+R:"/additionalProperties",O=Ri(e,u,V(t)?t[R]:null,i+L,n+"/"+R,!1,null,null,a,s);O&&(va(D,"/"+R)&&(O.options.required=!0,e.fieldsRequired=!0),k.push(O))}),n===""&&!a?m=k:m.items=k}}else if(m.dataType==="array"){m.items=[],m.options.maxItems=Math.min(D.maxItems||1e3,m.options.maxItems||1e3),m.options.minItems=Math.max(D.minItems||0,m.options.minItems||0),!m.options.minItems&&va(e.schema,i)&&(m.options.minItems=1),A(m.options,"listItems")||(m.options.listItems=1),m.options.tupleItems=T(D.items)?D.items.length:0,m.options.maxItems<=m.options.tupleItems?(m.options.tupleItems=m.options.maxItems,m.options.listItems=0):m.options.maxItems<m.options.tupleItems+m.options.listItems?m.options.listItems=m.options.maxItems-m.options.tupleItems:m.options.minItems>m.options.tupleItems+m.options.listItems&&(m.options.listItems=m.options.minItems-m.options.tupleItems),y.has("maxItems")||(y.set("maxItems",m.options.maxItems),y.set("minItems",m.options.minItems),y.set("tupleItems",m.options.tupleItems),y.set("listItems",m.options.listItems)),e.arrayMap.has(C)||e.arrayMap.set(C,m.options.tupleItems),o=m.options.removable!==!1;let k=null;if(T(D.items)){m.items=[];for(let $=0;$<m.options.tupleItems;$++){let R,L=Ft(C+"/"+$,e.dataRecursiveRefMap,e.arrayMap),O=!L.length||L!==C+"/"+$;o&&$>=m.options.minItems?(A(e.layoutRefLibrary,L)||(e.layoutRefLibrary[L]=null,e.layoutRefLibrary[L]=Ri(e,u,T(t)?t[$]:null,i+"/items/"+$,O?"":n+"/"+$,!0,"tuple",!0,!0,O?n+"/"+$:""),O&&(e.layoutRefLibrary[L].recursiveReference=!0)),R=wa({$ref:L,dataPointer:n+"/"+$,recursiveReference:O},e,u,T(t)?t[$]:null)):R=Ri(e,u,T(t)?t[$]:null,i+"/items/"+$,n+"/"+$,!0,"tuple",!1,a,s),R&&m.items.push(R)}V(D.additionalItems)&&(k=i+"/additionalItems")}else V(D.items)&&(k=i+"/items");if(k){let $=Ft(C+"/-",e.dataRecursiveRefMap,e.arrayMap),R=!$.length||$!==C+"/-",L=Ft(k,e.schemaRecursiveRefMap,e.arrayMap);if($.length&&!A(e.layoutRefLibrary,$)&&(e.layoutRefLibrary[$]=null,e.layoutRefLibrary[$]=Ri(e,u,null,L,R?"":n+"/-",!0,"list",o,!0,R?n+"/-":""),R&&(e.layoutRefLibrary[$].recursiveReference=!0)),!R||m.options.required){let O=Math.min(Math.max(R?0:m.options.tupleItems+m.options.listItems,T(t)?t.length:0),m.options.maxItems);if(m.items.length<O)for(let oe=m.items.length;oe<O;oe++)m.items.push(wa({$ref:$,dataPointer:n+"/-",recursiveReference:R},e,u,T(t)?t[oe]:null))}if(m.options.addable!==!1&&m.options.minItems<m.options.maxItems&&(m.items[m.items.length-1]||{}).type!=="$ref"){let O=((e.layoutRefLibrary[$]||{}).options||{}).title,oe=O?"Add ":"Add to ";O||(O=D.title||Nu(P.toKey(n))),/^add\b/i.test(O)||(O=oe+O),m.items.push({_id:(0,ju.default)(),arrayItem:!0,arrayItemType:"list",dataPointer:m.dataPointer+"/-",options:{listItems:m.options.listItems,maxItems:m.options.maxItems,minItems:m.options.minItems,removable:!1,title:O,tupleItems:m.options.tupleItems},recursiveReference:R,type:"$ref",widget:u.getWidget("$ref"),$ref:$})}}}else if(m.dataType==="$ref"){let k=P.compile(D.$ref),$=P.toDataPointer(k,e.schema),R="";if(m.options.add)R=m.options.add;else if(m.name&&!/^\d+$/.test(m.name))R=(/^add\b/i.test(m.name)?"":"Add ")+Nu(m.name);else{let L=P.get(e.schema,i,0,-1);if(A(L,"title"))R="Add to "+L.title;else{let O=P.parse(m.dataPointer);R="Add to "+Nu(O[O.length-2])}}if(Object.assign(m,{recursiveReference:!0,widget:u.getWidget("$ref"),$ref:$}),Object.assign(m.options,{removable:!1,title:R}),We(P.get(e.schema,i,0,-1).maxItems)&&(m.options.maxItems=P.get(e.schema,i,0,-1).maxItems),$.length)if(A(e.layoutRefLibrary,$))e.layoutRefLibrary[$].recursiveReference||(e.layoutRefLibrary[$].recursiveReference=!0);else{e.layoutRefLibrary[$]=null;let L=Ri(e,u,null,k,"",m.arrayItem,m.arrayItemType,!0,!0,n);L?(L.recursiveReference=!0,e.layoutRefLibrary[$]=L):delete e.layoutRefLibrary[$]}}return m}function l4(e,u,t="",i=e){let n=0,f=[];return kt(e,(r,o)=>{let a=+o+n,s=t+"/"+a,D=ya(r),d=[];V(r)&&(A(r,"tabs")&&(r.items=r.tabs,delete r.tabs),A(r,"items")&&(d=T(r.items)?r.items:[r.items])),d.length&&(D.items=l4(d,u,s+"/items",i)),D=u(D,a,s,i),ye(D)?(T(D)&&(n+=D.length-1),f=f.concat(D)):n--}),f}function wa(e,u,t=null,i=null){if(e.recursiveReference&&t){let n=(0,me.default)(e);return n.options||(n.options={}),Object.assign(n,{recursiveReference:!0,widget:t.getWidget("$ref")}),Object.assign(n.options,{removable:!1,title:"Add "+n.$ref}),n}else{let n=u.layoutRefLibrary[e.$ref];return ye(i)?n=Ri(u,t,i,P.toSchemaPointer(e.$ref,u.schema),e.$ref,n.arrayItem,n.arrayItemType,n.options.removable,!1):(n=(0,me.default)(n),P.forEachDeep(n,(f,r)=>{A(f,"_id")&&(f._id=(0,ju.default)()),e.recursiveReference&&A(f,"dataPointer")&&(f.dataPointer=e.dataPointer+f.dataPointer)})),n}}function Vl(e,u,t=!0,i=!0){let n=[],f=!1;if(e)if(T(e))if(u){for(let r of Object.keys(e))if(V(e[r])){let o=e[r].value;if(u.includes(o)){let a=e[r].name;n.push({name:a,value:o}),o==null&&(f=!0)}}else if(Ae(e[r])&&r<u.length){let o=e[r],a=u[r];n.push({name:o,value:a}),a==null&&(f=!0)}}else n=e,t||(f=!!n.filter(r=>r.value===void 0||r.value===null).length);else if(u)for(let r of Object.keys(u)){let o=u[r];if(A(e,o)){let a=e[o];n.push({name:a,value:o}),o==null&&(f=!0)}}else for(let r of Object.keys(e)){let o=e[r];n.push({name:o,value:r}),r==null&&(f=!0)}else if(u)for(let r of Object.keys(u)){let o=u[r],a=u[r];n.push({name:o,value:a}),a==null&&(f=!0)}else n=[{name:"True",value:!0},{name:"False",value:!1}];return n.some(r=>A(r,"group"))&&(f=!1,i?n=n.reduce((r,o)=>(A(o,"group")?(T(o.items)&&(r=[...r,...o.items.map(a=>Se(X({},a),{name:`${o.group}: ${a.name}`}))],o.items.some(a=>a.value===void 0||a.value===null)&&(f=!0)),A(o,"name")&&A(o,"value")&&(o.name=`${o.group}: ${o.name}`,delete o.group,r.push(o),(o.value===void 0||o.value===null)&&(f=!0))):(r.push(o),(o.value===void 0||o.value===null)&&(f=!0)),r),[]):n=n.reduce((r,o)=>(A(o,"group")?(o.group!==(r[r.length-1]||{}).group&&r.push({group:o.group,items:o.items||[]}),A(o,"name")&&A(o,"value")&&(r[r.length-1].items.push({name:o.name,value:o.value}),(o.value===void 0||o.value===null)&&(f=!0))):(r.push(o),(o.value===void 0||o.value===null)&&(f=!0)),r),[])),!t&&!f&&n.unshift({name:"<em>None</em>",value:null}),n}var Ke=(()=>{let u=class u{setDraggableState(i){this.draggableStateSubject.next(i)}setSortableOptions(i){this.sortableOptionsSubject.next(i)}constructor(){this.JsonFormCompatibility=!1,this.ReactJsonSchemaFormCompatibility=!1,this.AngularSchemaFormCompatibility=!1,this.tpldata={},this.ajvOptions={allErrors:!0,validateFormats:!1,strict:!1},this.ajv=(0,s4.default)(new f4.default(this.ajvOptions),["uniqueItemProperties"]),this.validateFormData=null,this.formValues={},this.data={},this.schema={},this.layout=[],this.formGroupTemplate={},this.formGroup=null,this.framework=null,this.validData=null,this.isValid=null,this.ajvErrors=null,this.validationErrors=null,this.dataErrors=new Map,this.formValueSubscription=null,this.dataChanges=new Pt,this.isValidChanges=new Pt,this.validationErrorChanges=new Pt,this.arrayMap=new Map,this.dataMap=new Map,this.dataRecursiveRefMap=new Map,this.schemaRecursiveRefMap=new Map,this.schemaRefLibrary={},this.layoutRefLibrary={"":null},this.templateRefLibrary={},this.hasRootReference=!1,this.language="en-US",this.defaultFormOptions={autocomplete:!0,addSubmit:"auto",debug:!1,disableInvalidSubmit:!0,formDisabled:!1,formReadonly:!1,fieldsRequired:!1,framework:"no-framework",loadExternalAssets:!1,pristine:{errors:!0,success:!0},supressPropertyTitles:!1,setSchemaDefaults:"auto",setLayoutDefaults:"auto",validateOnRender:"auto",widgets:{},defaultWidgetOptions:{listItems:1,addable:!0,orderable:!0,removable:!0,enableErrorState:!0,enableSuccessState:!0,feedback:!1,feedbackOnRender:!1,notitle:!1,disabled:!1,readonly:!1,returnEmptyFields:!0,validationMessages:{}}},this.draggableStateSubject=new is(!0),this.draggableState$=this.draggableStateSubject.asObservable(),this.sortableOptionsSubject=new is({disabled:!1}),this.sortableOptions$=this.sortableOptionsSubject.asObservable(),this.setLanguage(this.language),this.ajv.addMetaSchema(R3),this.ajv.addMetaSchema(L3)}ngOnDestroy(){this.fcValueChangesSubs?.unsubscribe(),this.fcStatusChangesSubs?.unsubscribe(),this.formValueSubscription?.unsubscribe(),this.fcValueChangesSubs=null,this.fcStatusChangesSubs=null,this.formValueSubscription=null}setLanguage(i="en-US"){this.language=i;let n={de:dN,en:cN,es:pN,fr:mN,it:FN,pt:CN,zh:hN},f=i.slice(0,2),r=n[f];this.defaultFormOptions.defaultWidgetOptions.validationMessages=(0,me.default)(r)}getData(){return this.data}getSchema(){return this.schema}getLayout(){return this.layout}resetAllValues(){this.JsonFormCompatibility=!1,this.ReactJsonSchemaFormCompatibility=!1,this.AngularSchemaFormCompatibility=!1,this.tpldata={},this.validateFormData=null,this.formValues={},this.schema={},this.layout=[],this.formGroupTemplate={},this.formGroup=null,this.framework=null,this.data={},this.validData=null,this.isValid=null,this.validationErrors=null,this.arrayMap=new Map,this.dataMap=new Map,this.dataRecursiveRefMap=new Map,this.schemaRecursiveRefMap=new Map,this.layoutRefLibrary={},this.schemaRefLibrary={},this.templateRefLibrary={},this.formOptions=(0,me.default)(this.defaultFormOptions)}buildRemoteError(i){kt(i,(n,f)=>{if(f in this.formGroup.controls)for(let r of n){let o={};o[r.code]=r.message,this.formGroup.get(f).setErrors(o,{emitEvent:!0})}})}validateData(i,n=!0){this.data=NN(i,this.dataMap,this.dataRecursiveRefMap,this.arrayMap,this.formOptions.returnEmptyFields),this.isValid=this.validateFormData(this.data),this.validData=this.isValid?this.data:null;let f=r=>{let o={};return(r||[]).forEach(a=>{let s=a.instancePath||"ROOT";o[s]||(o[s]=[]),o[s].push(a.message)}),o};this.ajvErrors=this.validateFormData.errors,this.validationErrors=f(this.validateFormData.errors),n&&(this.dataChanges.next(this.data),this.isValidChanges.next(this.isValid),this.validationErrorChanges.next(this.ajvErrors))}buildFormGroupTemplate(i=null,n=!0){this.formGroupTemplate=li(this,i,n)}buildFormGroup(){this.formGroup=$r(this.formGroupTemplate),this.formGroup&&(this.compileAjvSchema(),this.validateData(this.formGroup.value),this.formValueSubscription&&this.formValueSubscription.unsubscribe(),this.formValueSubscription=this.formGroup.valueChanges.subscribe(i=>this.validateData(i)))}buildLayout(i){this.layout=VN(this,i)}setOptions(i){if(V(i)){let n=(0,me.default)(i);V(n.defaultOptions)&&(Object.assign(this.formOptions.defaultWidgetOptions,n.defaultOptions),delete n.defaultOptions),V(n.defaultWidgetOptions)&&(Object.assign(this.formOptions.defaultWidgetOptions,n.defaultWidgetOptions),delete n.defaultWidgetOptions),Object.assign(this.formOptions,n);let f=this.formOptions.defaultWidgetOptions;["ErrorState","SuccessState"].filter(r=>A(f,"disable"+r)).forEach(r=>{f["enable"+r]=!f["disable"+r],delete f["disable"+r]})}}compileAjvSchema(){this.validateFormData||(Array.isArray(this.schema.properties["ui:order"])&&(this.schema["ui:order"]=this.schema.properties["ui:order"],delete this.schema.properties["ui:order"]),this.ajv.removeSchema(this.schema),this.validateFormData=this.ajv.compile(this.schema))}buildSchemaFromData(i,n=!1){if(i)return Tl(i,n);this.schema=Tl(this.formValues,n)}buildSchemaFromLayout(i){if(i)return void 0;this.schema=(this.layout,void 0)}setTpldata(i={}){this.tpldata=i}parseText(i="",n={},f={},r=null){return!i||!/{{.+?}}/.test(i)?i:i.replace(/{{(.+?)}}/g,(...o)=>this.parseExpression(o[1],n,f,r,this.tpldata))}parseExpression(i="",n={},f={},r=null,o=null){if(typeof i!="string")return"";let a=typeof r=="number"?r+1+"":r||"";if(i=i.trim(),(i[0]==="'"||i[0]==='"')&&i[0]===i[i.length-1]&&i.slice(1,i.length-1).indexOf(i[0])===-1)return i.slice(1,i.length-1);if(i==="idx"||i==="$index")return a;if(i==="value"&&!A(f,"value"))return n;if(['"',"'"," ","||","&&","+"].every(s=>i.indexOf(s)===-1)){let s=P.parseObjectPath(i);return s[0]==="value"&&P.has(n,s.slice(1))?P.get(n,s.slice(1)):s[0]==="values"&&P.has(f,s.slice(1))?P.get(f,s.slice(1)):s[0]==="tpldata"&&P.has(o,s.slice(1))?P.get(o,s.slice(1)):P.has(f,s)?P.get(f,s):""}return i.indexOf("[idx]")>-1&&(i=i.replace(/\[idx\]/g,a)),i.indexOf("[$index]")>-1&&(i=i.replace(/\[$index\]/g,a)),i.indexOf("||")>-1?i.split("||").reduce((s,D)=>s||this.parseExpression(D,n,f,r,o),""):i.indexOf("&&")>-1?i.split("&&").reduce((s,D)=>s&&this.parseExpression(D,n,f,r,o)," ").trim():i.indexOf("+")>-1?i.split("+").map(s=>this.parseExpression(s,n,f,r,o)).join(""):""}setArrayItemTitle(i={},n=null,f=null){let r={layoutNode:()=>V(i.layoutNode)?i.layoutNode:i.layoutNode(),dataIndex:()=>V(i.dataIndex)?i.dataIndex:i.dataIndex()},o=r.layoutNode();if(o.options.buttonText)return o.options.buttonText;let a=this.getFormControlValue(r),s=(o.type||"").slice(-5)==="array"&&T(a),D=P.getFirst(s&&n.type!=="$ref"?[[n,"/options/legend"],[n,"/options/title"],[o,"/options/title"],[o,"/options/legend"]]:[[n,"/options/title"],[n,"/options/legend"],[o,"/options/title"],[o,"/options/legend"]]);if(!D)return D;let d=T(a)&&f<a.length?a[f]:a;return this.parseText(D,d,a,f)}setItemTitle(i){return!i.options.title&&/^(\d+|-)$/.test(i.layoutNode().name)?null:this.parseText(i.options.title||D4(i.layoutNode().name),this.getFormControlValue(i),(this.getFormControlGroup(i)||{}).value,i.dataIndex()[i.dataIndex().length-1])}evaluateCondition(i,n){let f=n&&n[n.length-1],r=!0;if(Q((i.options||{}).condition)){if(typeof i.options.condition=="string"){let o=i.options.condition;Q(f)&&(o=o.replace("[arrayIndex]",`[${f}]`)),o=P.parseObjectPath(o),r=!!P.get(this.data,o),!r&&o[0]==="model"&&(r=!!P.get({model:this.data},o))}else if(typeof i.options.condition=="function")r=i.options.condition(this.data);else if(typeof i.options.condition.functionBody=="string")try{r=new Function("model","arrayIndices",i.options.condition.functionBody)(this.data,n)}catch{r=!0,console.error("condition functionBody errored out on evaluation: "+i.options.condition.functionBody)}}return r}initializeControl(i,n=!0){if(!V(i))return!1;if(fe(i.options)&&(i.options=fe((i.layoutNode()||{}).options)?(0,me.default)(this.formOptions):i.layoutNode().options),i.formControl=this.getFormControl(i),i.boundControl=n&&!!i.formControl,i.formControl)i.controlName=this.getFormControlName(i),i.controlValue=i.formControl.value,i.controlDisabled=i.formControl.disabled,i.options.errorMessage=i.formControl.status==="VALID"?null:this.formatErrors(i.formControl.errors,i.options.validationMessages),i.options.showErrors=this.formOptions.validateOnRender===!0||this.formOptions.validateOnRender==="auto"&&Q(i.controlValue),this.fcStatusChangesSubs=i.formControl.statusChanges.subscribe(f=>i.options.errorMessage=f==="VALID"?null:this.formatErrors(i.formControl.errors,i.options.validationMessages)),this.fcValueChangesSubs=i.formControl.valueChanges.subscribe(f=>{(0,Du.default)(i.controlValue,f)||(i.controlValue=f)});else{i.controlName=i.layoutNode().name,i.controlValue=i.layoutNode().value||null;let f=this.getDataPointer(i);n&&f&&console.error(`warning: control "${f}" is not bound to the Angular FormGroup.`)}return i.boundControl}formatErrors(i,n={}){if(fe(i))return null;V(n)||(n={});let f=a=>a[0].toUpperCase()+(a.slice(1)||"").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/_/g," "),r=a=>typeof a=="object"?Object.keys(a).map(s=>a[s]===!0?f(s):a[s]===!1?"Not "+f(s):f(s)+": "+r(a[s])).join(", "):f(a.toString()),o=[];return Object.keys(i).filter(a=>a!=="required"||Object.keys(i).length===1).map(a=>typeof n=="string"?n:typeof n[a]=="function"?n[a](i[a]):typeof n[a]=="string"?/{{.+?}}/.test(n[a])?Object.keys(i[a]).reduce((s,D)=>s.replace(new RegExp("{{"+D+"}}","g"),i[a][D]),n[a]):n[a]:f(a)+" Error: "+r(i[a])).join("<br>")}updateValue(i,n){if(i.controlValue=n,i.boundControl&&(i.formControl.setValue(n),i.formControl.markAsDirty()),i.layoutNode().value=n,T(i.options.copyValueTo))for(let f of i.options.copyValueTo){let r=Ea(this.formGroup,f);V(r)&&typeof r.setValue=="function"&&(r.setValue(n),r.markAsDirty())}}updateArrayCheckboxList(i,n){let f=this.getFormControl(i);for(;f.value.length;)f.removeAt(0);let r=Ft(i.layoutNode().dataPointer+"/-",this.dataRecursiveRefMap,this.arrayMap);for(let o of n)if(o.checked){let a=$r(this.templateRefLibrary[r]);a.setValue(o.value),f.push(a)}f.markAsDirty()}getFormControl(i){return!i||!i.layoutNode||!ye(i.layoutNode().dataPointer)||i.layoutNode().type==="$ref"?null:Ea(this.formGroup,this.getDataPointer(i))}getFormControlValue(i){if(!i||!i.layoutNode||!ye(i.layoutNode().dataPointer)||i.layoutNode().type==="$ref")return null;let n=Ea(this.formGroup,this.getDataPointer(i));return n?n.value:null}getFormControlGroup(i){return!i||!i.layoutNode||!ye(i.layoutNode().dataPointer)?null:Ea(this.formGroup,this.getDataPointer(i),!0)}getFormControlName(i){return!i||!i.layoutNode||!ye(i.layoutNode().dataPointer)||!Q(i.dataIndex())?null:P.toKey(this.getDataPointer(i))}getLayoutArray(i){return P.get(this.layout,this.getLayoutPointer(i),0,-1)}getParentNode(i){return P.get(this.layout,this.getLayoutPointer(i),0,-2)}getDataPointer(i){return!i||!i.layoutNode||!ye(i.layoutNode().dataPointer)||!Q(i.dataIndex())?null:P.toIndexedPointer(i.layoutNode().dataPointer,i.dataIndex(),this.arrayMap)}getLayoutPointer(i){return Q(i.layoutIndex())?"/"+i.layoutIndex().join("/items/"):null}isControlBound(i){if(!i||!i.layoutNode||!ye(i.layoutNode().dataPointer)||!Q(i.dataIndex()))return!1;let n=this.getFormControlGroup(i),f=this.getFormControlName(i);return n?A(n.controls,f):!1}addItem(i,n){if(!i||!i.layoutNode||!ye(i.layoutNode().$ref)||!Q(i.dataIndex())||!Q(i.layoutIndex()))return!1;let f=$r(this.templateRefLibrary[i.layoutNode().$ref]);i.layoutNode().arrayItem?this.getFormControlGroup(i).push(f):this.getFormControlGroup(i).addControl(n||this.getFormControlName(i),f);let r=wa(i.layoutNode(),this);return r.arrayItem=i.layoutNode().arrayItem,i.layoutNode().arrayItemType?r.arrayItemType=i.layoutNode().arrayItemType:delete r.arrayItemType,n&&(r.name=n,r.dataPointer+="/"+P.escape(n),r.options.title=Nu(n)),P.insert(this.layout,this.getLayoutPointer(i),r),!0}moveArrayItem(i,n,f,r=!0){if(!i||!i.layoutNode||!ye(i.layoutNode().dataPointer)||!Q(i.dataIndex())||!Q(i.layoutIndex())||!ye(n)||!ye(f)||n===f)return!1;let o=this.getFormControlGroup(i),a=o.at(n);if(o.removeAt(n),o.insert(f,a),o.updateValueAndValidity(),r){let s=this.getLayoutArray(i);s.splice(f,0,s.splice(n,1)[0])}return!0}removeItem(i){return!i||!i.layoutNode||!ye(i.layoutNode().dataPointer)||!Q(i.dataIndex())||!Q(i.layoutIndex())?!1:(i.layoutNode().arrayItem?this.getFormControlGroup(i).removeAt(i.dataIndex()[i.dataIndex().length-1]):this.getFormControlGroup(i).removeControl(this.getFormControlName(i)),P.remove(this.layout,this.getLayoutPointer(i)),!0)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275prov=Ot({token:u,factory:u.\u0275fac});let e=u;return e})(),d4=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.newComponent=null,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0),this.widgetContainer=Xu("widgetContainer",{read:Ei})}ngOnInit(){this.updateComponent()}ngOnChanges(){this.updateComponent()}updateComponent(){let i=this.widgetContainer();if(i&&!this.newComponent&&(this.layoutNode()||{}).widget&&(this.newComponent=i.createComponent(this.layoutNode().widget)),this.newComponent)for(let n of["layoutNode","layoutIndex","dataIndex"])this.newComponent.instance[n]=this[n]}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["select-widget-widget"]],viewQuery:function(n,f){n&1&&Wu(f.widgetContainer,Nl,5,Ei),n&2&&Gu()},inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,features:[Hu],decls:2,vars:0,consts:[["widgetContainer",""]],template:function(n,f){n&1&&I(0,"div",null,0)},encapsulation:2});let e=u;return e})(),LN=(()=>{let u=class u{constructor(){this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["no-framework"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:1,vars:3,consts:[[3,"dataIndex","layoutIndex","layoutNode"]],template:function(n,f){n&1&&I(0,"select-widget-widget",0),n&2&&b("dataIndex",f.dataIndex())("layoutIndex",f.layoutIndex())("layoutNode",f.layoutNode())},dependencies:[d4],encapsulation:2});let e=u;return e})(),zN=(()=>{let u=class u extends ql{constructor(){super(...arguments),this.name="no-framework",this.text="None (plain HTML)",this.framework=LN}};u.\u0275fac=(()=>{let i;return function(f){return(i||(i=s1(u)))(f||u)}})(),u.\u0275prov=Ot({token:u,factory:u.\u0275fac});let e=u;return e})(),c4=(()=>{let u=class u{constructor(i,n){this.renderer=i,this.elementRef=n}ngOnChanges(i){if(i.attributes)for(let n in this.attributes){let f=this.attributes[n];f?this.renderer.setAttribute(this.elementRef.nativeElement,n,f):this.renderer.removeAttribute(this.elementRef.nativeElement,n)}}};u.\u0275fac=function(n){return new(n||u)(yu(Lr),yu(Uu))},u.\u0275dir=vu({type:u,selectors:[["","attributes",""]],inputs:{attributes:"attributes"},standalone:!1,features:[Hu]});let e=u;return e})(),HN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{}}get showAddButton(){return!this.layoutNode().arrayItem||this.layoutIndex()[this.layoutIndex().length-1]<this.options.maxItems}addItem(i){i.preventDefault(),this.jsf.addItem(this)}get buttonText(){let i={dataIndex:this.dataIndex().slice(0,-1),layoutIndex:this.layoutIndex().slice(0,-1),layoutNode:this.jsf.getParentNode(this)};return i.layoutNode.add||this.jsf.setArrayItemTitle(i,this.layoutNode(),this.itemCount)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["add-reference-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:1,vars:1,consts:[[3,"class","disabled","click",4,"ngIf"],[3,"click","disabled"],[3,"class",4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"innerHTML"]],template:function(n,f){n&1&&ce(0,Dj,3,5,"button",0),n&2&&b("ngIf",f.showAddButton)},dependencies:[bt],encapsulation:2});let e=u;return e})(),UN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{},this.jsf.initializeControl(this)}updateValue(i){typeof this.options.onClick=="function"?this.options.onClick(i):this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["button-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:3,vars:11,consts:[[3,"click","disabled","name","type","value"],[3,"class","innerHTML",4,"ngIf"],[3,"innerHTML"]],template:function(n,f){if(n&1&&(c(0,"div")(1,"button",0),M("click",function(o){return f.updateValue(o)}),ce(2,lj,1,3,"span",1),p()()),n&2){let r,o;Z((f.options==null?null:f.options.htmlClass)||""),l(),Z((f.options==null?null:f.options.fieldHtmlClass)||""),b("disabled",f.controlDisabled)("name",f.controlName)("type",(r=f.layoutNode())==null?null:r.type)("value",f.controlValue),K("readonly",f.options!=null&&f.options.readonly?"readonly":null)("aria-describedby","control"+((o=f.layoutNode())==null?null:o._id)+"Status"),l(),b("ngIf",(f.options==null?null:f.options.icon)||(f.options==null?null:f.options.title))}},dependencies:[bt],encapsulation:2});let e=u;return e})(),WN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.trueValue=!0,this.falseValue=!1,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{},this.jsf.initializeControl(this),(this.controlValue===null||this.controlValue===void 0)&&(this.controlValue=this.options.title)}updateValue(i){i.preventDefault(),this.jsf.updateValue(this,i.target.checked?this.trueValue:this.falseValue)}get isChecked(){return this.jsf.getFormControlValue(this)===this.trueValue}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["checkbox-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:5,vars:6,consts:[["type","checkbox",3,"formControl","class","id","name","readonly",4,"ngIf"],["type","checkbox",3,"checked","class","disabled","id","name","readonly","value","change",4,"ngIf"],[3,"display","innerHTML",4,"ngIf"],[1,"hb-uix-slider","hb-uix-round"],["type","checkbox",3,"formControl","id","name","readonly"],["type","checkbox",3,"change","checked","disabled","id","name","readonly","value"],[3,"innerHTML"]],template:function(n,f){if(n&1&&(c(0,"label"),ce(1,dj,1,7,"input",0)(2,cj,1,9,"input",1)(3,pj,1,3,"span",2),I(4,"span",3),p()),n&2){let r;Z((f.options==null?null:f.options.itemLabelHtmlClass)||" hb-uix-switch"),K("for","control"+((r=f.layoutNode())==null?null:r._id)),l(),b("ngIf",f.boundControl),l(),b("ngIf",!f.boundControl),l(),b("ngIf",f.options==null?null:f.options.title)}},dependencies:[bt,Gi,vt,Ji],encapsulation:2});let e=u;return e})(),GN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.checkboxList=[],this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{};let i=this.layoutNode();if(this.layoutOrientation=i.type==="checkboxes-inline"||i.type==="checkboxbuttons"?"horizontal":"vertical",this.jsf.initializeControl(this),this.checkboxList=Vl(this.options.titleMap||this.options.enumNames,this.options.enum,!0),this.boundControl){let n=this.jsf.getFormControl(this);this.checkboxList.forEach(f=>f.checked=n.value.includes(f.value))}}updateValue(i){for(let n of this.checkboxList)i.target.value===n.value&&(n.checked=i.target.checked);this.boundControl&&this.jsf.updateArrayCheckboxList(this,this.checkboxList)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["checkboxes-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:3,vars:3,consts:[[3,"class","display","innerHTML",4,"ngIf"],[3,"class",4,"ngIf"],[4,"ngIf"],[3,"innerHTML"],[3,"class",4,"ngFor","ngForOf"],["type","checkbox",3,"change","checked","disabled","id","name","readonly","value"],[1,"hb-uix-slider","hb-uix-round"]],template:function(n,f){n&1&&ce(0,mj,1,5,"label",0)(1,Cj,2,3,"div",1)(2,gj,2,1,"div",2),n&2&&(b("ngIf",f.options==null?null:f.options.title),l(),b("ngIf",f.layoutOrientation==="horizontal"),l(),b("ngIf",f.layoutOrientation==="vertical"))},dependencies:[_i,bt],encapsulation:2});let e=u;return e})(),KN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{},this.jsf.initializeControl(this)}updateValue(i){this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["file-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:0,vars:0,template:function(n,f){},encapsulation:2});let e=u;return e})();var JN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.autoCompleteList=[],this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}get inputAttributes(){return this.options?.["x-inputAttributes"]}ngOnInit(){this.options=this.layoutNode().options||{},this.jsf.initializeControl(this)}updateValue(i){this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["input-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:5,vars:6,consts:[[1,"sortable-filter"],[3,"class","display","innerHTML",4,"ngIf"],[3,"formControl","class","id","name","readonly","type","attributes",4,"ngIf"],[3,"class","disabled","id","name","readonly","type","value","attributes","input",4,"ngIf"],[3,"id",4,"ngIf"],[3,"innerHTML"],[3,"formControl","id","name","readonly","type","attributes"],[3,"input","disabled","id","name","readonly","type","value","attributes"],[3,"id"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(n,f){n&1&&(c(0,"div",0),ce(1,bj,1,6,"label",1)(2,Ej,1,15,"input",2)(3,_j,1,16,"input",3)(4,vj,2,2,"datalist",4),p()),n&2&&(Z((f.options==null?null:f.options.htmlClass)||""),l(),b("ngIf",f.options==null?null:f.options.title),l(),b("ngIf",f.boundControl),l(),b("ngIf",!f.boundControl),l(),b("ngIf",f.options==null||f.options.typeahead==null?null:f.options.typeahead.source))},dependencies:[_i,bt,yi,vi,Ki,vt,Ji,c4],encapsulation:2});let e=u;return e})(),XN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.message=null,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{},this.message=this.options.help||this.options.helpvalue||this.options.msg||this.options.message}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["message-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:1,vars:1,consts:[[3,"class","innerHTML",4,"ngIf"],[3,"innerHTML"]],template:function(n,f){n&1&&ce(0,Bj,1,3,"span",0),n&2&&b("ngIf",f.message)},dependencies:[bt],encapsulation:2});let e=u;return e})(),YN=(()=>{let u=class u{constructor(){this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["none-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:0,vars:0,template:function(n,f){},encapsulation:2});let e=u;return e})(),ZN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.allowNegative=!0,this.allowDecimal=!0,this.allowExponents=!1,this.lastValidNumber="",this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}get inputAttributes(){return this.options?.["x-inputAttributes"]}ngOnInit(){this.options=this.layoutNode().options||{},this.jsf.initializeControl(this),this.layoutNode().dataType==="integer"&&(this.allowDecimal=!1)}updateValue(i){this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["number-widget"]],viewQuery:function(n,f){if(n&1&&(fs(xj,5),fs(wj,5)),n&2){let r;rs(r=os())&&(f.inputControl=r.first),rs(r=os())&&(f.div=r.first)}},inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:6,vars:6,consts:[["divElt",""],["inputControl",""],[1,"sortable-filter"],[3,"class","display","innerHTML",4,"ngIf"],[3,"formControl","class","id","name","readonly","title","type","attributes",4,"ngIf"],[3,"class","disabled","id","name","readonly","title","type","value","attributes","input",4,"ngIf"],[3,"innerHTML",4,"ngIf"],[3,"innerHTML"],[3,"formControl","id","name","readonly","title","type","attributes"],[3,"input","disabled","id","name","readonly","title","type","value","attributes"]],template:function(n,f){if(n&1&&(c(0,"div",2,0),ce(2,Sj,1,6,"label",3)(3,Ij,2,16,"input",4)(4,Aj,2,17,"input",5)(5,kj,1,1,"span",6),p()),n&2){let r;Z((f.options==null?null:f.options.htmlClass)||""),l(2),b("ngIf",f.options==null?null:f.options.title),l(),b("ngIf",f.boundControl),l(),b("ngIf",!f.boundControl),l(),b("ngIf",((r=f.layoutNode())==null?null:r.type)==="range")}},dependencies:[bt,Ki,vt,Ji,c4],encapsulation:2});let e=u;return e})(),QN=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{},this.jsf.initializeControl(this)}updateValue(i){this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["one-of-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:0,vars:0,template:function(n,f){},encapsulation:2});let e=u;return e})(),eq=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.layoutOrientation="vertical",this.radiosList=[],this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{};let i=this.layoutNode();(i.type==="radios-inline"||i.type==="radiobuttons")&&(this.layoutOrientation="horizontal"),this.radiosList=Vl(this.options.titleMap||this.options.enumNames,this.options.enum,!0),this.jsf.initializeControl(this)}updateValue(i){this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["radios-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:3,vars:3,consts:[[3,"class","display","innerHTML",4,"ngIf"],[3,"class",4,"ngIf"],[4,"ngIf"],[3,"innerHTML"],[3,"class",4,"ngFor","ngForOf"],["type","radio",3,"change","checked","disabled","id","name","value"]],template:function(n,f){n&1&&ce(0,$j,1,6,"label",0)(1,Pj,2,3,"div",1)(2,Mj,2,1,"div",2),n&2&&(b("ngIf",f.options==null?null:f.options.title),l(),b("ngIf",f.layoutOrientation==="horizontal"),l(),b("ngIf",f.layoutOrientation!=="horizontal"))},dependencies:[_i,bt],encapsulation:2});let e=u;return e})(),Rl=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.newComponent=null,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0),this.widgetContainer=Xu("widgetContainer",{read:Ei})}ngOnInit(){this.updateComponent()}ngOnChanges(){this.updateComponent()}updateComponent(){let i=this.widgetContainer();if(i&&!this.newComponent&&this.jsf.framework&&(this.newComponent=i.createComponent(this.jsf.framework)),this.newComponent)for(let n of["layoutNode","layoutIndex","dataIndex"])this.newComponent.instance[n]=this[n]}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["select-framework-widget"]],viewQuery:function(n,f){n&1&&Wu(f.widgetContainer,Nl,5,Ei),n&2&&Gu()},inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,features:[Hu],decls:2,vars:0,consts:[["widgetContainer",""]],template:function(n,f){n&1&&I(0,"div",null,0)},encapsulation:2});let e=u;return e})(),tq=(()=>{let u=class u{constructor(){this.elementRef=x(Uu),this.jsf=x(Ke),this.ngZone=x(zr),this.overParentElement=!1,this.overChildElement=!1,this.orderable=z(void 0),this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){let i=this.layoutIndex();this.orderable()&&this.layoutNode()&&i&&this.dataIndex()&&(this.element=this.elementRef.nativeElement,this.element.draggable=!0,this.arrayLayoutIndex="move:"+i.slice(0,-1).toString(),this.ngZone.runOutsideAngular(()=>{this.element.addEventListener("dragstart",n=>{n.dataTransfer.effectAllowed="move",n.dataTransfer.setData("text","");let f=this.dataIndex()[this.dataIndex().length-1];sessionStorage.setItem(this.arrayLayoutIndex,f+"")}),this.element.addEventListener("dragover",n=>(n.preventDefault&&n.preventDefault(),n.dataTransfer.dropEffect="move",!1)),this.element.addEventListener("dragenter",n=>{if(this.overParentElement)return this.overChildElement=!0;this.overParentElement=!0;let f=sessionStorage.getItem(this.arrayLayoutIndex);f!==null&&(this.dataIndex()[this.dataIndex().length-1]<+f?this.element.classList.add("drag-target-top"):this.dataIndex()[this.dataIndex().length-1]>+f&&this.element.classList.add("drag-target-bottom"))}),this.element.addEventListener("dragleave",n=>{this.overChildElement?this.overChildElement=!1:this.overParentElement&&(this.overParentElement=!1);let f=sessionStorage.getItem(this.arrayLayoutIndex);!this.overParentElement&&!this.overChildElement&&f!==null&&(this.element.classList.remove("drag-target-top"),this.element.classList.remove("drag-target-bottom"))}),this.element.addEventListener("drop",n=>{this.element.classList.remove("drag-target-top"),this.element.classList.remove("drag-target-bottom");let f=sessionStorage.getItem(this.arrayLayoutIndex),r=this.dataIndex()[this.dataIndex().length-1];return f!==null&&+f!==r&&this.jsf.moveArrayItem(this,+f,r),sessionStorage.removeItem(this.arrayLayoutIndex),!1})}),this.draggableStateSubscription=this.jsf.draggableState$.subscribe(n=>{this.element.draggable=n}))}ngOnDestroy(){this.draggableStateSubscription&&this.draggableStateSubscription.unsubscribe()}};u.\u0275fac=function(n){return new(n||u)},u.\u0275dir=vu({type:u,selectors:[["","orderable",""]],inputs:{orderable:[1,"orderable"],layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1});let e=u;return e})(),Ll=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.dataIndex=z(void 0),this.layoutIndex=z(void 0),this.layout=z(void 0),this.isOrderable=z(void 0),this.isFlexItem=z(!1),this.sortableConfig={filter:".sortable-filter",preventOnFilter:!1,delay:1e3,delayOnTouchOnly:!0,onEnd:i=>{i.newIndex;let n=i.oldIndex,f=i.newIndex,r=this.layout()[f],o=r?.arrayItem?(this.dataIndex()||[]).concat(f):this.dataIndex()||[],a=(this.layoutIndex()||[]).concat(f),s={dataIndex:()=>o,layoutIndex:()=>a,layoutNode:()=>r};this.jsf.moveArrayItem(s,i.oldIndex,i.newIndex,!1)}}}sortableInit(i){this.sortableObj=i}isDraggable(i){let n=i.arrayItem&&i.type!=="$ref"&&i.arrayItemType==="list"&&this.isOrderable()!==!1;return this.sortableObj,n}getFlexAttribute(i,n){let f=["flex-grow","flex-shrink","flex-basis"].indexOf(n);return((i.options||{}).flex||"").split(/\s+/)[f]||(i.options||{})[n]||["1","1","auto"][f]}showWidget(i){return this.jsf.evaluateCondition(i,this.dataIndex())}ngOnInit(){this.sortableOptionsSubscription=this.jsf.sortableOptions$.subscribe(i=>{this.sortableObj&&Object.keys(i).forEach(n=>{let f=i[n];this.sortableObj.option(n,f)})})}ngOnDestroy(){this.sortableOptionsSubscription&&this.sortableOptionsSubscription.unsubscribe()}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["root-widget"]],inputs:{dataIndex:[1,"dataIndex"],layoutIndex:[1,"layoutIndex"],layout:[1,"layout"],isOrderable:[1,"isOrderable"],isFlexItem:[1,"isFlexItem"]},standalone:!1,decls:3,vars:5,consts:[["sortableContainter",""],[3,"init","nxtSortablejs","config"],[3,"form-flex-item","align-self","flex-basis","flex-grow","flex-shrink","order","sortable-filter",4,"ngFor","ngForOf"],[3,"dataIndex","layoutIndex","layoutNode","orderable"],[3,"dataIndex","layoutIndex","layoutNode",4,"ngIf"],[3,"dataIndex","layoutIndex","layoutNode"]],template:function(n,f){if(n&1){let r=U();c(0,"div",1,0),M("init",function(a){return j(r),N(f.sortableInit(a))}),ce(2,Nj,3,26,"div",2),p()}n&2&&(Ku("flex-inherit",!0),b("nxtSortablejs",f.layout())("config",f.sortableConfig),l(2),b("ngForOf",f.layout()))},dependencies:[_i,bt,th,Rl,tq],styles:["[draggable=true][_ngcontent-%COMP%]{transition:all .15s cubic-bezier(.4,0,.2,1)}[draggable=true][_ngcontent-%COMP%]:hover{cursor:move;box-shadow:2px 2px 4px #0003;position:relative;z-index:10;margin:-1px 1px 1px -1px}[draggable=true].drag-target-top[_ngcontent-%COMP%]{box-shadow:0 -2px #000;position:relative;z-index:20}[draggable=true].drag-target-bottom[_ngcontent-%COMP%]{box-shadow:0 2px #000;position:relative;z-index:20}.flex-inherit[_ngcontent-%COMP%]{display:inherit;flex-flow:inherit;flex-wrap:inherit;flex-direction:inherit;width:100%}"]});let e=u;return e})(),uq=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.expanded=!0,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}get sectionTitle(){return this.options.notitle?null:this.jsf.setItemTitle(this)}ngOnInit(){switch(this.jsf.initializeControl(this),this.options=this.layoutNode().options||{},this.expanded=typeof this.options.expanded=="boolean"?this.options.expanded:!this.options.expandable,this.layoutNode().type){case"fieldset":case"array":case"tab":case"advancedfieldset":case"authfieldset":case"optionfieldset":case"selectfieldset":this.containerType="fieldset";break;default:this.containerType="div";break}}toggleExpanded(){this.options.expandable&&(this.expanded=!this.expanded)}getFlexAttribute(i){let n=this.layoutNode().type==="flex"||!!this.options.displayFlex||this.options.display==="flex";if(i!=="flex"&&!n)return null;switch(i){case"is-flex":return n;case"display":return n?"flex":"initial";case"flex-direction":case"flex-wrap":let f=["flex-direction","flex-wrap"].indexOf(i);return(this.options["flex-flow"]||"").split(/\s+/)[f]||this.options[i]||["column","nowrap"][f];case"justify-content":case"align-items":case"align-content":return this.options[i]}}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["section-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:2,vars:2,consts:[[3,"class","expandable","expanded",4,"ngIf"],[3,"class","expandable","expanded","disabled",4,"ngIf"],["class","legend",3,"class","innerHTML","click",4,"ngIf"],[3,"dataIndex","layout","layoutIndex","isFlexItem","isOrderable"],[1,"legend",3,"click","innerHTML"],[3,"disabled"],[4,"ngIf"],["class","help-block",3,"class","innerHTML",4,"ngIf"],[1,"help-block",3,"innerHTML"]],template:function(n,f){n&1&&ce(0,Vj,3,28,"div",0)(1,Wj,5,31,"fieldset",1),n&2&&(b("ngIf",f.containerType==="div"),l(),b("ngIf",f.containerType==="fieldset"))},dependencies:[bt,Ll],styles:[".legend[_ngcontent-%COMP%]{font-weight:700}.expandable[_ngcontent-%COMP%] > legend[_ngcontent-%COMP%], .expandable[_ngcontent-%COMP%] > label[_ngcontent-%COMP%], .expanded[_ngcontent-%COMP%] > legend[_ngcontent-%COMP%], .expanded[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]{cursor:pointer;}.expandable[_ngcontent-%COMP%] > legend[_ngcontent-%COMP%]:before, .expandable[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]:before{font-weight:900;font-family:'Font Awesome 5 Free';content:'\\f054';padding-right:.3em;}.expanded[_ngcontent-%COMP%] > legend[_ngcontent-%COMP%]:before, .expanded[_ngcontent-%COMP%] > label[_ngcontent-%COMP%]:before{font-weight:900;font-family:'Font Awesome 5 Free';content:'\\f078';padding-right:.2em;}"]});let e=u;return e})(),iq=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.selectList=[],this.isArray=T,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{},this.selectList=Vl(this.options.titleMap||this.options.enumNames,this.options.enum,!!this.options.required,!!this.options.flatList),this.jsf.initializeControl(this),this.valueChanges=this.formControl.valueChanges.subscribe(i=>{i==="null"&&this.formControl.setValue(null)})}ngOnDestroy(){this.valueChanges&&this.valueChanges.unsubscribe()}updateValue(i){this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["select-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:4,vars:5,consts:[[3,"class","display","innerHTML",4,"ngIf"],[3,"formControl","class","id","name",4,"ngIf"],[3,"class","disabled","id","name","change",4,"ngIf"],[3,"innerHTML"],[3,"formControl","id","name"],["ngFor","",3,"ngForOf"],[3,"value",4,"ngIf"],[3,"label",4,"ngIf"],[3,"value"],[3,"label"],[3,"value",4,"ngFor","ngForOf"],[3,"change","disabled","id","name"],[3,"selected","value",4,"ngIf"],[3,"selected","value"]],template:function(n,f){n&1&&(c(0,"div"),ce(1,Gj,1,6,"label",0)(2,Zj,2,9,"select",1)(3,iN,2,9,"select",2),p()),n&2&&(Z((f.options==null?null:f.options.htmlClass)||""),l(),b("ngIf",f.options==null?null:f.options.title),l(),b("ngIf",f.boundControl),l(),b("ngIf",!f.boundControl))},dependencies:[_i,bt,yi,vi,Xi,vt,Ji],encapsulation:2});let e=u;return e})(),nq=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnDestroy(){this.isValidChangesSubs?.unsubscribe(),this.isValidChangesSubs=null}ngOnInit(){this.options=this.layoutNode().options||{},this.jsf.initializeControl(this),A(this.options,"disabled")?this.controlDisabled=this.options.disabled:this.jsf.formOptions.disableInvalidSubmit&&(this.controlDisabled=!this.jsf.isValid,this.isValidChangesSubs=this.jsf.isValidChanges.subscribe(i=>this.controlDisabled=!i)),(this.controlValue===null||this.controlValue===void 0)&&(this.controlValue=this.options.title)}updateValue(i){typeof this.options.onClick=="function"?this.options.onClick(i):this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["submit-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:2,vars:12,consts:[[3,"click","disabled","id","name","type","value"]],template:function(n,f){if(n&1&&(c(0,"div")(1,"input",0),M("click",function(o){return f.updateValue(o)}),p()()),n&2){let r,o,a;Z((f.options==null?null:f.options.htmlClass)||""),l(),Z((f.options==null?null:f.options.fieldHtmlClass)||""),b("disabled",f.controlDisabled)("id","control"+((r=f.layoutNode())==null?null:r._id))("name",f.controlName)("type",(o=f.layoutNode())==null?null:o.type)("value",f.controlValue),K("aria-describedby","control"+((a=f.layoutNode())==null?null:a._id)+"Status")("readonly",f.options!=null&&f.options.readonly?"readonly":null)("required",f.options==null?null:f.options.required)}},encapsulation:2});let e=u;return e})();var fq=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.selectedItem=0,this.showAddTab=!0,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{},this.itemCount=this.layoutNode().items.length-1,this.updateControl()}select(i){let n=this.layoutNode();n.items[i].type==="$ref"&&(this.itemCount=n.items.length,this.jsf.addItem({layoutNode:Rr(n.items[i]),layoutIndex:Rr(this.layoutIndex().concat(i)),dataIndex:Rr(this.dataIndex().concat(i))}),this.updateControl()),this.selectedItem=i}updateControl(){let i=this.layoutNode().items[this.layoutNode().items.length-1];i.type==="$ref"&&this.itemCount>=(i.options.maxItems||1e3)&&(this.showAddTab=!1)}setTabTitle(i,n){return this.jsf.setArrayItemTitle(this,i,n)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["tabs-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:3,vars:4,consts:[["role","presentation","data-tabs","",3,"class",4,"ngFor","ngForOf"],[3,"class",4,"ngFor","ngForOf"],["role","presentation","data-tabs",""],[3,"class","innerHTML","click",4,"ngIf"],[3,"click","innerHTML"],[3,"class","dataIndex","layoutIndex","layoutNode",4,"ngIf"],[3,"dataIndex","layoutIndex","layoutNode"]],template:function(n,f){if(n&1&&(c(0,"ul"),ce(1,fN,2,3,"li",0),p(),ce(2,oN,2,3,"div",1)),n&2){let r,o;Z((f.options==null?null:f.options.labelHtmlClass)||""),l(),b("ngForOf",(r=f.layoutNode())==null?null:r.items),l(),b("ngForOf",(o=f.layoutNode())==null?null:o.items)}},dependencies:[_i,bt,Rl],styles:["a[_ngcontent-%COMP%]{cursor:pointer}"]});let e=u;return e})(),rq=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.newComponent=null,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0),this.widgetContainer=Xu("widgetContainer",{read:Ei})}ngOnInit(){this.updateComponent()}ngOnChanges(){this.updateComponent()}updateComponent(){let i=this.layoutNode(),n=this.widgetContainer();if(n&&!this.newComponent&&i.options.template&&(this.newComponent=n.createComponent(i.options.template)),this.newComponent)for(let f of["layoutNode","layoutIndex","dataIndex"])this.newComponent.instance[f]=this[f]}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["template-widget"]],viewQuery:function(n,f){n&1&&Wu(f.widgetContainer,Nl,5,Ei),n&2&&Gu()},inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,features:[Hu],decls:2,vars:0,consts:[["widgetContainer",""]],template:function(n,f){n&1&&I(0,"div",null,0)},encapsulation:2});let e=u;return e})(),oq=(()=>{let u=class u{constructor(){this.jsf=x(Ke),this.controlDisabled=!1,this.boundControl=!1,this.layoutNode=z(void 0),this.layoutIndex=z(void 0),this.dataIndex=z(void 0)}ngOnInit(){this.options=this.layoutNode().options||{},this.jsf.initializeControl(this)}updateValue(i){this.jsf.updateValue(this,i.target.value)}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["textarea-widget"]],inputs:{layoutNode:[1,"layoutNode"],layoutIndex:[1,"layoutIndex"],dataIndex:[1,"dataIndex"]},standalone:!1,decls:4,vars:5,consts:[[3,"class","display","innerHTML",4,"ngIf"],[3,"formControl","class","id","name",4,"ngIf"],[3,"class","disabled","id","name","value","input",4,"ngIf"],[3,"innerHTML"],[3,"formControl","id","name"],[3,"input","disabled","id","name","value"]],template:function(n,f){n&1&&(c(0,"div"),ce(1,aN,1,6,"label",0)(2,sN,1,12,"textarea",1)(3,DN,2,14,"textarea",2),p()),n&2&&(Z((f.options==null?null:f.options.htmlClass)||""),l(),b("ngIf",f.options==null?null:f.options.title),l(),b("ngIf",f.boundControl),l(),b("ngIf",!f.boundControl))},dependencies:[bt,Ki,vt,Ji],encapsulation:2});let e=u;return e})(),p4=(()=>{let u=class u{constructor(){this.defaultWidget="text",this.widgetLibrary={none:YN,root:Ll,"select-framework":Rl,"select-widget":d4,$ref:HN,email:"text",integer:"number",number:ZN,password:"text",search:"text",tel:"text",text:JN,url:"text",color:"text",date:"text",datetime:"text","datetime-local":"text",month:"text",range:"number",time:"text",week:"text",checkbox:WN,file:KN,hidden:"text",image:"text",radio:"radios",reset:"submit",submit:nq,button:UN,select:iq,textarea:oq,checkboxes:GN,"checkboxes-inline":"checkboxes",checkboxbuttons:"checkboxes",radios:eq,"radios-inline":"radios",radiobuttons:"radios",section:uq,div:"section",fieldset:"section",flex:"section","one-of":QN,array:"section",tabarray:"tabs",tab:"section",tabs:fq,message:XN,help:"message",msg:"message",html:"message",template:rq,advancedfieldset:"section",authfieldset:"section",optionfieldset:"one-of",selectfieldset:"one-of",conditional:"section",actions:"section",tagsinput:"section",updown:"number","date-time":"datetime-local","alt-datetime":"datetime-local","alt-date":"date",wizard:"section",textline:"text"},this.registeredWidgets={},this.frameworkWidgets={},this.activeWidgets={},this.setActiveWidgets()}setActiveWidgets(){this.activeWidgets=Object.assign({},this.widgetLibrary,this.frameworkWidgets,this.registeredWidgets);for(let i of Object.keys(this.activeWidgets)){let n=this.activeWidgets[i];if(typeof n=="string"){let f=[];for(;typeof n=="string"&&!f.includes(n);)f.push(n),n=this.activeWidgets[n];typeof n!="string"&&(this.activeWidgets[i]=n)}}return!0}setDefaultWidget(i){return this.hasWidget(i)?(this.defaultWidget=i,!0):!1}hasWidget(i,n="activeWidgets"){return!i||typeof i!="string"?!1:A(this[n],i)}hasDefaultWidget(i){return this.hasWidget(i,"widgetLibrary")}registerWidget(i,n){return!i||!n||typeof i!="string"?!1:(this.registeredWidgets[i]=n,this.setActiveWidgets())}unRegisterWidget(i){return A(this.registeredWidgets,i)?(delete this.registeredWidgets[i],this.setActiveWidgets()):!1}unRegisterAllWidgets(i=!0){return this.registeredWidgets={},i&&(this.frameworkWidgets={}),this.setActiveWidgets()}registerFrameworkWidgets(i){return(i===null||typeof i!="object")&&(i={}),this.frameworkWidgets=i,this.setActiveWidgets()}unRegisterFrameworkWidgets(){return Object.keys(this.frameworkWidgets).length?(this.frameworkWidgets={},this.setActiveWidgets()):!1}getWidget(i,n="activeWidgets"){return this.hasWidget(i,n)?this[n][i]:this.hasWidget(this.defaultWidget,n)?this[n][this.defaultWidget]:null}getAllWidgets(){return{widgetLibrary:this.widgetLibrary,registeredWidgets:this.registeredWidgets,frameworkWidgets:this.frameworkWidgets,activeWidgets:this.activeWidgets}}};u.\u0275fac=function(n){return new(n||u)},u.\u0275prov=Ot({token:u,factory:u.\u0275fac,providedIn:"root"});let e=u;return e})();var jl=(()=>{let u=class u{};u.\u0275fac=function(n){return new(n||u)},u.\u0275mod=Ui({type:u}),u.\u0275inj=Hi({imports:[Hr,tu,as,uh.forRoot({filter:".sortable-filter",preventOnFilter:!1})]});let e=u;return e})(),aq=(()=>{let u=class u{};u.\u0275fac=function(n){return new(n||u)},u.\u0275mod=Ui({type:u}),u.\u0275inj=Hi({providers:[{provide:ql,useClass:zN,multi:!0}],imports:[Hr,jl]});let e=u;return e})(),sq=(()=>{let u=class u{constructor(i){this.frameworks=i,this.widgetLibrary=x(p4),this.http=x(b1),this.activeFramework=null,this.loadExternalAssets=!1,this.frameworkLibrary={},this.frameworks.forEach(n=>this.frameworkLibrary[n.name]=n),this.defaultFramework=this.frameworks[0].name,this.activeFrameworkName=this.defaultFramework,this.activeFrameworkNameSubject=new Pt,this.activeFrameworkName$=this.activeFrameworkNameSubject.asObservable(),this.setFramework(this.defaultFramework)}setLoadExternalAssets(i=!0){this.loadExternalAssets=!!i}setFramework(i=this.defaultFramework,n=this.loadExternalAssets){return this.activeFramework=typeof i=="string"&&this.hasFramework(i)?this.frameworkLibrary[i]:typeof i=="object"&&A(i,"framework")?i:this.frameworkLibrary[this.defaultFramework],this.activeFramework.name!=this.activeFrameworkName&&(this.activeFrameworkName=this.activeFramework.name,this.activeFrameworkNameSubject.next(this.activeFrameworkName)),this.registerFrameworkWidgets(this.activeFramework)}registerFrameworkWidgets(i){return A(i,"widgets")?this.widgetLibrary.registerFrameworkWidgets(i.widgets):this.widgetLibrary.unRegisterFrameworkWidgets()}hasFramework(i){return A(this.frameworkLibrary,i)}getFramework(){return this.activeFramework||this.setFramework("default",!0),this.activeFramework.framework}getFrameworkList(){return this.frameworks.map(i=>({name:i.name,text:i.text}))}getFrameworkWidgets(){return this.activeFramework.widgets||{}}getFrameworkStylesheets(i=this.loadExternalAssets){return i&&this.activeFramework.stylesheets||[]}getFrameworkScripts(i=this.loadExternalAssets){return i&&this.activeFramework.scripts||[]}getFrameworkConfig(i){return(i||this.activeFramework).config}getFrameworkAssetConfig(i,n=!0){let r=`assets/${(i||this.activeFramework).name}/cssframework`,o=`${r}/assets.json`,a=this.http.get(o,{responseType:"text"});return i1(a).then(s=>{let D=JSON.parse(s);return n&&(D.stylesheets=D.stylesheets.map(d=>{let m=["/","//","http:","https:"],g=!1;return m.forEach(C=>{g=g||d.indexOf(C)==0}),g?d:`${r}/${d}`}),D.scripts=D.scripts.map(d=>`${r}/${d}`)),D})}getFrameworkThemes(){let i=this.getFrameworkConfig(),n;return i&&(n=i?.widgetstyles?.__themes__||[]),n}requestThemeChange(i,n=!1,f){let r=f||this.activeFramework;if(r.requestThemeChange){if(n){let a=this.getFrameworkThemes().filter(s=>s.name==i);if(!a||a.length==0)return!1}return r.requestThemeChange(i),!0}}getActiveTheme(i){let n=i||this.activeFramework;if(n.getActiveTheme)return n.getActiveTheme()}registerTheme(i,n){let f=n||this.activeFramework;if(f.registerTheme)return f.registerTheme(i)}unregisterTheme(i,n){let f=n||this.activeFramework;if(f.registerTheme)return f.unregisterTheme(i)}};u.\u0275fac=function(n){return new(n||u)(a1(ql))},u.\u0275prov=Ot({token:u,factory:u.\u0275fac,providedIn:"root"});let e=u;return e})(),Dq={provide:E1,useExisting:r1(()=>Tr),multi:!0},Tr=(()=>{let u=class u{constructor(){this.changeDetector=x(h1),this.frameworkLibrary=x(sq),this.widgetLibrary=x(p4),this.jsf=x(Ke),this.unsubscribeOnActivateForm$=new Pt,this.formValueSubscription=null,this.formInitialized=!1,this.objectWrap=!1,this.previousInputs={schema:null,layout:null,data:null,options:null,framework:null,widgets:null,form:null,model:null,JSONSchema:null,UISchema:null,formData:null,loadExternalAssets:null,debug:null},this.schema=z(void 0),this.layout=z(void 0),this.data=z(void 0),this.options=z(void 0),this.framework=z(void 0),this.widgets=z(void 0),this.form=z(void 0),this.model=z(void 0),this.JSONSchema=z(void 0),this.UISchema=z(void 0),this.formData=z(void 0),this.ngModel=z(void 0),this.language=z(void 0),this.loadExternalAssets=z(void 0),this.debug=z(void 0),this.theme=z(void 0),this.onChanges=gt(),this.onSubmit=gt(),this.isValid=gt(),this.validationErrors=gt(),this.formSchema=gt(),this.formLayout=gt(),this.dataChange=gt(),this.modelChange=gt(),this.formDataChange=gt(),this.ngModelChange=gt()}get value(){return this.objectWrap?this.jsf.data[1]:this.jsf.data}set value(i){this.setFormValues(i,!1)}ngOnDestroy(){this.dataChangesSubs?.unsubscribe(),this.statusChangesSubs?.unsubscribe(),this.isValidChangesSubs?.unsubscribe(),this.validationErrorChangesSubs?.unsubscribe(),this.dataChangesSubs=null,this.statusChangesSubs=null,this.isValidChangesSubs=null,this.validationErrorChangesSubs=null}getInputValue(i){return typeof this[i]=="function"?this[i]():this[i]}resetScriptsAndStyleSheets(){document.querySelectorAll(".ajsf").forEach(i=>i.remove())}loadScripts(i){(i||this.frameworkLibrary.getFrameworkScripts()).map(f=>{let r=document.createElement("script");r.src=f,r.type="text/javascript",r.async=!0,r.setAttribute("class","ajsf"),document.getElementsByTagName("head")[0].appendChild(r)})}loadStyleSheets(i){(i||this.frameworkLibrary.getFrameworkStylesheets()).map(f=>{let r=document.createElement("link");r.rel="stylesheet",r.href=f,r.setAttribute("class","ajsf"),document.getElementsByTagName("head")[0].appendChild(r)})}loadAssets(){this.frameworkLibrary.getFrameworkAssetConfig().then(i=>{this.resetScriptsAndStyleSheets(),this.loadScripts(i.scripts),this.loadStyleSheets(i.stylesheets)}).catch(i=>{console.log(i),this.resetScriptsAndStyleSheets(),this.loadScripts(),this.loadStyleSheets()})}ngOnInit(){this.updateForm(),this.loadAssets()}ngOnChanges(i){this.updateForm(),i.framework&&!i.framework.isFirstChange()&&i.framework.previousValue!==i.framework.currentValue&&this.loadAssets()}writeValue(i){this.setFormValues(i,!1),this.formValuesInput||(this.formValuesInput="ngModel")}registerOnChange(i){this.onChange=i}registerOnTouched(i){this.onTouched=i}setDisabledState(i){this.jsf.formOptions.formDisabled!==!!i&&(this.jsf.formOptions.formDisabled=!!i,this.initializeForm())}updateForm(){let i,n=this.language();if(!this.formInitialized||!this.formValuesInput||n&&n!==this.jsf.language)this.initializeForm();else{n&&n!==this.jsf.language&&this.jsf.setLanguage(n);let f=Object.keys(this.previousInputs).filter(a=>this.previousInputs[a]!==this.getInputValue(a)),r=!0;if(f.length===1&&f[0]==="form"&&this.formValuesInput.startsWith("form.")&&(f=Object.keys(this.previousInputs.form||{}).filter(a=>!(0,Du.default)(this.previousInputs.form[a],this.form()[a])).map(a=>`form.${a}`),r=!1),f.length===1&&f[0]===this.formValuesInput)if(this.formValuesInput.indexOf(".")===-1)i=this.getInputValue(this.formValuesInput),this.setFormValues(i,r);else{let[a,s]=this.formValuesInput.split(".");i=this.getInputValue(a)[s],this.setFormValues(i,r)}else f.length&&(this.initializeForm(i),this.onChange&&this.onChange(this.jsf.formValues),this.onTouched&&this.onTouched(this.jsf.formValues));let o=this.theme();o&&o!==this.frameworkLibrary.getActiveTheme()?.name&&this.frameworkLibrary.requestThemeChange(o),Object.keys(this.previousInputs).filter(a=>this.previousInputs[a]!==this.getInputValue(a)).forEach(a=>this.previousInputs[a]=this.getInputValue(a))}}setFormValues(i,n=!0){if(i){let f=this.objectWrap?i[1]:i;this.jsf.formGroup?n&&this.jsf.formGroup.reset({},{emitEvent:!1}):(this.jsf.formValues=i,this.activateForm()),this.jsf.formGroup&&this.jsf.formGroup.patchValue(f,{emitEvent:!1}),this.onChange&&this.onChange(f),this.onTouched&&this.onTouched(f)}else this.jsf.formGroup.reset()}submitForm(){let i=this.jsf.validData;this.onSubmit.emit(this.objectWrap?i[1]:i)}initializeForm(i){if(this.schema()||this.layout()||this.data()||this.form()||this.model()||this.JSONSchema()||this.UISchema()||this.formData()||this.ngModel()||this.jsf.data){if(this.jsf.resetAllValues(),this.initializeOptions(),this.initializeSchema(),this.initializeLayout(),this.initializeData(),i&&(this.jsf.formValues=i),this.activateForm(),this.debug()||this.jsf.formOptions.debug){let n=[];this.debugOutput=n.map(f=>JSON.stringify(f,null,2)).join(`
|
|
13
|
-
`)}this.formInitialized=!0}}initializeOptions(){let i=this.language();i&&i!==this.jsf.language&&this.jsf.setLanguage(i),this.jsf.setOptions({debug:!!this.debug()});let n=this.loadExternalAssets()||!1,f=this.framework()||"default",r=this.options();V(r)&&(this.jsf.setOptions(r),n=r.loadExternalAssets||n,f=r.framework||f);let o=this.form();V(o)&&V(o.options)&&(this.jsf.setOptions(o.options),n=o.options.loadExternalAssets||n,f=o.options.framework||f);let a=this.widgets();if(V(a)&&this.jsf.setOptions({widgets:a}),this.frameworkLibrary.setLoadExternalAssets(n),this.frameworkLibrary.setFramework(f),this.jsf.framework=this.frameworkLibrary.getFramework(),V(this.jsf.formOptions.widgets))for(let D of Object.keys(this.jsf.formOptions.widgets))this.widgetLibrary.registerWidget(D,this.jsf.formOptions.widgets[D]);V(o)&&V(o.tpldata)&&this.jsf.setTpldata(o.tpldata);let s=this.theme();s&&this.frameworkLibrary.requestThemeChange(s)}initializeSchema(){let i=this.form(),n=this.schema(),f=this.JSONSchema();V(n)?(this.jsf.AngularSchemaFormCompatibility=!0,this.jsf.schema=(0,me.default)(n)):A(i,"schema")&&V(i.schema)?this.jsf.schema=(0,me.default)(i.schema):V(f)?(this.jsf.ReactJsonSchemaFormCompatibility=!0,this.jsf.schema=(0,me.default)(f)):A(i,"JSONSchema")&&V(i.JSONSchema)?(this.jsf.ReactJsonSchemaFormCompatibility=!0,this.jsf.schema=(0,me.default)(i.JSONSchema)):A(i,"properties")&&V(i.properties)?this.jsf.schema=(0,me.default)(i):V(i),fe(this.jsf.schema)||(tt("object",this.jsf.schema.type)&&(this.jsf.schema.type="object"),A(this.jsf.schema,"type")&&this.jsf.schema.type!=="object"?(this.jsf.schema={type:"object",properties:{1:this.jsf.schema}},this.objectWrap=!0):A(this.jsf.schema,"type")||(V(this.jsf.schema.properties)||V(this.jsf.schema.patternProperties)||V(this.jsf.schema.additionalProperties)?this.jsf.schema.type="object":(this.jsf.JsonFormCompatibility=!0,this.jsf.schema={type:"object",properties:this.jsf.schema})),this.jsf.schema=Pn(this.jsf.schema),this.jsf.compileAjvSchema(),this.jsf.schema=PN(this.jsf.schema,this.jsf.schemaRefLibrary,this.jsf.schemaRecursiveRefMap,this.jsf.dataRecursiveRefMap,this.jsf.arrayMap),A(this.jsf.schemaRefLibrary,"")&&(this.jsf.hasRootReference=!0))}initializeData(){let i=this.form(),n=this.data(),f=this.model(),r=this.ngModel();Q(n)?(this.jsf.formValues=(0,me.default)(n),this.formValuesInput="data"):Q(f)?(this.jsf.AngularSchemaFormCompatibility=!0,this.jsf.formValues=(0,me.default)(f),this.formValuesInput="model"):Q(r)?(this.jsf.AngularSchemaFormCompatibility=!0,this.jsf.formValues=(0,me.default)(r),this.formValuesInput="ngModel"):V(i)&&Q(i.value)?(this.jsf.JsonFormCompatibility=!0,this.jsf.formValues=(0,me.default)(i.value),this.formValuesInput="form.value"):V(i)&&Q(i.data)?(this.jsf.formValues=(0,me.default)(i.data),this.formValuesInput="form.data"):Q(this.formData())?(this.jsf.ReactJsonSchemaFormCompatibility=!0,this.formValuesInput="formData"):A(i,"formData")&&Q(i.formData)?(this.jsf.ReactJsonSchemaFormCompatibility=!0,this.jsf.formValues=(0,me.default)(i.formData),this.formValuesInput="form.formData"):this.formValuesInput="data"}initializeLayout(){let i=s=>((V(s)||T(s))&&kt(s,(D,d)=>{A(D,"options")&&V(D.options)&&(D.titleMap=D.options,delete D.options)},"top-down"),s),n=this.form(),f=this.layout();T(f)?this.jsf.layout=(0,me.default)(f):T(n)?(this.jsf.AngularSchemaFormCompatibility=!0,this.jsf.layout=(0,me.default)(n)):n&&T(n.form)?(this.jsf.JsonFormCompatibility=!0,this.jsf.layout=i((0,me.default)(n.form))):n&&T(n.layout)?this.jsf.layout=(0,me.default)(n.layout):this.jsf.layout=["*"];let r=null,o=this.form(),a=this.UISchema();V(a)?(this.jsf.ReactJsonSchemaFormCompatibility=!0,r=(0,me.default)(a)):A(o,"UISchema")?(this.jsf.ReactJsonSchemaFormCompatibility=!0,r=(0,me.default)(o.UISchema)):A(o,"uiSchema")?(this.jsf.ReactJsonSchemaFormCompatibility=!0,r=(0,me.default)(o.uiSchema)):A(o,"customFormItems")&&(this.jsf.JsonFormCompatibility=!0,r=i((0,me.default)(o.customFormItems))),r&&P.forEachDeep(r,(s,D)=>{let d=D.replace(/\//g,"/properties/").replace(/\/properties\/items\/properties\//g,"/items/properties/").replace(/\/properties\/titleMap\/properties\//g,"/titleMap/properties/");if(Q(s)&&Q(D)){let m=P.toKey(D),g=(P.parse(d)||[]).slice(0,-2),C;m.toLowerCase()==="ui:order"?C=[...g,"ui:order"]:(m.slice(0,3).toLowerCase()==="ui:"&&(m=m.slice(3)),C=[...g,"x-schema-form",m]),P.has(this.jsf.schema,g)&&!P.has(this.jsf.schema,C)&&P.set(this.jsf.schema,C,s)}})}activateForm(){if(this.unsubscribeOnActivateForm$.next(),fe(this.jsf.schema)&&(fe(this.jsf.formValues)||this.jsf.buildSchemaFromData()),fe(this.jsf.schema)||(this.jsf.compileAjvSchema(),this.jsf.buildLayout(this.widgetLibrary),this.jsf.buildFormGroupTemplate(this.jsf.formValues),this.jsf.buildFormGroup()),this.jsf.formGroup){!fe(this.jsf.formValues)&&this.jsf.formOptions.setSchemaDefaults!==!0&&this.jsf.formOptions.setLayoutDefaults!==!0&&this.setFormValues(this.jsf.formValues),this.dataChangesSubs=this.jsf.dataChanges.pipe(rf(this.unsubscribeOnActivateForm$)).subscribe(n=>{this.onChanges.emit(this.objectWrap?n[1]:n),this.formValuesInput&&this.formValuesInput.indexOf(".")===-1&&this[`${this.formValuesInput}Change`].emit(this.objectWrap?n[1]:n)}),this.statusChangesSubs=this.jsf.formGroup.statusChanges.pipe(rf(this.unsubscribeOnActivateForm$)).subscribe(()=>this.changeDetector.markForCheck()),this.isValidChangesSubs=this.jsf.isValidChanges.pipe(rf(this.unsubscribeOnActivateForm$)).subscribe(n=>this.isValid.emit(n)),this.validationErrorChangesSubs=this.jsf.validationErrorChanges.pipe(rf(this.unsubscribeOnActivateForm$)).subscribe(n=>this.validationErrors.emit(n)),this.formSchema.emit(this.jsf.schema),this.formLayout.emit(this.jsf.layout),this.onChanges.emit(this.objectWrap?this.jsf.data[1]:this.jsf.data);let i=P.get(this.jsf,"/formOptions/validateOnRender");if(i){let n=f=>{(i===!0||Q(f.value))&&f.markAsTouched(),Object.keys(f.controls||{}).forEach(r=>n(f.controls[r]))};n(this.jsf.formGroup),this.isValid.emit(this.jsf.isValid),this.validationErrors.emit(this.jsf.ajvErrors)}}}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["json-schema-form"]],inputs:{schema:[1,"schema"],layout:[1,"layout"],data:[1,"data"],options:[1,"options"],framework:[1,"framework"],widgets:[1,"widgets"],form:[1,"form"],model:[1,"model"],JSONSchema:[1,"JSONSchema"],UISchema:[1,"UISchema"],formData:[1,"formData"],ngModel:[1,"ngModel"],language:[1,"language"],loadExternalAssets:[1,"loadExternalAssets"],debug:[1,"debug"],theme:[1,"theme"],value:"value"},outputs:{onChanges:"onChanges",onSubmit:"onSubmit",isValid:"isValid",validationErrors:"validationErrors",formSchema:"formSchema",formLayout:"formLayout",dataChange:"dataChange",modelChange:"modelChange",formDataChange:"formDataChange",ngModelChange:"ngModelChange"},standalone:!1,features:[C1([Ke,Dq]),Hu],decls:3,vars:3,consts:[[1,"json-schema-form",3,"ngSubmit","autocomplete"],[3,"layout"],[4,"ngIf"]],template:function(n,f){n&1&&(c(0,"form",0),M("ngSubmit",function(){return f.submitForm()}),I(1,"root-widget",1),p(),ce(2,lN,4,1,"div",2)),n&2&&(b("autocomplete",!(f.jsf==null||f.jsf.formOptions==null)&&f.jsf.formOptions.autocomplete?"on":"off"),l(),b("layout",f.jsf==null?null:f.jsf.layout),l(),b("ngIf",f.debug()||(f.jsf==null||f.jsf.formOptions==null?null:f.jsf.formOptions.debug)))},dependencies:[bt,x1,_1,v1,Ll],encapsulation:2,changeDetection:0});let e=u;return e})(),m4=(()=>{let u=class u{};u.\u0275fac=function(n){return new(n||u)},u.\u0275mod=Ui({type:u}),u.\u0275inj=Hi({imports:[Hr,tu,as,jl,aq,jl]});let e=u;return e})();var dq=typeof global=="object"&&global&&global.Object===Object&&global,Ia=dq;var cq=typeof self=="object"&&self&&self.Object===Object&&self,pq=Ia||cq||Function("return this")(),ut=pq;var mq=ut.Symbol,Yt=mq;var F4=Object.prototype,Fq=F4.hasOwnProperty,Cq=F4.toString,Pr=Yt?Yt.toStringTag:void 0;function hq(e){var u=Fq.call(e,Pr),t=e[Pr];try{e[Pr]=void 0;var i=!0}catch{}var n=Cq.call(e);return i&&(u?e[Pr]=t:delete e[Pr]),n}var C4=hq;var gq=Object.prototype,bq=gq.toString;function Eq(e){return bq.call(e)}var h4=Eq;var _q="[object Null]",yq="[object Undefined]",g4=Yt?Yt.toStringTag:void 0;function vq(e){return e==null?e===void 0?yq:_q:g4&&g4 in Object(e)?C4(e):h4(e)}var Vt=vq;function Bq(e){return e!=null&&typeof e=="object"}var Ct=Bq;var xq="[object Symbol]";function wq(e){return typeof e=="symbol"||Ct(e)&&Vt(e)==xq}var b4=wq;function Sq(e,u){for(var t=-1,i=e==null?0:e.length,n=Array(i);++t<i;)n[t]=u(e[t],t,e);return n}var E4=Sq;var Iq=Array.isArray,du=Iq;var Aq=1/0,_4=Yt?Yt.prototype:void 0,y4=_4?_4.toString:void 0;function v4(e){if(typeof e=="string")return e;if(du(e))return E4(e,v4)+"";if(b4(e))return y4?y4.call(e):"";var u=e+"";return u=="0"&&1/e==-Aq?"-0":u}var B4=v4;function kq(e){var u=typeof e;return e!=null&&(u=="object"||u=="function")}var ht=kq;function $q(e){return e}var Aa=$q;var Tq="[object AsyncFunction]",Pq="[object Function]",Oq="[object GeneratorFunction]",Mq="[object Proxy]";function jq(e){if(!ht(e))return!1;var u=Vt(e);return u==Pq||u==Oq||u==Tq||u==Mq}var Nn=jq;var Nq=ut["__core-js_shared__"],ka=Nq;var x4=function(){var e=/[^.]+$/.exec(ka&&ka.keys&&ka.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function qq(e){return!!x4&&x4 in e}var w4=qq;var Vq=Function.prototype,Rq=Vq.toString;function Lq(e){if(e!=null){try{return Rq.call(e)}catch{}try{return e+""}catch{}}return""}var qu=Lq;var zq=/[\\^$.*+?()[\]{}|]/g,Hq=/^\[object .+?Constructor\]$/,Uq=Function.prototype,Wq=Object.prototype,Gq=Uq.toString,Kq=Wq.hasOwnProperty,Jq=RegExp("^"+Gq.call(Kq).replace(zq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Xq(e){if(!ht(e)||w4(e))return!1;var u=Nn(e)?Jq:Hq;return u.test(qu(e))}var S4=Xq;function Yq(e,u){return e?.[u]}var I4=Yq;function Zq(e,u){var t=I4(e,u);return S4(t)?t:void 0}var $t=Zq;var Qq=$t(ut,"WeakMap"),$a=Qq;var A4=Object.create,eV=function(){function e(){}return function(u){if(!ht(u))return{};if(A4)return A4(u);e.prototype=u;var t=new e;return e.prototype=void 0,t}}(),k4=eV;function tV(e,u,t){switch(t.length){case 0:return e.call(u);case 1:return e.call(u,t[0]);case 2:return e.call(u,t[0],t[1]);case 3:return e.call(u,t[0],t[1],t[2])}return e.apply(u,t)}var $4=tV;function uV(e,u){var t=-1,i=e.length;for(u||(u=Array(i));++t<i;)u[t]=e[t];return u}var Ta=uV;var iV=800,nV=16,fV=Date.now;function rV(e){var u=0,t=0;return function(){var i=fV(),n=nV-(i-t);if(t=i,n>0){if(++u>=iV)return arguments[0]}else u=0;return e.apply(void 0,arguments)}}var T4=rV;function oV(e){return function(){return e}}var P4=oV;var aV=function(){try{var e=$t(Object,"defineProperty");return e({},"",{}),e}catch{}}(),qn=aV;var sV=qn?function(e,u){return qn(e,"toString",{configurable:!0,enumerable:!1,value:P4(u),writable:!0})}:Aa,O4=sV;var DV=T4(O4),M4=DV;function lV(e,u){for(var t=-1,i=e==null?0:e.length;++t<i&&u(e[t],t,e)!==!1;);return e}var j4=lV;var dV=9007199254740991,cV=/^(?:0|[1-9]\d*)$/;function pV(e,u){var t=typeof e;return u=u??dV,!!u&&(t=="number"||t!="symbol"&&cV.test(e))&&e>-1&&e%1==0&&e<u}var Pa=pV;function mV(e,u,t){u=="__proto__"&&qn?qn(e,u,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[u]=t}var Vn=mV;function FV(e,u){return e===u||e!==e&&u!==u}var pi=FV;var CV=Object.prototype,hV=CV.hasOwnProperty;function gV(e,u,t){var i=e[u];(!(hV.call(e,u)&&pi(i,t))||t===void 0&&!(u in e))&&Vn(e,u,t)}var Oa=gV;function bV(e,u,t,i){var n=!t;t||(t={});for(var f=-1,r=u.length;++f<r;){var o=u[f],a=i?i(t[o],e[o],o,t,e):void 0;a===void 0&&(a=e[o]),n?Vn(t,o,a):Oa(t,o,a)}return t}var bu=bV;var N4=Math.max;function EV(e,u,t){return u=N4(u===void 0?e.length-1:u,0),function(){for(var i=arguments,n=-1,f=N4(i.length-u,0),r=Array(f);++n<f;)r[n]=i[u+n];n=-1;for(var o=Array(u+1);++n<u;)o[n]=i[n];return o[u]=t(r),$4(e,this,o)}}var q4=EV;function _V(e,u){return M4(q4(e,u,Aa),e+"")}var V4=_V;var yV=9007199254740991;function vV(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=yV}var Ma=vV;function BV(e){return e!=null&&Ma(e.length)&&!Nn(e)}var mi=BV;function xV(e,u,t){if(!ht(t))return!1;var i=typeof u;return(i=="number"?mi(t)&&Pa(u,t.length):i=="string"&&u in t)?pi(t[u],e):!1}var R4=xV;function wV(e){return V4(function(u,t){var i=-1,n=t.length,f=n>1?t[n-1]:void 0,r=n>2?t[2]:void 0;for(f=e.length>3&&typeof f=="function"?(n--,f):void 0,r&&R4(t[0],t[1],r)&&(f=n<3?void 0:f,n=1),u=Object(u);++i<n;){var o=t[i];o&&e(u,o,i,f)}return u})}var L4=wV;var SV=Object.prototype;function IV(e){var u=e&&e.constructor,t=typeof u=="function"&&u.prototype||SV;return e===t}var Rn=IV;function AV(e,u){for(var t=-1,i=Array(e);++t<e;)i[t]=u(t);return i}var z4=AV;var kV="[object Arguments]";function $V(e){return Ct(e)&&Vt(e)==kV}var zl=$V;var H4=Object.prototype,TV=H4.hasOwnProperty,PV=H4.propertyIsEnumerable,OV=zl(function(){return arguments}())?zl:function(e){return Ct(e)&&TV.call(e,"callee")&&!PV.call(e,"callee")},Or=OV;function MV(){return!1}var U4=MV;var K4=typeof exports=="object"&&exports&&!exports.nodeType&&exports,W4=K4&&typeof module=="object"&&module&&!module.nodeType&&module,jV=W4&&W4.exports===K4,G4=jV?ut.Buffer:void 0,NV=G4?G4.isBuffer:void 0,qV=NV||U4,Ln=qV;var VV="[object Arguments]",RV="[object Array]",LV="[object Boolean]",zV="[object Date]",HV="[object Error]",UV="[object Function]",WV="[object Map]",GV="[object Number]",KV="[object Object]",JV="[object RegExp]",XV="[object Set]",YV="[object String]",ZV="[object WeakMap]",QV="[object ArrayBuffer]",eR="[object DataView]",tR="[object Float32Array]",uR="[object Float64Array]",iR="[object Int8Array]",nR="[object Int16Array]",fR="[object Int32Array]",rR="[object Uint8Array]",oR="[object Uint8ClampedArray]",aR="[object Uint16Array]",sR="[object Uint32Array]",qe={};qe[tR]=qe[uR]=qe[iR]=qe[nR]=qe[fR]=qe[rR]=qe[oR]=qe[aR]=qe[sR]=!0;qe[VV]=qe[RV]=qe[QV]=qe[LV]=qe[eR]=qe[zV]=qe[HV]=qe[UV]=qe[WV]=qe[GV]=qe[KV]=qe[JV]=qe[XV]=qe[YV]=qe[ZV]=!1;function DR(e){return Ct(e)&&Ma(e.length)&&!!qe[Vt(e)]}var J4=DR;function lR(e){return function(u){return e(u)}}var zn=lR;var X4=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Mr=X4&&typeof module=="object"&&module&&!module.nodeType&&module,dR=Mr&&Mr.exports===X4,Hl=dR&&Ia.process,cR=function(){try{var e=Mr&&Mr.require&&Mr.require("util").types;return e||Hl&&Hl.binding&&Hl.binding("util")}catch{}}(),Vu=cR;var Y4=Vu&&Vu.isTypedArray,pR=Y4?zn(Y4):J4,ja=pR;var mR=Object.prototype,FR=mR.hasOwnProperty;function CR(e,u){var t=du(e),i=!t&&Or(e),n=!t&&!i&&Ln(e),f=!t&&!i&&!n&&ja(e),r=t||i||n||f,o=r?z4(e.length,String):[],a=o.length;for(var s in e)(u||FR.call(e,s))&&!(r&&(s=="length"||n&&(s=="offset"||s=="parent")||f&&(s=="buffer"||s=="byteLength"||s=="byteOffset")||Pa(s,a)))&&o.push(s);return o}var Na=CR;function hR(e,u){return function(t){return e(u(t))}}var qa=hR;var gR=qa(Object.keys,Object),Z4=gR;var bR=Object.prototype,ER=bR.hasOwnProperty;function _R(e){if(!Rn(e))return Z4(e);var u=[];for(var t in Object(e))ER.call(e,t)&&t!="constructor"&&u.push(t);return u}var Q4=_R;function yR(e){return mi(e)?Na(e):Q4(e)}var Hn=yR;function vR(e){var u=[];if(e!=null)for(var t in Object(e))u.push(t);return u}var e5=vR;var BR=Object.prototype,xR=BR.hasOwnProperty;function wR(e){if(!ht(e))return e5(e);var u=Rn(e),t=[];for(var i in e)i=="constructor"&&(u||!xR.call(e,i))||t.push(i);return t}var t5=wR;function SR(e){return mi(e)?Na(e,!0):t5(e)}var Eu=SR;var IR=$t(Object,"create"),Ru=IR;function AR(){this.__data__=Ru?Ru(null):{},this.size=0}var u5=AR;function kR(e){var u=this.has(e)&&delete this.__data__[e];return this.size-=u?1:0,u}var i5=kR;var $R="__lodash_hash_undefined__",TR=Object.prototype,PR=TR.hasOwnProperty;function OR(e){var u=this.__data__;if(Ru){var t=u[e];return t===$R?void 0:t}return PR.call(u,e)?u[e]:void 0}var n5=OR;var MR=Object.prototype,jR=MR.hasOwnProperty;function NR(e){var u=this.__data__;return Ru?u[e]!==void 0:jR.call(u,e)}var f5=NR;var qR="__lodash_hash_undefined__";function VR(e,u){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=Ru&&u===void 0?qR:u,this}var r5=VR;function Un(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}Un.prototype.clear=u5;Un.prototype.delete=i5;Un.prototype.get=n5;Un.prototype.has=f5;Un.prototype.set=r5;var Ul=Un;function RR(){this.__data__=[],this.size=0}var o5=RR;function LR(e,u){for(var t=e.length;t--;)if(pi(e[t][0],u))return t;return-1}var Fi=LR;var zR=Array.prototype,HR=zR.splice;function UR(e){var u=this.__data__,t=Fi(u,e);if(t<0)return!1;var i=u.length-1;return t==i?u.pop():HR.call(u,t,1),--this.size,!0}var a5=UR;function WR(e){var u=this.__data__,t=Fi(u,e);return t<0?void 0:u[t][1]}var s5=WR;function GR(e){return Fi(this.__data__,e)>-1}var D5=GR;function KR(e,u){var t=this.__data__,i=Fi(t,e);return i<0?(++this.size,t.push([e,u])):t[i][1]=u,this}var l5=KR;function Wn(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}Wn.prototype.clear=o5;Wn.prototype.delete=a5;Wn.prototype.get=s5;Wn.prototype.has=D5;Wn.prototype.set=l5;var Ci=Wn;var JR=$t(ut,"Map"),hi=JR;function XR(){this.size=0,this.__data__={hash:new Ul,map:new(hi||Ci),string:new Ul}}var d5=XR;function YR(e){var u=typeof e;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?e!=="__proto__":e===null}var c5=YR;function ZR(e,u){var t=e.__data__;return c5(u)?t[typeof u=="string"?"string":"hash"]:t.map}var gi=ZR;function QR(e){var u=gi(this,e).delete(e);return this.size-=u?1:0,u}var p5=QR;function eL(e){return gi(this,e).get(e)}var m5=eL;function tL(e){return gi(this,e).has(e)}var F5=tL;function uL(e,u){var t=gi(this,e),i=t.size;return t.set(e,u),this.size+=t.size==i?0:1,this}var C5=uL;function Gn(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}Gn.prototype.clear=d5;Gn.prototype.delete=p5;Gn.prototype.get=m5;Gn.prototype.has=F5;Gn.prototype.set=C5;var h5=Gn;function iL(e){return e==null?"":B4(e)}var g5=iL;function nL(e,u){for(var t=-1,i=u.length,n=e.length;++t<i;)e[n+t]=u[t];return e}var Va=nL;var fL=qa(Object.getPrototypeOf,Object),Kn=fL;var rL="[object Object]",oL=Function.prototype,aL=Object.prototype,b5=oL.toString,sL=aL.hasOwnProperty,DL=b5.call(Object);function lL(e){if(!Ct(e)||Vt(e)!=rL)return!1;var u=Kn(e);if(u===null)return!0;var t=sL.call(u,"constructor")&&u.constructor;return typeof t=="function"&&t instanceof t&&b5.call(t)==DL}var E5=lL;function dL(){this.__data__=new Ci,this.size=0}var _5=dL;function cL(e){var u=this.__data__,t=u.delete(e);return this.size=u.size,t}var y5=cL;function pL(e){return this.__data__.get(e)}var v5=pL;function mL(e){return this.__data__.has(e)}var B5=mL;var FL=200;function CL(e,u){var t=this.__data__;if(t instanceof Ci){var i=t.__data__;if(!hi||i.length<FL-1)return i.push([e,u]),this.size=++t.size,this;t=this.__data__=new h5(i)}return t.set(e,u),this.size=t.size,this}var x5=CL;function Jn(e){var u=this.__data__=new Ci(e);this.size=u.size}Jn.prototype.clear=_5;Jn.prototype.delete=y5;Jn.prototype.get=v5;Jn.prototype.has=B5;Jn.prototype.set=x5;var Ra=Jn;function hL(e,u){return e&&bu(u,Hn(u),e)}var w5=hL;function gL(e,u){return e&&bu(u,Eu(u),e)}var S5=gL;var $5=typeof exports=="object"&&exports&&!exports.nodeType&&exports,I5=$5&&typeof module=="object"&&module&&!module.nodeType&&module,bL=I5&&I5.exports===$5,A5=bL?ut.Buffer:void 0,k5=A5?A5.allocUnsafe:void 0;function EL(e,u){if(u)return e.slice();var t=e.length,i=k5?k5(t):new e.constructor(t);return e.copy(i),i}var La=EL;function _L(e,u){for(var t=-1,i=e==null?0:e.length,n=0,f=[];++t<i;){var r=e[t];u(r,t,e)&&(f[n++]=r)}return f}var T5=_L;function yL(){return[]}var za=yL;var vL=Object.prototype,BL=vL.propertyIsEnumerable,P5=Object.getOwnPropertySymbols,xL=P5?function(e){return e==null?[]:(e=Object(e),T5(P5(e),function(u){return BL.call(e,u)}))}:za,Xn=xL;function wL(e,u){return bu(e,Xn(e),u)}var O5=wL;var SL=Object.getOwnPropertySymbols,IL=SL?function(e){for(var u=[];e;)Va(u,Xn(e)),e=Kn(e);return u}:za,Ha=IL;function AL(e,u){return bu(e,Ha(e),u)}var M5=AL;function kL(e,u,t){var i=u(e);return du(e)?i:Va(i,t(e))}var Ua=kL;function $L(e){return Ua(e,Hn,Xn)}var j5=$L;function TL(e){return Ua(e,Eu,Ha)}var N5=TL;var PL=$t(ut,"DataView"),Wa=PL;var OL=$t(ut,"Promise"),Ga=OL;var ML=$t(ut,"Set"),Ka=ML;var q5="[object Map]",jL="[object Object]",V5="[object Promise]",R5="[object Set]",L5="[object WeakMap]",z5="[object DataView]",NL=qu(Wa),qL=qu(hi),VL=qu(Ga),RL=qu(Ka),LL=qu($a),zi=Vt;(Wa&&zi(new Wa(new ArrayBuffer(1)))!=z5||hi&&zi(new hi)!=q5||Ga&&zi(Ga.resolve())!=V5||Ka&&zi(new Ka)!=R5||$a&&zi(new $a)!=L5)&&(zi=function(e){var u=Vt(e),t=u==jL?e.constructor:void 0,i=t?qu(t):"";if(i)switch(i){case NL:return z5;case qL:return q5;case VL:return V5;case RL:return R5;case LL:return L5}return u});var Yn=zi;var zL=Object.prototype,HL=zL.hasOwnProperty;function UL(e){var u=e.length,t=new e.constructor(u);return u&&typeof e[0]=="string"&&HL.call(e,"index")&&(t.index=e.index,t.input=e.input),t}var H5=UL;var WL=ut.Uint8Array,Wl=WL;function GL(e){var u=new e.constructor(e.byteLength);return new Wl(u).set(new Wl(e)),u}var Zn=GL;function KL(e,u){var t=u?Zn(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}var U5=KL;var JL=/\w*$/;function XL(e){var u=new e.constructor(e.source,JL.exec(e));return u.lastIndex=e.lastIndex,u}var W5=XL;var G5=Yt?Yt.prototype:void 0,K5=G5?G5.valueOf:void 0;function YL(e){return K5?Object(K5.call(e)):{}}var J5=YL;function ZL(e,u){var t=u?Zn(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}var Ja=ZL;var QL="[object Boolean]",ez="[object Date]",tz="[object Map]",uz="[object Number]",iz="[object RegExp]",nz="[object Set]",fz="[object String]",rz="[object Symbol]",oz="[object ArrayBuffer]",az="[object DataView]",sz="[object Float32Array]",Dz="[object Float64Array]",lz="[object Int8Array]",dz="[object Int16Array]",cz="[object Int32Array]",pz="[object Uint8Array]",mz="[object Uint8ClampedArray]",Fz="[object Uint16Array]",Cz="[object Uint32Array]";function hz(e,u,t){var i=e.constructor;switch(u){case oz:return Zn(e);case QL:case ez:return new i(+e);case az:return U5(e,t);case sz:case Dz:case lz:case dz:case cz:case pz:case mz:case Fz:case Cz:return Ja(e,t);case tz:return new i;case uz:case fz:return new i(e);case iz:return W5(e);case nz:return new i;case rz:return J5(e)}}var X5=hz;function gz(e){return typeof e.constructor=="function"&&!Rn(e)?k4(Kn(e)):{}}var Xa=gz;var bz="[object Map]";function Ez(e){return Ct(e)&&Yn(e)==bz}var Y5=Ez;var Z5=Vu&&Vu.isMap,_z=Z5?zn(Z5):Y5,Q5=_z;var yz="[object Set]";function vz(e){return Ct(e)&&Yn(e)==yz}var e6=vz;var t6=Vu&&Vu.isSet,Bz=t6?zn(t6):e6,u6=Bz;var xz=1,wz=2,Sz=4,i6="[object Arguments]",Iz="[object Array]",Az="[object Boolean]",kz="[object Date]",$z="[object Error]",n6="[object Function]",Tz="[object GeneratorFunction]",Pz="[object Map]",Oz="[object Number]",f6="[object Object]",Mz="[object RegExp]",jz="[object Set]",Nz="[object String]",qz="[object Symbol]",Vz="[object WeakMap]",Rz="[object ArrayBuffer]",Lz="[object DataView]",zz="[object Float32Array]",Hz="[object Float64Array]",Uz="[object Int8Array]",Wz="[object Int16Array]",Gz="[object Int32Array]",Kz="[object Uint8Array]",Jz="[object Uint8ClampedArray]",Xz="[object Uint16Array]",Yz="[object Uint32Array]",$e={};$e[i6]=$e[Iz]=$e[Rz]=$e[Lz]=$e[Az]=$e[kz]=$e[zz]=$e[Hz]=$e[Uz]=$e[Wz]=$e[Gz]=$e[Pz]=$e[Oz]=$e[f6]=$e[Mz]=$e[jz]=$e[Nz]=$e[qz]=$e[Kz]=$e[Jz]=$e[Xz]=$e[Yz]=!0;$e[$z]=$e[n6]=$e[Vz]=!1;function Ya(e,u,t,i,n,f){var r,o=u&xz,a=u&wz,s=u&Sz;if(t&&(r=n?t(e,i,n,f):t(e)),r!==void 0)return r;if(!ht(e))return e;var D=du(e);if(D){if(r=H5(e),!o)return Ta(e,r)}else{var d=Yn(e),m=d==n6||d==Tz;if(Ln(e))return La(e,o);if(d==f6||d==i6||m&&!n){if(r=a||m?{}:Xa(e),!o)return a?M5(e,S5(r,e)):O5(e,w5(r,e))}else{if(!$e[d])return n?e:{};r=X5(e,d,o)}}f||(f=new Ra);var g=f.get(e);if(g)return g;f.set(e,r),u6(e)?e.forEach(function(y){r.add(Ya(y,u,t,y,e,f))}):Q5(e)&&e.forEach(function(y,k){r.set(k,Ya(y,u,t,k,e,f))});var C=s?a?N5:j5:a?Eu:Hn,E=D?void 0:C(e);return j4(E||e,function(y,k){E&&(k=y,y=e[k]),Oa(r,k,Ya(y,u,t,k,e,f))}),r}var r6=Ya;var Zz=1,Qz=4;function eH(e){return r6(e,Zz|Qz)}var Za=eH;function tH(e){return function(u,t,i){for(var n=-1,f=Object(u),r=i(u),o=r.length;o--;){var a=r[e?o:++n];if(t(f[a],a,f)===!1)break}return u}}var o6=tH;var uH=o6(),a6=uH;function iH(e,u,t){(t!==void 0&&!pi(e[u],t)||t===void 0&&!(u in e))&&Vn(e,u,t)}var jr=iH;function nH(e){return Ct(e)&&mi(e)}var s6=nH;function fH(e,u){if(!(u==="constructor"&&typeof e[u]=="function")&&u!="__proto__")return e[u]}var Nr=fH;function rH(e){return bu(e,Eu(e))}var D6=rH;function oH(e,u,t,i,n,f,r){var o=Nr(e,t),a=Nr(u,t),s=r.get(a);if(s){jr(e,t,s);return}var D=f?f(o,a,t+"",e,u,r):void 0,d=D===void 0;if(d){var m=du(a),g=!m&&Ln(a),C=!m&&!g&&ja(a);D=a,m||g||C?du(o)?D=o:s6(o)?D=Ta(o):g?(d=!1,D=La(a,!0)):C?(d=!1,D=Ja(a,!0)):D=[]:E5(a)||Or(a)?(D=o,Or(o)?D=D6(o):(!ht(o)||Nn(o))&&(D=Xa(a))):d=!1}d&&(r.set(a,D),n(D,a,i,f,r),r.delete(a)),jr(e,t,D)}var l6=oH;function d6(e,u,t,i,n){e!==u&&a6(u,function(f,r){if(n||(n=new Ra),ht(f))l6(e,u,r,t,d6,i,n);else{var o=i?i(Nr(e,r),f,r+"",e,u,n):void 0;o===void 0&&(o=f),jr(e,r,o)}},Eu)}var c6=d6;var aH=L4(function(e,u,t){c6(e,u,t)}),Gl=aH;var sH=0;function DH(e){var u=++sH;return g5(e)+u}var Kl=DH;var p6=(()=>{class e{jsonSchemaForm=x(Tr,{host:!0,self:!0,optional:!0});jsfPatch=!1;constructor(){let t=this.jsonSchemaForm,i=t.jsf.buildLayout.bind(t.jsf);t.jsf.buildLayout=n=>{if(i(n),t.jsf.formValues&&this.jsfPatch)return this.fixNestedArrayLayout(t.jsf.layout,t.jsf.formValues)}}fixNestedArrayLayout(t,i){return this.fixArray(t,i,""),t}fixArray(t,i,n){if(Array.isArray(t)){let f=t.filter(a=>a.name!=="_bridge"),r=f.filter(a=>a.items&&Array.isArray(a.items)).flatMap(a=>a.items).filter(a=>a.dataType==="array"||a.arrayItem);f.concat(r).filter(a=>a.dataType==="array"||a.arrayItem).forEach(a=>{this.fixNestedArray(a,i,n)})}else this.fixNestedArray(t,i,n)}fixNestedArray(t,i,n){if(t.items&&Array.isArray(t.items)){let f=t.items.find(r=>r.type==="$ref");if(f){let r=t.items.filter(s=>s.type==="section"||s.type==="div"),o=r.length>0?r.reduce((s,D)=>s.id>D.id?s:D):this.getItemTemplateFromRef(f),a=this.getDataFromPointer(i,f.dataPointer.replace(n,""));if(a===null)return;if(Array.isArray(a)){for(;t.items.length-1<a.length;){let s=Za(o);s._id=Kl("new_"),t.items.unshift(s)}a.forEach((s,D)=>{this.fixArray(t.items[D],s,f.dataPointer)})}else this.fixArray(t.items,i,f.dataPointer)}else this.fixArray(t.items,i,n);t.items.filter(r=>r.items&&Array.isArray(r.items)).forEach(r=>{this.fixArray(r.items,i,n)})}}getDataFromPointer(t,i){let n=t;return i.substring(1).split(/\//).filter(f=>f!=="-").forEach(f=>{try{n=n[f]}catch{n=null}}),n}getItemTemplateFromRef(t){let i={type:"section",items:[]},n=Za(t);return Gl(n,i),n}static \u0275fac=function(i){return new(i||e)};static \u0275dir=vu({type:e,selectors:[["","jsfPatch",""]],inputs:{jsfPatch:"jsfPatch"}})}return e})();function lH(e,u){if(e&1){let t=U();c(0,"json-schema-form",1),M("onChanges",function(n){j(t);let f=h();return N(f.onChanges(n))})("isValid",function(n){j(t);let f=h();return N(f.validChange(n))})("validationErrors",function(n){j(t);let f=h();return N(f.validationErrors(n))}),p()}if(e&2){let t=h();b("jsfPatch",t.configSchema.fixArrays)("options",t.jsonFormOptions)("schema",t.configSchema.schema)("layout",t.configSchema.layout)("form",t.configSchema.form)("data",t.currentData)("language",t.language)}}var Qn=(()=>{class e{$settings=x(Ve);configSchema;data;dataChange=gt();dataChanged=gt();isValid=gt();currentData;language="en";availableLanguages=["de","en","es","fr","it","pt","zh"];jsonFormOptions={addSubmit:!1,loadExternalAssets:!1,returnEmptyFields:!1,setSchemaDefaults:!0,autocomplete:!1};constructor(){}ngOnInit(){let t=this.$settings.env.lang.split("-")[0];this.availableLanguages.includes(t)&&(this.language=t),this.currentData=this.data}onChanges(t){this.dataChange.emit(t),this.dataChanged.emit(t)}validChange(t){this.isValid.emit(t)}validationErrors(t){t&&t.forEach(i=>console.error(i.instancePath,i.message))}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["app-schema-form"]],inputs:{configSchema:"configSchema",data:"data"},outputs:{dataChange:"dataChange",dataChanged:"dataChanged",isValid:"isValid"},decls:2,vars:1,consts:[["framework","bootstrap-5",1,"ng-bs5-validate",3,"jsfPatch","options","schema","layout","form","data","language"],["framework","bootstrap-5",1,"ng-bs5-validate",3,"onChanges","isValid","validationErrors","jsfPatch","options","schema","layout","form","data","language"]],template:function(i,n){i&1&&(c1(0),w(1,lH,1,7,"json-schema-form",0),p1()),i&2&&(l(),S(n.configSchema.schema?1:-1))},dependencies:[m4,Tr,p6],encapsulation:2})}return e})();var dH=["custompluginui"];function cH(e,u){e&1&&(c(0,"div",6),I(1,"i",18),p())}function pH(e,u){if(e&1){let t=U();c(0,"div",8)(1,"app-schema-form",19),Oe("dataChange",function(n){j(t);let f=h();return Pe(f.pluginConfig[0],n)||(f.pluginConfig[0]=n),N(n)}),M("dataChanged",function(n){j(t);let f=h();return N(f.schemaFormUpdatedSubject.next(n))})("isValid",function(n){j(t);let f=h();return N(f.onIsValid(n))}),p()()}if(e&2){let t=h();l(),b("configSchema",t.schema),Te("data",t.pluginConfig[0])}}function mH(e,u){if(e&1){let t=U();c(0,"button",23),M("click",function(){j(t);let n=h(2);return N(n.formActionSubject.next("cancel"))}),_(1),p()}if(e&2){let t=h(2);l(),H(t.formCancelButtonLabel)}}function FH(e,u){if(e&1){let t=U();c(0,"button",24),M("click",function(){j(t);let n=h(2);return N(n.formActionSubject.next("submit"))}),_(1),p()}if(e&2){let t=h(2);b("disabled",!t.formValid),l(),q(" ",t.formSubmitButtonLabel," ")}}function CH(e,u){if(e&1){let t=U();c(0,"div",8)(1,"app-schema-form",19),Oe("dataChange",function(n){j(t);let f=h();return Pe(f.formData,n)||(f.formData=n),N(n)}),M("dataChanged",function(n){j(t);let f=h();return N(f.formUpdatedSubject.next(n))})("isValid",function(n){j(t);let f=h();return N(f.formValidEvent(n))}),p(),c(2,"div",20),w(3,mH,2,1,"button",21),w(4,FH,2,2,"button",22),p()()}if(e&2){let t=h();l(),b("configSchema",t.formSchema),Te("data",t.formData),l(2),S(t.formCancelButtonLabel?3:-1),l(),S(t.formSubmitButtonLabel?4:-1)}}function hH(e,u){e&1&&(c(0,"div",9),I(1,"i",18),p())}function gH(e,u){if(e&1&&(I(0,"i",15),v(1,"translate")),e&2){let t=h();b("ngClass",t.formIsValid?"fa-circle-check green-text":t.strictValidation?"fa-circle-exclamation red-text":"fa-circle-exclamation orange-text")("ngbTooltip",B(1,2,t.formIsValid?"form.label_valid":t.strictValidation?"form.label_invalid_strict":"form.label_invalid"))}}function bH(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"form.button_save")," ")}function EH(e,u){e&1&&I(0,"i",17)}var m6=(()=>{class e{$activeModal=x(ve);$api=x(he);$modal=x(it);$plugin=x(bi);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);$ws=x(Qi);customPluginUiElementTarget=Xu("custompluginui");plugin;schema;pluginConfig;pluginAlias;pluginType;loading=!0;saveInProgress=!1;pluginSpinner=!1;saveButtonDisabled=!1;uiLoaded=!1;showSchemaForm=!1;schemaFormUpdatedSubject=new Pt;formId;formSchema;formData;formSubmitButtonLabel;formCancelButtonLabel;formValid=!0;formUpdatedSubject=new Pt;formActionSubject=new Pt;childBridges=[];isFirstSave=!1;formIsValid=!0;strictValidation=!1;io;basePath;iframe;schemaFormRecentlyUpdated=!1;schemaFormRecentlyRefreshed=!1;schemaFormRefreshSubject=new Pt;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("plugins/settings-ui"),this.pluginAlias=this.schema.pluginAlias,this.pluginType=this.schema.pluginType,this.strictValidation=this.schema.strictValidation,this.pluginConfig.length===0&&(this.isFirstSave=!0),this.io.connected?(this.io.socket.emit("start",this.plugin.name),setTimeout(()=>{this.io.connected.subscribe(()=>{this.io.socket.emit("start",this.plugin.name)})},1e3)):this.io.connected.subscribe(()=>{this.io.socket.emit("start",this.plugin.name)}),this.io.socket.on("response",t=>{t.action="response",this.iframe.contentWindow.postMessage(t,Zu.api.origin)}),this.io.socket.on("stream",t=>{t.action="stream",this.iframe.contentWindow.postMessage(t,Zu.api.origin)}),this.io.socket.on("ready",()=>{this.loading=!1,this.loadUi()}),this.schemaFormRefreshSubject.pipe(Vr(250)).subscribe(this.schemaFormRefresh.bind(this)),this.schemaFormUpdatedSubject.pipe(Vr(250),ns(1)).subscribe(this.schemaFormUpdated.bind(this)),this.formUpdatedSubject.pipe(Vr(100),ns(1)).subscribe(this.formUpdated.bind(this)),this.formActionSubject.subscribe(this.formActionEvent.bind(this)),this.basePath=`/plugins/settings-ui/${encodeURIComponent(this.plugin.name)}`,window.addEventListener("message",this.handleMessage,!1)}loadUi(){this.iframe=this.customPluginUiElementTarget().nativeElement,this.iframe.src=`${Zu.api.base+this.basePath}/index.html?origin=${encodeURIComponent(location.origin)}&v=${encodeURIComponent(this.plugin.installedVersion)}`}handleMessage=t=>{if(t.origin===Zu.api.origin||t.origin===window.origin)switch(t.data.action){case"loaded":this.injectDefaultStyles(t),this.confirmReady(t);break;case"request":{this.handleRequest(t);break}case"scrollHeight":this.setiFrameHeight(t),this.uiLoaded=!0;break;case"config.get":{this.requestResponse(t,this.getConfigBlocks());break}case"config.save":{this.requestResponse(t,this.savePluginConfig());break}case"config.update":{this.handleUpdateConfig(t,t.data.pluginConfig);break}case"config.schema":{this.requestResponse(t,this.schema);break}case"cachedAccessories.get":{this.handleGetCachedAccessories(t);break}case"schema.show":{this.formEnd(),this.showSchemaForm=!0;break}case"schema.hide":{this.showSchemaForm=!1;break}case"form.create":{this.showSchemaForm=!1,this.formCreate(t.data.formId,t.data.schema,t.data.data,t.data.submitButton,t.data.cancelButton);break}case"form.end":{this.formEnd();break}case"i18n.lang":{this.requestResponse(t,this.$translate.currentLang);break}case"i18n.translations":{this.requestResponse(t,this.$translate.store.translations[this.$translate.currentLang]);break}case"close":{this.$activeModal.close();break}case"toast.success":this.$toastr.success(t.data.message,t.data.title);break;case"toast.error":this.$toastr.error(t.data.message,t.data.title);break;case"toast.warning":this.$toastr.warning(t.data.message,t.data.title);break;case"toast.info":this.$toastr.info(t.data.message,t.data.title);break;case"spinner.show":this.pluginSpinner=!0;break;case"spinner.hide":this.pluginSpinner=!1;break;case"button.save.disabled":this.saveButtonDisabled=!0;break;case"button.save.enabled":this.saveButtonDisabled=!1;break;default:console.log(t)}};confirmReady(t){t.source.postMessage({action:"ready"},t.origin)}setiFrameHeight(t){this.iframe.style.height=`${t.data.scrollHeight+10}px`}handleRequest(t){this.io.socket.emit("request",t.data)}handleUpdateConfig(t,i){if(this.schemaFormRefreshSubject.next(void 0),!Array.isArray(i))return this.$toastr.error(this.$translate.instant("plugins.config.must_be_array"),this.$translate.instant("toast.title_error")),this.requestResponse(t,{message:this.$translate.instant("plugins.config.must_be_array")},!1);for(let n of i)if(typeof n!="object"||Array.isArray(n))return this.$toastr.error(this.$translate.instant("plugins.config.must_be_array_objects"),this.$translate.instant("toast.title_error")),this.requestResponse(t,{message:this.$translate.instant("plugins.config.must_be_array_objects")},!1);return this.updateConfigBlocks(i),this.requestResponse(t,this.getConfigBlocks())}requestResponse(t,i,n=!0){t.source.postMessage({action:"response",requestId:t.data.requestId,success:n,data:i},t.origin)}injectDefaultStyles(t){return G(this,null,function*(){let i=Array.from(window.document.body.classList).find(a=>a.startsWith("config-ui-x-")),n=window.document.body.classList.contains("dark-mode");t.source.postMessage({action:"body-class",class:i},t.origin),n&&t.source.postMessage({action:"body-class",class:"dark-mode"},t.origin);let f=Array.from(document.querySelectorAll("link"));for(let a of f)if(a.getAttribute("rel")==="stylesheet"){let s=a.getAttribute("href"),D=document.baseURI+(s.startsWith("/")?s.substring(1):s);t.source.postMessage({action:"link-element",href:D,rel:"stylesheet"},t.origin)}let r=Array.from(document.querySelectorAll("style"));for(let a of r)t.source.postMessage({action:"inline-style",style:a.innerHTML},t.origin);let o=`
|
|
13
|
+
`)}this.formInitialized=!0}}initializeOptions(){let i=this.language();i&&i!==this.jsf.language&&this.jsf.setLanguage(i),this.jsf.setOptions({debug:!!this.debug()});let n=this.loadExternalAssets()||!1,f=this.framework()||"default",r=this.options();V(r)&&(this.jsf.setOptions(r),n=r.loadExternalAssets||n,f=r.framework||f);let o=this.form();V(o)&&V(o.options)&&(this.jsf.setOptions(o.options),n=o.options.loadExternalAssets||n,f=o.options.framework||f);let a=this.widgets();if(V(a)&&this.jsf.setOptions({widgets:a}),this.frameworkLibrary.setLoadExternalAssets(n),this.frameworkLibrary.setFramework(f),this.jsf.framework=this.frameworkLibrary.getFramework(),V(this.jsf.formOptions.widgets))for(let D of Object.keys(this.jsf.formOptions.widgets))this.widgetLibrary.registerWidget(D,this.jsf.formOptions.widgets[D]);V(o)&&V(o.tpldata)&&this.jsf.setTpldata(o.tpldata);let s=this.theme();s&&this.frameworkLibrary.requestThemeChange(s)}initializeSchema(){let i=this.form(),n=this.schema(),f=this.JSONSchema();V(n)?(this.jsf.AngularSchemaFormCompatibility=!0,this.jsf.schema=(0,me.default)(n)):A(i,"schema")&&V(i.schema)?this.jsf.schema=(0,me.default)(i.schema):V(f)?(this.jsf.ReactJsonSchemaFormCompatibility=!0,this.jsf.schema=(0,me.default)(f)):A(i,"JSONSchema")&&V(i.JSONSchema)?(this.jsf.ReactJsonSchemaFormCompatibility=!0,this.jsf.schema=(0,me.default)(i.JSONSchema)):A(i,"properties")&&V(i.properties)?this.jsf.schema=(0,me.default)(i):V(i),fe(this.jsf.schema)||(tt("object",this.jsf.schema.type)&&(this.jsf.schema.type="object"),A(this.jsf.schema,"type")&&this.jsf.schema.type!=="object"?(this.jsf.schema={type:"object",properties:{1:this.jsf.schema}},this.objectWrap=!0):A(this.jsf.schema,"type")||(V(this.jsf.schema.properties)||V(this.jsf.schema.patternProperties)||V(this.jsf.schema.additionalProperties)?this.jsf.schema.type="object":(this.jsf.JsonFormCompatibility=!0,this.jsf.schema={type:"object",properties:this.jsf.schema})),this.jsf.schema=Pn(this.jsf.schema),this.jsf.compileAjvSchema(),this.jsf.schema=PN(this.jsf.schema,this.jsf.schemaRefLibrary,this.jsf.schemaRecursiveRefMap,this.jsf.dataRecursiveRefMap,this.jsf.arrayMap),A(this.jsf.schemaRefLibrary,"")&&(this.jsf.hasRootReference=!0))}initializeData(){let i=this.form(),n=this.data(),f=this.model(),r=this.ngModel();Q(n)?(this.jsf.formValues=(0,me.default)(n),this.formValuesInput="data"):Q(f)?(this.jsf.AngularSchemaFormCompatibility=!0,this.jsf.formValues=(0,me.default)(f),this.formValuesInput="model"):Q(r)?(this.jsf.AngularSchemaFormCompatibility=!0,this.jsf.formValues=(0,me.default)(r),this.formValuesInput="ngModel"):V(i)&&Q(i.value)?(this.jsf.JsonFormCompatibility=!0,this.jsf.formValues=(0,me.default)(i.value),this.formValuesInput="form.value"):V(i)&&Q(i.data)?(this.jsf.formValues=(0,me.default)(i.data),this.formValuesInput="form.data"):Q(this.formData())?(this.jsf.ReactJsonSchemaFormCompatibility=!0,this.formValuesInput="formData"):A(i,"formData")&&Q(i.formData)?(this.jsf.ReactJsonSchemaFormCompatibility=!0,this.jsf.formValues=(0,me.default)(i.formData),this.formValuesInput="form.formData"):this.formValuesInput="data"}initializeLayout(){let i=s=>((V(s)||T(s))&&kt(s,(D,d)=>{A(D,"options")&&V(D.options)&&(D.titleMap=D.options,delete D.options)},"top-down"),s),n=this.form(),f=this.layout();T(f)?this.jsf.layout=(0,me.default)(f):T(n)?(this.jsf.AngularSchemaFormCompatibility=!0,this.jsf.layout=(0,me.default)(n)):n&&T(n.form)?(this.jsf.JsonFormCompatibility=!0,this.jsf.layout=i((0,me.default)(n.form))):n&&T(n.layout)?this.jsf.layout=(0,me.default)(n.layout):this.jsf.layout=["*"];let r=null,o=this.form(),a=this.UISchema();V(a)?(this.jsf.ReactJsonSchemaFormCompatibility=!0,r=(0,me.default)(a)):A(o,"UISchema")?(this.jsf.ReactJsonSchemaFormCompatibility=!0,r=(0,me.default)(o.UISchema)):A(o,"uiSchema")?(this.jsf.ReactJsonSchemaFormCompatibility=!0,r=(0,me.default)(o.uiSchema)):A(o,"customFormItems")&&(this.jsf.JsonFormCompatibility=!0,r=i((0,me.default)(o.customFormItems))),r&&P.forEachDeep(r,(s,D)=>{let d=D.replace(/\//g,"/properties/").replace(/\/properties\/items\/properties\//g,"/items/properties/").replace(/\/properties\/titleMap\/properties\//g,"/titleMap/properties/");if(Q(s)&&Q(D)){let m=P.toKey(D),g=(P.parse(d)||[]).slice(0,-2),C;m.toLowerCase()==="ui:order"?C=[...g,"ui:order"]:(m.slice(0,3).toLowerCase()==="ui:"&&(m=m.slice(3)),C=[...g,"x-schema-form",m]),P.has(this.jsf.schema,g)&&!P.has(this.jsf.schema,C)&&P.set(this.jsf.schema,C,s)}})}activateForm(){if(this.unsubscribeOnActivateForm$.next(),fe(this.jsf.schema)&&(fe(this.jsf.formValues)||this.jsf.buildSchemaFromData()),fe(this.jsf.schema)||(this.jsf.compileAjvSchema(),this.jsf.buildLayout(this.widgetLibrary),this.jsf.buildFormGroupTemplate(this.jsf.formValues),this.jsf.buildFormGroup()),this.jsf.formGroup){!fe(this.jsf.formValues)&&this.jsf.formOptions.setSchemaDefaults!==!0&&this.jsf.formOptions.setLayoutDefaults!==!0&&this.setFormValues(this.jsf.formValues),this.dataChangesSubs=this.jsf.dataChanges.pipe(rf(this.unsubscribeOnActivateForm$)).subscribe(n=>{this.onChanges.emit(this.objectWrap?n[1]:n),this.formValuesInput&&this.formValuesInput.indexOf(".")===-1&&this[`${this.formValuesInput}Change`].emit(this.objectWrap?n[1]:n)}),this.statusChangesSubs=this.jsf.formGroup.statusChanges.pipe(rf(this.unsubscribeOnActivateForm$)).subscribe(()=>this.changeDetector.markForCheck()),this.isValidChangesSubs=this.jsf.isValidChanges.pipe(rf(this.unsubscribeOnActivateForm$)).subscribe(n=>this.isValid.emit(n)),this.validationErrorChangesSubs=this.jsf.validationErrorChanges.pipe(rf(this.unsubscribeOnActivateForm$)).subscribe(n=>this.validationErrors.emit(n)),this.formSchema.emit(this.jsf.schema),this.formLayout.emit(this.jsf.layout),this.onChanges.emit(this.objectWrap?this.jsf.data[1]:this.jsf.data);let i=P.get(this.jsf,"/formOptions/validateOnRender");if(i){let n=f=>{(i===!0||Q(f.value))&&f.markAsTouched(),Object.keys(f.controls||{}).forEach(r=>n(f.controls[r]))};n(this.jsf.formGroup),this.isValid.emit(this.jsf.isValid),this.validationErrors.emit(this.jsf.ajvErrors)}}}};u.\u0275fac=function(n){return new(n||u)},u.\u0275cmp=Y({type:u,selectors:[["json-schema-form"]],inputs:{schema:[1,"schema"],layout:[1,"layout"],data:[1,"data"],options:[1,"options"],framework:[1,"framework"],widgets:[1,"widgets"],form:[1,"form"],model:[1,"model"],JSONSchema:[1,"JSONSchema"],UISchema:[1,"UISchema"],formData:[1,"formData"],ngModel:[1,"ngModel"],language:[1,"language"],loadExternalAssets:[1,"loadExternalAssets"],debug:[1,"debug"],theme:[1,"theme"],value:"value"},outputs:{onChanges:"onChanges",onSubmit:"onSubmit",isValid:"isValid",validationErrors:"validationErrors",formSchema:"formSchema",formLayout:"formLayout",dataChange:"dataChange",modelChange:"modelChange",formDataChange:"formDataChange",ngModelChange:"ngModelChange"},standalone:!1,features:[C1([Ke,Dq]),Hu],decls:3,vars:3,consts:[[1,"json-schema-form",3,"ngSubmit","autocomplete"],[3,"layout"],[4,"ngIf"]],template:function(n,f){n&1&&(c(0,"form",0),M("ngSubmit",function(){return f.submitForm()}),I(1,"root-widget",1),p(),ce(2,lN,4,1,"div",2)),n&2&&(b("autocomplete",!(f.jsf==null||f.jsf.formOptions==null)&&f.jsf.formOptions.autocomplete?"on":"off"),l(),b("layout",f.jsf==null?null:f.jsf.layout),l(),b("ngIf",f.debug()||(f.jsf==null||f.jsf.formOptions==null?null:f.jsf.formOptions.debug)))},dependencies:[bt,x1,_1,v1,Ll],encapsulation:2,changeDetection:0});let e=u;return e})(),m4=(()=>{let u=class u{};u.\u0275fac=function(n){return new(n||u)},u.\u0275mod=Ui({type:u}),u.\u0275inj=Hi({imports:[Hr,tu,as,jl,aq,jl]});let e=u;return e})();var dq=typeof global=="object"&&global&&global.Object===Object&&global,Ia=dq;var cq=typeof self=="object"&&self&&self.Object===Object&&self,pq=Ia||cq||Function("return this")(),ut=pq;var mq=ut.Symbol,Yt=mq;var F4=Object.prototype,Fq=F4.hasOwnProperty,Cq=F4.toString,Pr=Yt?Yt.toStringTag:void 0;function hq(e){var u=Fq.call(e,Pr),t=e[Pr];try{e[Pr]=void 0;var i=!0}catch{}var n=Cq.call(e);return i&&(u?e[Pr]=t:delete e[Pr]),n}var C4=hq;var gq=Object.prototype,bq=gq.toString;function Eq(e){return bq.call(e)}var h4=Eq;var _q="[object Null]",yq="[object Undefined]",g4=Yt?Yt.toStringTag:void 0;function vq(e){return e==null?e===void 0?yq:_q:g4&&g4 in Object(e)?C4(e):h4(e)}var Vt=vq;function Bq(e){return e!=null&&typeof e=="object"}var Ct=Bq;var xq="[object Symbol]";function wq(e){return typeof e=="symbol"||Ct(e)&&Vt(e)==xq}var b4=wq;function Sq(e,u){for(var t=-1,i=e==null?0:e.length,n=Array(i);++t<i;)n[t]=u(e[t],t,e);return n}var E4=Sq;var Iq=Array.isArray,du=Iq;var Aq=1/0,_4=Yt?Yt.prototype:void 0,y4=_4?_4.toString:void 0;function v4(e){if(typeof e=="string")return e;if(du(e))return E4(e,v4)+"";if(b4(e))return y4?y4.call(e):"";var u=e+"";return u=="0"&&1/e==-Aq?"-0":u}var B4=v4;function kq(e){var u=typeof e;return e!=null&&(u=="object"||u=="function")}var ht=kq;function $q(e){return e}var Aa=$q;var Tq="[object AsyncFunction]",Pq="[object Function]",Oq="[object GeneratorFunction]",Mq="[object Proxy]";function jq(e){if(!ht(e))return!1;var u=Vt(e);return u==Pq||u==Oq||u==Tq||u==Mq}var Nn=jq;var Nq=ut["__core-js_shared__"],ka=Nq;var x4=function(){var e=/[^.]+$/.exec(ka&&ka.keys&&ka.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function qq(e){return!!x4&&x4 in e}var w4=qq;var Vq=Function.prototype,Rq=Vq.toString;function Lq(e){if(e!=null){try{return Rq.call(e)}catch{}try{return e+""}catch{}}return""}var qu=Lq;var zq=/[\\^$.*+?()[\]{}|]/g,Hq=/^\[object .+?Constructor\]$/,Uq=Function.prototype,Wq=Object.prototype,Gq=Uq.toString,Kq=Wq.hasOwnProperty,Jq=RegExp("^"+Gq.call(Kq).replace(zq,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Xq(e){if(!ht(e)||w4(e))return!1;var u=Nn(e)?Jq:Hq;return u.test(qu(e))}var S4=Xq;function Yq(e,u){return e?.[u]}var I4=Yq;function Zq(e,u){var t=I4(e,u);return S4(t)?t:void 0}var $t=Zq;var Qq=$t(ut,"WeakMap"),$a=Qq;var A4=Object.create,eV=function(){function e(){}return function(u){if(!ht(u))return{};if(A4)return A4(u);e.prototype=u;var t=new e;return e.prototype=void 0,t}}(),k4=eV;function tV(e,u,t){switch(t.length){case 0:return e.call(u);case 1:return e.call(u,t[0]);case 2:return e.call(u,t[0],t[1]);case 3:return e.call(u,t[0],t[1],t[2])}return e.apply(u,t)}var $4=tV;function uV(e,u){var t=-1,i=e.length;for(u||(u=Array(i));++t<i;)u[t]=e[t];return u}var Ta=uV;var iV=800,nV=16,fV=Date.now;function rV(e){var u=0,t=0;return function(){var i=fV(),n=nV-(i-t);if(t=i,n>0){if(++u>=iV)return arguments[0]}else u=0;return e.apply(void 0,arguments)}}var T4=rV;function oV(e){return function(){return e}}var P4=oV;var aV=function(){try{var e=$t(Object,"defineProperty");return e({},"",{}),e}catch{}}(),qn=aV;var sV=qn?function(e,u){return qn(e,"toString",{configurable:!0,enumerable:!1,value:P4(u),writable:!0})}:Aa,O4=sV;var DV=T4(O4),M4=DV;function lV(e,u){for(var t=-1,i=e==null?0:e.length;++t<i&&u(e[t],t,e)!==!1;);return e}var j4=lV;var dV=9007199254740991,cV=/^(?:0|[1-9]\d*)$/;function pV(e,u){var t=typeof e;return u=u??dV,!!u&&(t=="number"||t!="symbol"&&cV.test(e))&&e>-1&&e%1==0&&e<u}var Pa=pV;function mV(e,u,t){u=="__proto__"&&qn?qn(e,u,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[u]=t}var Vn=mV;function FV(e,u){return e===u||e!==e&&u!==u}var pi=FV;var CV=Object.prototype,hV=CV.hasOwnProperty;function gV(e,u,t){var i=e[u];(!(hV.call(e,u)&&pi(i,t))||t===void 0&&!(u in e))&&Vn(e,u,t)}var Oa=gV;function bV(e,u,t,i){var n=!t;t||(t={});for(var f=-1,r=u.length;++f<r;){var o=u[f],a=i?i(t[o],e[o],o,t,e):void 0;a===void 0&&(a=e[o]),n?Vn(t,o,a):Oa(t,o,a)}return t}var bu=bV;var N4=Math.max;function EV(e,u,t){return u=N4(u===void 0?e.length-1:u,0),function(){for(var i=arguments,n=-1,f=N4(i.length-u,0),r=Array(f);++n<f;)r[n]=i[u+n];n=-1;for(var o=Array(u+1);++n<u;)o[n]=i[n];return o[u]=t(r),$4(e,this,o)}}var q4=EV;function _V(e,u){return M4(q4(e,u,Aa),e+"")}var V4=_V;var yV=9007199254740991;function vV(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=yV}var Ma=vV;function BV(e){return e!=null&&Ma(e.length)&&!Nn(e)}var mi=BV;function xV(e,u,t){if(!ht(t))return!1;var i=typeof u;return(i=="number"?mi(t)&&Pa(u,t.length):i=="string"&&u in t)?pi(t[u],e):!1}var R4=xV;function wV(e){return V4(function(u,t){var i=-1,n=t.length,f=n>1?t[n-1]:void 0,r=n>2?t[2]:void 0;for(f=e.length>3&&typeof f=="function"?(n--,f):void 0,r&&R4(t[0],t[1],r)&&(f=n<3?void 0:f,n=1),u=Object(u);++i<n;){var o=t[i];o&&e(u,o,i,f)}return u})}var L4=wV;var SV=Object.prototype;function IV(e){var u=e&&e.constructor,t=typeof u=="function"&&u.prototype||SV;return e===t}var Rn=IV;function AV(e,u){for(var t=-1,i=Array(e);++t<e;)i[t]=u(t);return i}var z4=AV;var kV="[object Arguments]";function $V(e){return Ct(e)&&Vt(e)==kV}var zl=$V;var H4=Object.prototype,TV=H4.hasOwnProperty,PV=H4.propertyIsEnumerable,OV=zl(function(){return arguments}())?zl:function(e){return Ct(e)&&TV.call(e,"callee")&&!PV.call(e,"callee")},Or=OV;function MV(){return!1}var U4=MV;var K4=typeof exports=="object"&&exports&&!exports.nodeType&&exports,W4=K4&&typeof module=="object"&&module&&!module.nodeType&&module,jV=W4&&W4.exports===K4,G4=jV?ut.Buffer:void 0,NV=G4?G4.isBuffer:void 0,qV=NV||U4,Ln=qV;var VV="[object Arguments]",RV="[object Array]",LV="[object Boolean]",zV="[object Date]",HV="[object Error]",UV="[object Function]",WV="[object Map]",GV="[object Number]",KV="[object Object]",JV="[object RegExp]",XV="[object Set]",YV="[object String]",ZV="[object WeakMap]",QV="[object ArrayBuffer]",eR="[object DataView]",tR="[object Float32Array]",uR="[object Float64Array]",iR="[object Int8Array]",nR="[object Int16Array]",fR="[object Int32Array]",rR="[object Uint8Array]",oR="[object Uint8ClampedArray]",aR="[object Uint16Array]",sR="[object Uint32Array]",qe={};qe[tR]=qe[uR]=qe[iR]=qe[nR]=qe[fR]=qe[rR]=qe[oR]=qe[aR]=qe[sR]=!0;qe[VV]=qe[RV]=qe[QV]=qe[LV]=qe[eR]=qe[zV]=qe[HV]=qe[UV]=qe[WV]=qe[GV]=qe[KV]=qe[JV]=qe[XV]=qe[YV]=qe[ZV]=!1;function DR(e){return Ct(e)&&Ma(e.length)&&!!qe[Vt(e)]}var J4=DR;function lR(e){return function(u){return e(u)}}var zn=lR;var X4=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Mr=X4&&typeof module=="object"&&module&&!module.nodeType&&module,dR=Mr&&Mr.exports===X4,Hl=dR&&Ia.process,cR=function(){try{var e=Mr&&Mr.require&&Mr.require("util").types;return e||Hl&&Hl.binding&&Hl.binding("util")}catch{}}(),Vu=cR;var Y4=Vu&&Vu.isTypedArray,pR=Y4?zn(Y4):J4,ja=pR;var mR=Object.prototype,FR=mR.hasOwnProperty;function CR(e,u){var t=du(e),i=!t&&Or(e),n=!t&&!i&&Ln(e),f=!t&&!i&&!n&&ja(e),r=t||i||n||f,o=r?z4(e.length,String):[],a=o.length;for(var s in e)(u||FR.call(e,s))&&!(r&&(s=="length"||n&&(s=="offset"||s=="parent")||f&&(s=="buffer"||s=="byteLength"||s=="byteOffset")||Pa(s,a)))&&o.push(s);return o}var Na=CR;function hR(e,u){return function(t){return e(u(t))}}var qa=hR;var gR=qa(Object.keys,Object),Z4=gR;var bR=Object.prototype,ER=bR.hasOwnProperty;function _R(e){if(!Rn(e))return Z4(e);var u=[];for(var t in Object(e))ER.call(e,t)&&t!="constructor"&&u.push(t);return u}var Q4=_R;function yR(e){return mi(e)?Na(e):Q4(e)}var Hn=yR;function vR(e){var u=[];if(e!=null)for(var t in Object(e))u.push(t);return u}var e5=vR;var BR=Object.prototype,xR=BR.hasOwnProperty;function wR(e){if(!ht(e))return e5(e);var u=Rn(e),t=[];for(var i in e)i=="constructor"&&(u||!xR.call(e,i))||t.push(i);return t}var t5=wR;function SR(e){return mi(e)?Na(e,!0):t5(e)}var Eu=SR;var IR=$t(Object,"create"),Ru=IR;function AR(){this.__data__=Ru?Ru(null):{},this.size=0}var u5=AR;function kR(e){var u=this.has(e)&&delete this.__data__[e];return this.size-=u?1:0,u}var i5=kR;var $R="__lodash_hash_undefined__",TR=Object.prototype,PR=TR.hasOwnProperty;function OR(e){var u=this.__data__;if(Ru){var t=u[e];return t===$R?void 0:t}return PR.call(u,e)?u[e]:void 0}var n5=OR;var MR=Object.prototype,jR=MR.hasOwnProperty;function NR(e){var u=this.__data__;return Ru?u[e]!==void 0:jR.call(u,e)}var f5=NR;var qR="__lodash_hash_undefined__";function VR(e,u){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=Ru&&u===void 0?qR:u,this}var r5=VR;function Un(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}Un.prototype.clear=u5;Un.prototype.delete=i5;Un.prototype.get=n5;Un.prototype.has=f5;Un.prototype.set=r5;var Ul=Un;function RR(){this.__data__=[],this.size=0}var o5=RR;function LR(e,u){for(var t=e.length;t--;)if(pi(e[t][0],u))return t;return-1}var Fi=LR;var zR=Array.prototype,HR=zR.splice;function UR(e){var u=this.__data__,t=Fi(u,e);if(t<0)return!1;var i=u.length-1;return t==i?u.pop():HR.call(u,t,1),--this.size,!0}var a5=UR;function WR(e){var u=this.__data__,t=Fi(u,e);return t<0?void 0:u[t][1]}var s5=WR;function GR(e){return Fi(this.__data__,e)>-1}var D5=GR;function KR(e,u){var t=this.__data__,i=Fi(t,e);return i<0?(++this.size,t.push([e,u])):t[i][1]=u,this}var l5=KR;function Wn(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}Wn.prototype.clear=o5;Wn.prototype.delete=a5;Wn.prototype.get=s5;Wn.prototype.has=D5;Wn.prototype.set=l5;var Ci=Wn;var JR=$t(ut,"Map"),hi=JR;function XR(){this.size=0,this.__data__={hash:new Ul,map:new(hi||Ci),string:new Ul}}var d5=XR;function YR(e){var u=typeof e;return u=="string"||u=="number"||u=="symbol"||u=="boolean"?e!=="__proto__":e===null}var c5=YR;function ZR(e,u){var t=e.__data__;return c5(u)?t[typeof u=="string"?"string":"hash"]:t.map}var gi=ZR;function QR(e){var u=gi(this,e).delete(e);return this.size-=u?1:0,u}var p5=QR;function eL(e){return gi(this,e).get(e)}var m5=eL;function tL(e){return gi(this,e).has(e)}var F5=tL;function uL(e,u){var t=gi(this,e),i=t.size;return t.set(e,u),this.size+=t.size==i?0:1,this}var C5=uL;function Gn(e){var u=-1,t=e==null?0:e.length;for(this.clear();++u<t;){var i=e[u];this.set(i[0],i[1])}}Gn.prototype.clear=d5;Gn.prototype.delete=p5;Gn.prototype.get=m5;Gn.prototype.has=F5;Gn.prototype.set=C5;var h5=Gn;function iL(e){return e==null?"":B4(e)}var g5=iL;function nL(e,u){for(var t=-1,i=u.length,n=e.length;++t<i;)e[n+t]=u[t];return e}var Va=nL;var fL=qa(Object.getPrototypeOf,Object),Kn=fL;var rL="[object Object]",oL=Function.prototype,aL=Object.prototype,b5=oL.toString,sL=aL.hasOwnProperty,DL=b5.call(Object);function lL(e){if(!Ct(e)||Vt(e)!=rL)return!1;var u=Kn(e);if(u===null)return!0;var t=sL.call(u,"constructor")&&u.constructor;return typeof t=="function"&&t instanceof t&&b5.call(t)==DL}var E5=lL;function dL(){this.__data__=new Ci,this.size=0}var _5=dL;function cL(e){var u=this.__data__,t=u.delete(e);return this.size=u.size,t}var y5=cL;function pL(e){return this.__data__.get(e)}var v5=pL;function mL(e){return this.__data__.has(e)}var B5=mL;var FL=200;function CL(e,u){var t=this.__data__;if(t instanceof Ci){var i=t.__data__;if(!hi||i.length<FL-1)return i.push([e,u]),this.size=++t.size,this;t=this.__data__=new h5(i)}return t.set(e,u),this.size=t.size,this}var x5=CL;function Jn(e){var u=this.__data__=new Ci(e);this.size=u.size}Jn.prototype.clear=_5;Jn.prototype.delete=y5;Jn.prototype.get=v5;Jn.prototype.has=B5;Jn.prototype.set=x5;var Ra=Jn;function hL(e,u){return e&&bu(u,Hn(u),e)}var w5=hL;function gL(e,u){return e&&bu(u,Eu(u),e)}var S5=gL;var $5=typeof exports=="object"&&exports&&!exports.nodeType&&exports,I5=$5&&typeof module=="object"&&module&&!module.nodeType&&module,bL=I5&&I5.exports===$5,A5=bL?ut.Buffer:void 0,k5=A5?A5.allocUnsafe:void 0;function EL(e,u){if(u)return e.slice();var t=e.length,i=k5?k5(t):new e.constructor(t);return e.copy(i),i}var La=EL;function _L(e,u){for(var t=-1,i=e==null?0:e.length,n=0,f=[];++t<i;){var r=e[t];u(r,t,e)&&(f[n++]=r)}return f}var T5=_L;function yL(){return[]}var za=yL;var vL=Object.prototype,BL=vL.propertyIsEnumerable,P5=Object.getOwnPropertySymbols,xL=P5?function(e){return e==null?[]:(e=Object(e),T5(P5(e),function(u){return BL.call(e,u)}))}:za,Xn=xL;function wL(e,u){return bu(e,Xn(e),u)}var O5=wL;var SL=Object.getOwnPropertySymbols,IL=SL?function(e){for(var u=[];e;)Va(u,Xn(e)),e=Kn(e);return u}:za,Ha=IL;function AL(e,u){return bu(e,Ha(e),u)}var M5=AL;function kL(e,u,t){var i=u(e);return du(e)?i:Va(i,t(e))}var Ua=kL;function $L(e){return Ua(e,Hn,Xn)}var j5=$L;function TL(e){return Ua(e,Eu,Ha)}var N5=TL;var PL=$t(ut,"DataView"),Wa=PL;var OL=$t(ut,"Promise"),Ga=OL;var ML=$t(ut,"Set"),Ka=ML;var q5="[object Map]",jL="[object Object]",V5="[object Promise]",R5="[object Set]",L5="[object WeakMap]",z5="[object DataView]",NL=qu(Wa),qL=qu(hi),VL=qu(Ga),RL=qu(Ka),LL=qu($a),zi=Vt;(Wa&&zi(new Wa(new ArrayBuffer(1)))!=z5||hi&&zi(new hi)!=q5||Ga&&zi(Ga.resolve())!=V5||Ka&&zi(new Ka)!=R5||$a&&zi(new $a)!=L5)&&(zi=function(e){var u=Vt(e),t=u==jL?e.constructor:void 0,i=t?qu(t):"";if(i)switch(i){case NL:return z5;case qL:return q5;case VL:return V5;case RL:return R5;case LL:return L5}return u});var Yn=zi;var zL=Object.prototype,HL=zL.hasOwnProperty;function UL(e){var u=e.length,t=new e.constructor(u);return u&&typeof e[0]=="string"&&HL.call(e,"index")&&(t.index=e.index,t.input=e.input),t}var H5=UL;var WL=ut.Uint8Array,Wl=WL;function GL(e){var u=new e.constructor(e.byteLength);return new Wl(u).set(new Wl(e)),u}var Zn=GL;function KL(e,u){var t=u?Zn(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.byteLength)}var U5=KL;var JL=/\w*$/;function XL(e){var u=new e.constructor(e.source,JL.exec(e));return u.lastIndex=e.lastIndex,u}var W5=XL;var G5=Yt?Yt.prototype:void 0,K5=G5?G5.valueOf:void 0;function YL(e){return K5?Object(K5.call(e)):{}}var J5=YL;function ZL(e,u){var t=u?Zn(e.buffer):e.buffer;return new e.constructor(t,e.byteOffset,e.length)}var Ja=ZL;var QL="[object Boolean]",ez="[object Date]",tz="[object Map]",uz="[object Number]",iz="[object RegExp]",nz="[object Set]",fz="[object String]",rz="[object Symbol]",oz="[object ArrayBuffer]",az="[object DataView]",sz="[object Float32Array]",Dz="[object Float64Array]",lz="[object Int8Array]",dz="[object Int16Array]",cz="[object Int32Array]",pz="[object Uint8Array]",mz="[object Uint8ClampedArray]",Fz="[object Uint16Array]",Cz="[object Uint32Array]";function hz(e,u,t){var i=e.constructor;switch(u){case oz:return Zn(e);case QL:case ez:return new i(+e);case az:return U5(e,t);case sz:case Dz:case lz:case dz:case cz:case pz:case mz:case Fz:case Cz:return Ja(e,t);case tz:return new i;case uz:case fz:return new i(e);case iz:return W5(e);case nz:return new i;case rz:return J5(e)}}var X5=hz;function gz(e){return typeof e.constructor=="function"&&!Rn(e)?k4(Kn(e)):{}}var Xa=gz;var bz="[object Map]";function Ez(e){return Ct(e)&&Yn(e)==bz}var Y5=Ez;var Z5=Vu&&Vu.isMap,_z=Z5?zn(Z5):Y5,Q5=_z;var yz="[object Set]";function vz(e){return Ct(e)&&Yn(e)==yz}var e6=vz;var t6=Vu&&Vu.isSet,Bz=t6?zn(t6):e6,u6=Bz;var xz=1,wz=2,Sz=4,i6="[object Arguments]",Iz="[object Array]",Az="[object Boolean]",kz="[object Date]",$z="[object Error]",n6="[object Function]",Tz="[object GeneratorFunction]",Pz="[object Map]",Oz="[object Number]",f6="[object Object]",Mz="[object RegExp]",jz="[object Set]",Nz="[object String]",qz="[object Symbol]",Vz="[object WeakMap]",Rz="[object ArrayBuffer]",Lz="[object DataView]",zz="[object Float32Array]",Hz="[object Float64Array]",Uz="[object Int8Array]",Wz="[object Int16Array]",Gz="[object Int32Array]",Kz="[object Uint8Array]",Jz="[object Uint8ClampedArray]",Xz="[object Uint16Array]",Yz="[object Uint32Array]",$e={};$e[i6]=$e[Iz]=$e[Rz]=$e[Lz]=$e[Az]=$e[kz]=$e[zz]=$e[Hz]=$e[Uz]=$e[Wz]=$e[Gz]=$e[Pz]=$e[Oz]=$e[f6]=$e[Mz]=$e[jz]=$e[Nz]=$e[qz]=$e[Kz]=$e[Jz]=$e[Xz]=$e[Yz]=!0;$e[$z]=$e[n6]=$e[Vz]=!1;function Ya(e,u,t,i,n,f){var r,o=u&xz,a=u&wz,s=u&Sz;if(t&&(r=n?t(e,i,n,f):t(e)),r!==void 0)return r;if(!ht(e))return e;var D=du(e);if(D){if(r=H5(e),!o)return Ta(e,r)}else{var d=Yn(e),m=d==n6||d==Tz;if(Ln(e))return La(e,o);if(d==f6||d==i6||m&&!n){if(r=a||m?{}:Xa(e),!o)return a?M5(e,S5(r,e)):O5(e,w5(r,e))}else{if(!$e[d])return n?e:{};r=X5(e,d,o)}}f||(f=new Ra);var g=f.get(e);if(g)return g;f.set(e,r),u6(e)?e.forEach(function(y){r.add(Ya(y,u,t,y,e,f))}):Q5(e)&&e.forEach(function(y,k){r.set(k,Ya(y,u,t,k,e,f))});var C=s?a?N5:j5:a?Eu:Hn,E=D?void 0:C(e);return j4(E||e,function(y,k){E&&(k=y,y=e[k]),Oa(r,k,Ya(y,u,t,k,e,f))}),r}var r6=Ya;var Zz=1,Qz=4;function eH(e){return r6(e,Zz|Qz)}var Za=eH;function tH(e){return function(u,t,i){for(var n=-1,f=Object(u),r=i(u),o=r.length;o--;){var a=r[e?o:++n];if(t(f[a],a,f)===!1)break}return u}}var o6=tH;var uH=o6(),a6=uH;function iH(e,u,t){(t!==void 0&&!pi(e[u],t)||t===void 0&&!(u in e))&&Vn(e,u,t)}var jr=iH;function nH(e){return Ct(e)&&mi(e)}var s6=nH;function fH(e,u){if(!(u==="constructor"&&typeof e[u]=="function")&&u!="__proto__")return e[u]}var Nr=fH;function rH(e){return bu(e,Eu(e))}var D6=rH;function oH(e,u,t,i,n,f,r){var o=Nr(e,t),a=Nr(u,t),s=r.get(a);if(s){jr(e,t,s);return}var D=f?f(o,a,t+"",e,u,r):void 0,d=D===void 0;if(d){var m=du(a),g=!m&&Ln(a),C=!m&&!g&&ja(a);D=a,m||g||C?du(o)?D=o:s6(o)?D=Ta(o):g?(d=!1,D=La(a,!0)):C?(d=!1,D=Ja(a,!0)):D=[]:E5(a)||Or(a)?(D=o,Or(o)?D=D6(o):(!ht(o)||Nn(o))&&(D=Xa(a))):d=!1}d&&(r.set(a,D),n(D,a,i,f,r),r.delete(a)),jr(e,t,D)}var l6=oH;function d6(e,u,t,i,n){e!==u&&a6(u,function(f,r){if(n||(n=new Ra),ht(f))l6(e,u,r,t,d6,i,n);else{var o=i?i(Nr(e,r),f,r+"",e,u,n):void 0;o===void 0&&(o=f),jr(e,r,o)}},Eu)}var c6=d6;var aH=L4(function(e,u,t){c6(e,u,t)}),Gl=aH;var sH=0;function DH(e){var u=++sH;return g5(e)+u}var Kl=DH;var p6=(()=>{class e{jsonSchemaForm=x(Tr,{host:!0,self:!0,optional:!0});jsfPatch=!1;constructor(){let t=this.jsonSchemaForm,i=t.jsf.buildLayout.bind(t.jsf);t.jsf.buildLayout=n=>{if(i(n),t.jsf.formValues&&this.jsfPatch)return this.fixNestedArrayLayout(t.jsf.layout,t.jsf.formValues)}}fixNestedArrayLayout(t,i){return this.fixArray(t,i,""),t}fixArray(t,i,n){if(Array.isArray(t)){let f=t.filter(a=>a.name!=="_bridge"),r=f.filter(a=>a.items&&Array.isArray(a.items)).flatMap(a=>a.items).filter(a=>a.dataType==="array"||a.arrayItem);f.concat(r).filter(a=>a.dataType==="array"||a.arrayItem).forEach(a=>{this.fixNestedArray(a,i,n)})}else this.fixNestedArray(t,i,n)}fixNestedArray(t,i,n){if(t.items&&Array.isArray(t.items)){let f=t.items.find(r=>r.type==="$ref");if(f){let r=t.items.filter(s=>s.type==="section"||s.type==="div"),o=r.length>0?r.reduce((s,D)=>s.id>D.id?s:D):this.getItemTemplateFromRef(f),a=this.getDataFromPointer(i,f.dataPointer.replace(n,""));if(a===null)return;if(Array.isArray(a)){for(;t.items.length-1<a.length;){let s=Za(o);s._id=Kl("new_"),t.items.unshift(s)}a.forEach((s,D)=>{this.fixArray(t.items[D],s,f.dataPointer)})}else this.fixArray(t.items,i,f.dataPointer)}else this.fixArray(t.items,i,n);t.items.filter(r=>r.items&&Array.isArray(r.items)).forEach(r=>{this.fixArray(r.items,i,n)})}}getDataFromPointer(t,i){let n=t;return i.substring(1).split(/\//).filter(f=>f!=="-").forEach(f=>{try{n=n[f]}catch{n=null}}),n}getItemTemplateFromRef(t){let i={type:"section",items:[]},n=Za(t);return Gl(n,i),n}static \u0275fac=function(i){return new(i||e)};static \u0275dir=vu({type:e,selectors:[["","jsfPatch",""]],inputs:{jsfPatch:"jsfPatch"}})}return e})();function lH(e,u){if(e&1){let t=U();c(0,"json-schema-form",1),M("onChanges",function(n){j(t);let f=h();return N(f.onChanges(n))})("isValid",function(n){j(t);let f=h();return N(f.validChange(n))})("validationErrors",function(n){j(t);let f=h();return N(f.validationErrors(n))}),p()}if(e&2){let t=h();b("jsfPatch",t.configSchema.fixArrays)("options",t.jsonFormOptions)("schema",t.configSchema.schema)("layout",t.configSchema.layout)("form",t.configSchema.form)("data",t.currentData)("language",t.language)}}var Qn=(()=>{class e{$settings=x(Ve);configSchema;data;dataChange=gt();dataChanged=gt();isValid=gt();currentData;language="en";availableLanguages=["de","en","es","fr","it","pt","zh"];jsonFormOptions={addSubmit:!1,loadExternalAssets:!1,returnEmptyFields:!1,setSchemaDefaults:!0,autocomplete:!1};constructor(){}ngOnInit(){let t=this.$settings.env.lang.split("-")[0];this.availableLanguages.includes(t)&&(this.language=t),this.currentData=this.data}onChanges(t){this.dataChange.emit(t),this.dataChanged.emit(t)}validChange(t){this.isValid.emit(t)}validationErrors(t){t&&t.forEach(i=>console.error(i.instancePath,i.message))}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["app-schema-form"]],inputs:{configSchema:"configSchema",data:"data"},outputs:{dataChange:"dataChange",dataChanged:"dataChanged",isValid:"isValid"},decls:2,vars:1,consts:[["framework","bootstrap-5",1,"ng-bs5-validate",3,"jsfPatch","options","schema","layout","form","data","language"],["framework","bootstrap-5",1,"ng-bs5-validate",3,"onChanges","isValid","validationErrors","jsfPatch","options","schema","layout","form","data","language"]],template:function(i,n){i&1&&(c1(0),w(1,lH,1,7,"json-schema-form",0),p1()),i&2&&(l(),S(n.configSchema.schema?1:-1))},dependencies:[m4,Tr,p6],encapsulation:2})}return e})();var dH=["custompluginui"];function cH(e,u){e&1&&(c(0,"div",6),I(1,"i",18),p())}function pH(e,u){if(e&1){let t=U();c(0,"div",8)(1,"app-schema-form",19),Oe("dataChange",function(n){j(t);let f=h();return Pe(f.pluginConfig[0],n)||(f.pluginConfig[0]=n),N(n)}),M("dataChanged",function(n){j(t);let f=h();return N(f.schemaFormUpdatedSubject.next(n))})("isValid",function(n){j(t);let f=h();return N(f.onIsValid(n))}),p()()}if(e&2){let t=h();l(),b("configSchema",t.schema),Te("data",t.pluginConfig[0])}}function mH(e,u){if(e&1){let t=U();c(0,"button",23),M("click",function(){j(t);let n=h(2);return N(n.formActionSubject.next("cancel"))}),_(1),p()}if(e&2){let t=h(2);l(),H(t.formCancelButtonLabel)}}function FH(e,u){if(e&1){let t=U();c(0,"button",24),M("click",function(){j(t);let n=h(2);return N(n.formActionSubject.next("submit"))}),_(1),p()}if(e&2){let t=h(2);b("disabled",!t.formValid),l(),q(" ",t.formSubmitButtonLabel," ")}}function CH(e,u){if(e&1){let t=U();c(0,"div",8)(1,"app-schema-form",19),Oe("dataChange",function(n){j(t);let f=h();return Pe(f.formData,n)||(f.formData=n),N(n)}),M("dataChanged",function(n){j(t);let f=h();return N(f.formUpdatedSubject.next(n))})("isValid",function(n){j(t);let f=h();return N(f.formValidEvent(n))}),p(),c(2,"div",20),w(3,mH,2,1,"button",21),w(4,FH,2,2,"button",22),p()()}if(e&2){let t=h();l(),b("configSchema",t.formSchema),Te("data",t.formData),l(2),S(t.formCancelButtonLabel?3:-1),l(),S(t.formSubmitButtonLabel?4:-1)}}function hH(e,u){e&1&&(c(0,"div",9),I(1,"i",18),p())}function gH(e,u){if(e&1&&(I(0,"i",15),v(1,"translate")),e&2){let t=h();b("ngClass",t.formIsValid?"fa-circle-check green-text":t.strictValidation?"fa-circle-exclamation red-text":"fa-circle-exclamation orange-text")("ngbTooltip",B(1,2,t.formIsValid?"form.label_valid":t.strictValidation?"form.label_invalid_strict":"form.label_invalid"))}}function bH(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"form.button_save")," ")}function EH(e,u){e&1&&I(0,"i",17)}var m6=(()=>{class e{$activeModal=x(ve);$api=x(he);$modal=x(it);$plugin=x(bi);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);$ws=x(Qi);customPluginUiElementTarget=Xu("custompluginui");plugin;schema;pluginConfig;pluginAlias;pluginType;loading=!0;saveInProgress=!1;pluginSpinner=!1;saveButtonDisabled=!1;uiLoaded=!1;showSchemaForm=!1;schemaFormUpdatedSubject=new Pt;formId;formSchema;formData;formSubmitButtonLabel;formCancelButtonLabel;formValid=!0;formUpdatedSubject=new Pt;formActionSubject=new Pt;childBridges=[];isFirstSave=!1;formIsValid=!0;strictValidation=!1;io;basePath;iframe;schemaFormRecentlyUpdated=!1;schemaFormRecentlyRefreshed=!1;schemaFormRefreshSubject=new Pt;constructor(){}ngOnInit(){this.io=this.$ws.connectToNamespace("plugins/settings-ui"),this.pluginAlias=this.schema.pluginAlias,this.pluginType=this.schema.pluginType,this.strictValidation=this.schema.strictValidation,this.pluginConfig.length===0&&(this.isFirstSave=!0),this.io.connected?(this.io.socket.emit("start",this.plugin.name),setTimeout(()=>{this.io.connected.subscribe(()=>{this.io.socket.emit("start",this.plugin.name)})},1e3)):this.io.connected.subscribe(()=>{this.io.socket.emit("start",this.plugin.name)}),this.io.socket.on("response",t=>{t.action="response",this.iframe.contentWindow.postMessage(t,Zu.api.origin)}),this.io.socket.on("stream",t=>{t.action="stream",this.iframe.contentWindow.postMessage(t,Zu.api.origin)}),this.io.socket.on("ready",()=>{this.loading=!1,this.loadUi()}),this.schemaFormRefreshSubject.pipe(Vr(250)).subscribe(this.schemaFormRefresh.bind(this)),this.schemaFormUpdatedSubject.pipe(Vr(250),ns(1)).subscribe(this.schemaFormUpdated.bind(this)),this.formUpdatedSubject.pipe(Vr(100),ns(1)).subscribe(this.formUpdated.bind(this)),this.formActionSubject.subscribe(this.formActionEvent.bind(this)),this.basePath=`/plugins/settings-ui/${encodeURIComponent(this.plugin.name)}`,window.addEventListener("message",this.handleMessage,!1)}loadUi(){this.iframe=this.customPluginUiElementTarget().nativeElement,this.iframe.src=`${Zu.api.base+this.basePath}/index.html?origin=${encodeURIComponent(location.origin)}&v=${encodeURIComponent(this.plugin.installedVersion)}`}handleMessage=t=>{if(t.origin===Zu.api.origin||t.origin===window.origin)switch(t.data.action){case"loaded":this.injectDefaultStyles(t),this.confirmReady(t);break;case"request":{this.handleRequest(t);break}case"scrollHeight":this.setiFrameHeight(t),this.uiLoaded=!0;break;case"config.get":{this.requestResponse(t,this.getConfigBlocks());break}case"config.save":{this.requestResponse(t,this.savePluginConfig());break}case"config.update":{this.handleUpdateConfig(t,t.data.pluginConfig);break}case"config.schema":{this.requestResponse(t,this.schema);break}case"cachedAccessories.get":{this.handleGetCachedAccessories(t);break}case"schema.show":{this.formEnd(),this.showSchemaForm=!0;break}case"schema.hide":{this.showSchemaForm=!1;break}case"form.create":{this.showSchemaForm=!1,this.formCreate(t.data.formId,t.data.schema,t.data.data,t.data.submitButton,t.data.cancelButton);break}case"form.end":{this.formEnd();break}case"user.lightingMode":{this.requestResponse(t,this.$settings.actualLightingMode);break}case"i18n.lang":{this.requestResponse(t,this.$translate.currentLang);break}case"i18n.translations":{this.requestResponse(t,this.$translate.store.translations[this.$translate.currentLang]);break}case"close":{this.$activeModal.close();break}case"toast.success":this.$toastr.success(t.data.message,t.data.title);break;case"toast.error":this.$toastr.error(t.data.message,t.data.title);break;case"toast.warning":this.$toastr.warning(t.data.message,t.data.title);break;case"toast.info":this.$toastr.info(t.data.message,t.data.title);break;case"spinner.show":this.pluginSpinner=!0;break;case"spinner.hide":this.pluginSpinner=!1;break;case"button.save.disabled":this.saveButtonDisabled=!0;break;case"button.save.enabled":this.saveButtonDisabled=!1;break;default:console.log(t)}};confirmReady(t){t.source.postMessage({action:"ready"},t.origin)}setiFrameHeight(t){this.iframe.style.height=`${t.data.scrollHeight+10}px`}handleRequest(t){this.io.socket.emit("request",t.data)}handleUpdateConfig(t,i){if(this.schemaFormRefreshSubject.next(void 0),!Array.isArray(i))return this.$toastr.error(this.$translate.instant("plugins.config.must_be_array"),this.$translate.instant("toast.title_error")),this.requestResponse(t,{message:this.$translate.instant("plugins.config.must_be_array")},!1);for(let n of i)if(typeof n!="object"||Array.isArray(n))return this.$toastr.error(this.$translate.instant("plugins.config.must_be_array_objects"),this.$translate.instant("toast.title_error")),this.requestResponse(t,{message:this.$translate.instant("plugins.config.must_be_array_objects")},!1);return this.updateConfigBlocks(i),this.requestResponse(t,this.getConfigBlocks())}requestResponse(t,i,n=!0){t.source.postMessage({action:"response",requestId:t.data.requestId,success:n,data:i},t.origin)}injectDefaultStyles(t){return G(this,null,function*(){let i=Array.from(window.document.body.classList).find(a=>a.startsWith("config-ui-x-")),n=window.document.body.classList.contains("dark-mode");t.source.postMessage({action:"body-class",class:i},t.origin),n&&t.source.postMessage({action:"body-class",class:"dark-mode"},t.origin);let f=Array.from(document.querySelectorAll("link"));for(let a of f)if(a.getAttribute("rel")==="stylesheet"){let s=a.getAttribute("href"),D=document.baseURI+(s.startsWith("/")?s.substring(1):s);t.source.postMessage({action:"link-element",href:D,rel:"stylesheet"},t.origin)}let r=Array.from(document.querySelectorAll("style"));for(let a of r)t.source.postMessage({action:"inline-style",style:a.innerHTML},t.origin);let o=`
|
|
14
14
|
body {
|
|
15
15
|
height: unset !important;
|
|
16
16
|
background-color: ${n?"#242424":"#FFFFFF"} !important;
|
|
17
17
|
color: ${n?"#FFFFFF":"#000000"};
|
|
18
18
|
padding: 5px !important;
|
|
19
19
|
}
|
|
20
|
-
`;t.source.postMessage({action:"inline-style",style:o},t.origin)})}getConfigBlocks(){return this.pluginConfig}updateConfigBlocks(t){for(let i of t)i[this.pluginType]=this.pluginAlias;this.pluginConfig=t}schemaFormUpdated(){if(!(!this.iframe||!this.iframe.contentWindow)){if(this.schemaFormRecentlyRefreshed){this.schemaFormRecentlyRefreshed=!1;return}this.schemaFormRecentlyUpdated=!0,this.iframe.contentWindow.postMessage({action:"stream",event:"configChanged",data:this.pluginConfig},Zu.api.origin)}}schemaFormRefresh(){if(this.schemaFormRecentlyUpdated){this.schemaFormRecentlyUpdated=!1;return}this.schemaFormRecentlyRefreshed=!0,this.showSchemaForm&&(this.showSchemaForm=!1,setTimeout(()=>{this.showSchemaForm=!0}))}formCreate(t,i,n,f,r){return G(this,null,function*(){yield this.formEnd(),this.formId=t,this.formSchema=i,this.formData=n,this.formSubmitButtonLabel=f,this.formCancelButtonLabel=r})}formEnd(){return G(this,null,function*(){this.formId&&(this.formId=void 0,this.formSchema=void 0,this.formData=void 0,this.formSubmitButtonLabel=void 0,this.formCancelButtonLabel=void 0,yield new Promise(t=>setTimeout(t)))})}formUpdated(t){this.iframe.contentWindow.postMessage({action:"stream",event:this.formId,data:{formEvent:"change",formData:t}},Zu.api.origin)}formValidEvent(t){this.formValid=t}formActionEvent(t){this.iframe.contentWindow.postMessage({action:"stream",event:this.formId,data:{formEvent:t,formData:this.formData}},Zu.api.origin)}handleGetCachedAccessories(t){return G(this,null,function*(){let i=yield se(this.$api.get("/server/cached-accessories"));return this.requestResponse(t,i.filter(n=>n.plugin===this.plugin.name))})}savePluginConfig(t=!1){return G(this,null,function*(){this.saveInProgress=!0;try{let i=yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig));if(this.saveInProgress=!1,t){if(this.isFirstSave&&this.$settings.env.recommendChildBridges&&i[0]?.platform){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let n=this.$modal.open(un,{size:"lg",backdrop:"static"});n.componentInstance.bridges=this.childBridges.map(f=>({name:f.name,username:f.username}));return}this.$activeModal.close(),this.$modal.open(uu,{size:"lg",backdrop:"static"})}}catch(i){this.saveInProgress=!1,console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}getChildBridges(){return G(this,null,function*(){try{(yield se(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}onIsValid(t){this.formIsValid=t}ngOnDestroy(){window.removeEventListener("message",this.handleMessage),this.io.end(),this.schemaFormRefreshSubject.complete(),this.schemaFormUpdatedSubject.complete(),this.formUpdatedSubject.complete()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],viewQuery:function(i,n){i&1&&Wu(n.customPluginUiElementTarget,dH,5),i&2&&Gu()},inputs:{plugin:"plugin",schema:"schema",pluginConfig:"pluginConfig"},decls:24,vars:17,consts:[["custompluginui",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body","pb-0",2,"min-height","110px"],[1,"text-center","primary-text"],["width","100%","height","1px;","sandbox","allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-downloads allow-forms",2,"border","0"],[1,"card","card-body"],[1,"loading-overlay","text-center","primary-text","d-flex","align-items-center","justify-content-center"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end","d-flex","align-items-center","justify-content-end"],["container","modal","placement","top","openDelay","150","triggers","hover",1,"fa","fa-fw","fa-xl","me-2",3,"ngClass","ngbTooltip"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[3,"dataChange","dataChanged","isValid","configSchema","data"],[1,"text-end","custom-form-action-buttons"],[1,"btn","btn-elegant"],[1,"btn","btn-primary",3,"disabled"],[1,"btn","btn-elegant",3,"click"],[1,"btn","btn-primary",3,"click","disabled"]],template:function(i,n){if(i&1){let f=U();c(0,"div",1)(1,"div",2)(2,"h5",3),_(3),p(),c(4,"button",4),v(5,"translate"),M("click",function(){return j(f),N(n.$activeModal.dismiss("Dismiss"))}),p()(),c(6,"div",5),w(7,cH,2,0,"div",6),I(8,"iframe",7,0),w(10,pH,2,2,"div",8),w(11,CH,5,4,"div",8),w(12,hH,2,0,"div",9),p(),c(13,"div",10)(14,"div",11)(15,"button",12),M("click",function(){return j(f),N(n.$activeModal.dismiss("Dismiss"))}),_(16),v(17,"translate"),p()(),I(18,"div",13),c(19,"div",14),w(20,gH,2,4,"i",15),c(21,"button",16),M("click",function(){return j(f),N(n.savePluginConfig(!0))}),w(22,bH,2,3),w(23,EH,1,0,"i",17),p()()()()}i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),b("disabled",n.saveInProgress),K("aria-label",B(5,13,"form.button_close")),l(3),S(n.loading?7:-1),l(3),S(n.uiLoaded&&n.pluginConfig.length&&n.schema.singular&&n.showSchemaForm?10:-1),l(),S(n.formId?11:-1),l(),S(n.pluginSpinner?12:-1),l(3),b("disabled",n.saveInProgress),l(),q(" ",B(17,15,"form.button_close")," "),l(4),S(n.saveButtonDisabled?-1:20),l(),b("disabled",n.saveInProgress||n.saveButtonDisabled),l(),S(n.saveInProgress?-1:22),l(),S(n.saveInProgress?23:-1))},dependencies:[Qn,Zi,zt,Be],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}.loading-overlay[_ngcontent-%COMP%]{position:absolute;inset:16px;background-color:#ffffffb3} body.dark-mode .loading-overlay{background-color:#242424b3}.custom-form-action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:2px}"]})}return e})();var C6=ze(F6(),1);var ef=(()=>{class e{el=x(Uu);constructor(){}ngOnInit(){this.el.nativeElement.querySelectorAll("a").forEach(n=>{n.target="_blank",n.rel="noopener noreferrer"});let i=new C6.EmojiConvertor;this.el.nativeElement.innerHTML=i.replace_colons(this.el.nativeElement.innerHTML)}static \u0275fac=function(i){return new(i||e)};static \u0275dir=vu({type:e,selectors:[["markdown"]]})}return e})();var _H=e=>({link:e});function yH(e,u){if(e&1&&(c(0,"div",5),I(1,"p",10),v(2,"translate"),p()),e&2){let t=h();l(),b("innerHTML",Ye(2,1,"accessories.message_must_use_insecure_mode",eu(4,_H,t.linkInsecure)),de)}}function vH(e,u){e&1&&(c(0,"p"),_(1),v(2,"translate"),p()),e&2&&(l(),H(B(2,1,"plugins.settings.custom.homebridge-gsh.message_account_link_required")))}function BH(e,u){if(e&1){let t=U();c(0,"div",11)(1,"button",13),M("click",function(){j(t);let n=h(2);return N(n.linkAccount())}),_(2),v(3,"translate"),p()()}e&2&&(l(2),q(" ",B(3,1,"plugins.settings.custom.homebridge-gsh.label_link_account")," "))}function xH(e,u){e&1&&(c(0,"div",16)(1,"p",17)(2,"strong"),_(3),v(4,"translate"),p()()()),e&2&&(l(3),H(B(4,1,"plugins.settings.custom.homebridge-gsh.message_homebridge_restart_required")))}function wH(e,u){if(e&1&&(c(0,"div",12),I(1,"i",14),c(2,"h4",15),_(3),v(4,"titlecase"),v(5,"translate"),p(),w(6,xH,5,3,"div",16),p()),e&2){let t=h(2);l(3),Bu(" ",B(4,3,t.linkType)," ",B(5,5,"plugins.settings.custom.homebridge-gsh.label_account_linked")," "),l(3),S(t.justLinked?6:-1)}}function SH(e,u){if(e&1&&I(0,"markdown",18),e&2){let t=h(3);b("data",t.schema.footerDisplay)}}function IH(e,u){if(e&1){let t=U();c(0,"div",16),w(1,SH,1,1,"markdown",18),p(),c(2,"div",19)(3,"app-schema-form",20),Oe("dataChange",function(n){j(t);let f=h(2);return Pe(f.gshConfig,n)||(f.gshConfig=n),N(n)}),p()()}if(e&2){let t=h(2);l(),S(t.schema.footerDisplay?1:-1),l(2),b("configSchema",t.schema),Te("data",t.gshConfig)}}function AH(e,u){if(e&1&&(c(0,"p"),_(1),v(2,"translate"),p(),w(3,vH,3,3,"p"),w(4,BH,4,3,"div",11),w(5,wH,7,7,"div",12),w(6,IH,4,3)),e&2){let t=h();l(),H(B(2,5,"plugins.settings.custom.homebridge-gsh.message_about")),l(2),S(t.gshConfig.token?-1:3),l(),S(t.gshConfig.token?-1:4),l(),S(t.gshConfig.token?5:-1),l(),S(t.gshConfig&&t.gshConfig.token?6:-1)}}function kH(e,u){if(e&1){let t=U();c(0,"button",21),M("click",function(){j(t);let n=h();return N(n.unlinkAccount())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"plugins.settings.custom.homebridge-gsh.label_unlink_account")," "))}function $H(e,u){if(e&1){let t=U();c(0,"button",22),M("click",function(){j(t);let n=h();return N(n.saveAndClose())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_save")," "))}var g6=(()=>{class e{$activeModal=x(ve);$api=x(he);$jwtHelper=x(I1);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);plugin;schema;pluginConfig;justLinked=!1;gshConfig;linkType;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';linkDomain="https://homebridge-gsh.iot.oz.nu";linkUrl=`${this.linkDomain}/link-account`;popup;originCheckInterval;constructor(){window.addEventListener("message",this.windowMessageListener,!1)}ngOnInit(){this.pluginConfig.length||this.pluginConfig.push({name:"Google Smart Home",platform:this.schema.pluginAlias}),this.gshConfig=this.pluginConfig[0],this.parseToken()}windowMessageListener=t=>{t.origin!==this.linkDomain&&(console.error("Refusing to process message from",t.origin),console.error(t));try{let i=JSON.parse(t.data);i.token&&this.processToken(i.token)}catch(i){console.error(i)}};linkAccount(){let n=window.top.outerHeight/2+window.top.screenY-350,f=window.top.outerWidth/2+window.top.screenX-450/2;this.popup=window.open(this.linkUrl,"oznu-google-smart-home-auth",`toolbar=no, location=no, directories=no, status=no, menubar=no scrollbars=no, resizable=no, copyhistory=no, width=450, height=700, top=${n}, left=${f}`),this.originCheckInterval=setInterval(()=>{this.popup.postMessage("origin-check",this.linkDomain)},2e3)}unlinkAccount(){this.gshConfig={name:"Google Smart Home",platform:this.schema.pluginAlias},this.pluginConfig.splice(0,this.pluginConfig.length),this.saveConfig()}processToken(t){clearInterval(this.originCheckInterval),this.popup&&this.popup.close(),this.gshConfig.token=t,this.gshConfig.notice="Keep your token a secret!",this.pluginConfig.length||this.pluginConfig.push(this.gshConfig),this.parseToken(),this.saveConfig()}parseToken(){if(this.gshConfig.token)try{let t=this.$jwtHelper.decodeToken(this.gshConfig.token);this.linkType=t.id.split("|")[0].split("-")[0]}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.custom.homebridge-gsh.message_invalid_token"),this.$translate.instant("toast.title_error")),delete this.gshConfig.token}}saveConfig(){return G(this,null,function*(){try{yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig)),this.justLinked=!0,this.$toastr.success(this.$translate.instant("plugins.settings.restart_required"),this.$translate.instant("plugins.settings.plugin_config_saved"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}saveAndClose(){return G(this,null,function*(){this.gshConfig.platform=this.schema.pluginAlias,this.pluginConfig[0]=this.gshConfig,yield this.saveConfig(),this.$activeModal.close()})}close(){this.$activeModal.close()}ngOnDestroy(){clearInterval(this.originCheckInterval),window.removeEventListener("message",this.windowMessageListener),this.popup&&this.popup.close()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["app-homebridge-google-smarthome"]],inputs:{plugin:"plugin",schema:"schema",pluginConfig:"pluginConfig"},decls:15,vars:10,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],["role","alert",1,"alert","alert-warning"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","me-auto"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary"],[1,"mb-0",3,"innerHTML"],[1,"text-center"],[1,"text-center","mt-1"],[1,"btn","btn-primary","btn-lg",3,"click"],[1,"fas","fa-fw","fa-check-circle","primary-text",2,"font-size","50px"],[1,"mt-2"],[1,"mt-3"],[1,"primary-text"],[1,"plugin-md",3,"data"],[1,"card","p-2","pt-3","mt-4"],[3,"dataChange","configSchema","data"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","me-auto",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3,"Homebridge Google Smart Home"),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(6,"div",4),w(7,yH,3,6,"div",5),w(8,AH,7,7),p(),c(9,"div",6),w(10,kH,3,3,"button",7),c(11,"button",8),M("click",function(){return n.close()}),_(12),v(13,"translate"),p(),w(14,$H,3,3,"button",9),p()()),i&2&&(l(4),K("aria-label",B(5,6,"form.button_close")),l(3),S(n.$settings.env.enableAccessories?-1:7),l(),S(n.$settings.env.enableAccessories?8:-1),l(2),S(n.gshConfig.token?10:-1),l(2),q(" ",B(13,8,"form.button_close")," "),l(2),S(n.gshConfig.token?14:-1))},dependencies:[tn,en,ef,Qn,g1,Be],encapsulation:2})}return e})();var b6=(()=>{class e{$api=x(he);$modal=x(it);plugins={"homebridge-gsh":g6};constructor(){}openSettings(t,i){return G(this,null,function*(){let n=yield this.loadPluginConfig(t.name),f=this.$modal.open(this.plugins[t.name],{size:"lg",backdrop:"static"});return f.componentInstance.plugin=t,f.componentInstance.schema=i,f.componentInstance.pluginConfig=n,f.result.catch(()=>{})})}openCustomSettingsUi(t,i){return G(this,null,function*(){let n=yield this.loadPluginConfig(t.name),f=this.$modal.open(m6,{size:"lg",backdrop:"static"});return f.componentInstance.plugin=t,f.componentInstance.schema=i,f.componentInstance.pluginConfig=n,f.result.catch(()=>{})})}loadPluginConfig(t){return G(this,null,function*(){return se(this.$api.get(`/config-editor/plugin/${encodeURIComponent(t)}`))})}static \u0275fac=function(i){return new(i||e)};static \u0275prov=Ot({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var B6=ze(of(),1);var x6=ze(A1(),1),w6=ze(k1(),1);function TH(e,u){e&1&&(c(0,"div",5),I(1,"i",12),p())}function PH(e,u){e&1&&(c(0,"div",15),I(1,"i",16),p(),c(2,"ul",17)(3,"li"),_(4," All your plugins are marked as compatible with the new version of Homebridge. You are all set to continue below. "),p()())}function OH(e,u){e&1&&(c(0,"div",15),I(1,"i",18),p(),c(2,"ul",17)(3,"li"),_(4,"Some of your plugins are not explicitly marked as compatible with the new version of Homebridge."),p(),c(5,"li"),_(6," This does "),c(7,"span",19),_(8,"not"),p(),_(9," necessarily mean that they won't work. We just can't guarantee that they will. "),p(),c(10,"li"),_(11," For more information about this update, please see the "),c(12,"a",20),_(13,"wiki page"),p(),_(14,". "),p(),c(15,"li"),_(16,"To ignore this warning and continue with the update, click continue below."),p()())}function MH(e,u){e&1&&I(0,"i",21)}function jH(e,u){e&1&&I(0,"i",22)}function NH(e,u){if(e&1&&(c(0,"li",14),_(1),w(2,MH,1,0,"i",21),w(3,jH,1,0,"i",22),p()),e&2){let t=u.$implicit;l(),q(" ",t.displayName," "),l(),S(t.hb2Ready==="supported"?2:-1),l(),S(t.hb2Ready==="unknown"?3:-1)}}function qH(e,u){if(e&1&&(w(0,PH,5,0),w(1,OH,17,0),c(2,"ul",13),ft(3,NH,4,3,"li",14,nt),p()),e&2){let t=h();S(t.allPluginsSupported?0:-1),l(),S(t.allPluginsSupported?-1:1),l(2),rt(t.installedPlugins)}}var E6=(()=>{class e{$activeModal=x(ve);$api=x(he);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);loading=!0;installedPlugins=[];allPluginsSupported=!0;constructor(){}ngOnInit(){this.loadInstalledPlugins()}loadInstalledPlugins(){return G(this,null,function*(){this.installedPlugins=[],this.loading=!0;let t=this.$settings.env.homebridgeVersion.split(".")[0];try{let i=yield se(this.$api.get("/plugins"));this.installedPlugins=i.filter(n=>n.name!=="homebridge-config-ui-x").map(n=>{let f=n.engines?.homebridge?.split("||").map(o=>o.trim())||[],r=t==="2"?"hide":f.some(o=>o.startsWith("^2")||o.startsWith(">=2"))?"supported":"unknown";return r==="unknown"&&(this.allPluginsSupported=!1),Se(X({},n),{hb2Ready:r})}),this.installedPlugins.length===0&&this.$activeModal.close("update"),this.loading=!1}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],decls:20,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"w-100","text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-check-circle","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"fas","fa-fw","fa-info-circle","primary-text",2,"font-size","75px"],[1,"fw-bold"],["href","https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0","target","_blank"],["aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.",1,"fas","fa-check-circle","green-text","fa-xl","ms-2"],["aria-label","The developer has not specifically marked this plugin as compatible with Homebridge v2, but it may still work.",1,"fas","fa-question-circle","orange-text","fa-xl","ms-2"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3,"Homebridge v2 Update"),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.close("Dismiss")}),p()(),c(6,"div",4),w(7,TH,2,0,"div",5),w(8,qH,5,2),p(),c(9,"div",6)(10,"div",7)(11,"button",8),v(12,"translate"),M("click",function(){return n.$activeModal.close("Dismiss")}),_(13),v(14,"translate"),p()(),I(15,"div",9),c(16,"div",10)(17,"button",11),M("click",function(){return n.$activeModal.close("update")}),_(18),v(19,"translate"),p()()()()),i&2&&(l(4),K("aria-label",B(5,7,"form.button_close")),l(3),S(n.loading?7:-1),l(),S(n.loading?-1:8),l(3),K("aria-label",B(12,9,"form.button_close")),l(2),q(" ",B(14,11,"form.button_close")," "),l(4),b("disabled",n.loading),l(),q(" ",B(19,13,"plugins.node_update.continue")," "))},dependencies:[Be],encapsulation:2})}return e})();var _6=ze(of(),1);var VH=["pluginlogoutput"],y6=(()=>{class e{$activeModal=x(ve);$api=x(he);$log=x(O1);$modal=x(it);$toastr=x(_e);$translate=x(Ee);plugin;termTarget=Xu("pluginlogoutput");resizeEvent=new Pt;pluginAlias;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){this.getPluginLog()}getPluginLog(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{this.pluginAlias=this.plugin.name==="homebridge-config-ui-x"?"Homebridge UI":t[0]?.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($1,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download?colour=yes",{observe:"response",responseType:"text"}).subscribe({next:i=>{if(!i.body)return;let n=i.body.split(`
|
|
20
|
+
`;t.source.postMessage({action:"inline-style",style:o},t.origin)})}getConfigBlocks(){return this.pluginConfig}updateConfigBlocks(t){for(let i of t)i[this.pluginType]=this.pluginAlias;this.pluginConfig=t}schemaFormUpdated(){if(!(!this.iframe||!this.iframe.contentWindow)){if(this.schemaFormRecentlyRefreshed){this.schemaFormRecentlyRefreshed=!1;return}this.schemaFormRecentlyUpdated=!0,this.iframe.contentWindow.postMessage({action:"stream",event:"configChanged",data:this.pluginConfig},Zu.api.origin)}}schemaFormRefresh(){if(this.schemaFormRecentlyUpdated){this.schemaFormRecentlyUpdated=!1;return}this.schemaFormRecentlyRefreshed=!0,this.showSchemaForm&&(this.showSchemaForm=!1,setTimeout(()=>{this.showSchemaForm=!0}))}formCreate(t,i,n,f,r){return G(this,null,function*(){yield this.formEnd(),this.formId=t,this.formSchema=i,this.formData=n,this.formSubmitButtonLabel=f,this.formCancelButtonLabel=r})}formEnd(){return G(this,null,function*(){this.formId&&(this.formId=void 0,this.formSchema=void 0,this.formData=void 0,this.formSubmitButtonLabel=void 0,this.formCancelButtonLabel=void 0,yield new Promise(t=>setTimeout(t)))})}formUpdated(t){this.iframe.contentWindow.postMessage({action:"stream",event:this.formId,data:{formEvent:"change",formData:t}},Zu.api.origin)}formValidEvent(t){this.formValid=t}formActionEvent(t){this.iframe.contentWindow.postMessage({action:"stream",event:this.formId,data:{formEvent:t,formData:this.formData}},Zu.api.origin)}handleGetCachedAccessories(t){return G(this,null,function*(){let i=yield se(this.$api.get("/server/cached-accessories"));return this.requestResponse(t,i.filter(n=>n.plugin===this.plugin.name))})}savePluginConfig(t=!1){return G(this,null,function*(){this.saveInProgress=!0;try{let i=yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig));if(this.saveInProgress=!1,t){if(this.isFirstSave&&this.$settings.env.recommendChildBridges&&i[0]?.platform){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let n=this.$modal.open(un,{size:"lg",backdrop:"static"});n.componentInstance.bridges=this.childBridges.map(f=>({name:f.name,username:f.username}));return}this.$activeModal.close(),this.$modal.open(uu,{size:"lg",backdrop:"static"})}}catch(i){this.saveInProgress=!1,console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}getChildBridges(){return G(this,null,function*(){try{(yield se(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}onIsValid(t){this.formIsValid=t}ngOnDestroy(){window.removeEventListener("message",this.handleMessage),this.io.end(),this.schemaFormRefreshSubject.complete(),this.schemaFormUpdatedSubject.complete(),this.formUpdatedSubject.complete()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],viewQuery:function(i,n){i&1&&Wu(n.customPluginUiElementTarget,dH,5),i&2&&Gu()},inputs:{plugin:"plugin",schema:"schema",pluginConfig:"pluginConfig"},decls:24,vars:17,consts:[["custompluginui",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body","pb-0",2,"min-height","110px"],[1,"text-center","primary-text"],["width","100%","height","1px;","sandbox","allow-same-origin allow-scripts allow-popups allow-popups-to-escape-sandbox allow-downloads allow-forms",2,"border","0"],[1,"card","card-body"],[1,"loading-overlay","text-center","primary-text","d-flex","align-items-center","justify-content-center"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end","d-flex","align-items-center","justify-content-end"],["container","modal","placement","top","openDelay","150","triggers","hover",1,"fa","fa-fw","fa-xl","me-2",3,"ngClass","ngbTooltip"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[3,"dataChange","dataChanged","isValid","configSchema","data"],[1,"text-end","custom-form-action-buttons"],[1,"btn","btn-elegant"],[1,"btn","btn-primary",3,"disabled"],[1,"btn","btn-elegant",3,"click"],[1,"btn","btn-primary",3,"click","disabled"]],template:function(i,n){if(i&1){let f=U();c(0,"div",1)(1,"div",2)(2,"h5",3),_(3),p(),c(4,"button",4),v(5,"translate"),M("click",function(){return j(f),N(n.$activeModal.dismiss("Dismiss"))}),p()(),c(6,"div",5),w(7,cH,2,0,"div",6),I(8,"iframe",7,0),w(10,pH,2,2,"div",8),w(11,CH,5,4,"div",8),w(12,hH,2,0,"div",9),p(),c(13,"div",10)(14,"div",11)(15,"button",12),M("click",function(){return j(f),N(n.$activeModal.dismiss("Dismiss"))}),_(16),v(17,"translate"),p()(),I(18,"div",13),c(19,"div",14),w(20,gH,2,4,"i",15),c(21,"button",16),M("click",function(){return j(f),N(n.savePluginConfig(!0))}),w(22,bH,2,3),w(23,EH,1,0,"i",17),p()()()()}i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),b("disabled",n.saveInProgress),K("aria-label",B(5,13,"form.button_close")),l(3),S(n.loading?7:-1),l(3),S(n.uiLoaded&&n.pluginConfig.length&&n.schema.singular&&n.showSchemaForm?10:-1),l(),S(n.formId?11:-1),l(),S(n.pluginSpinner?12:-1),l(3),b("disabled",n.saveInProgress),l(),q(" ",B(17,15,"form.button_close")," "),l(4),S(n.saveButtonDisabled?-1:20),l(),b("disabled",n.saveInProgress||n.saveButtonDisabled),l(),S(n.saveInProgress?-1:22),l(),S(n.saveInProgress?23:-1))},dependencies:[Qn,Zi,zt,Be],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}.loading-overlay[_ngcontent-%COMP%]{position:absolute;inset:16px;background-color:#ffffffb3} body.dark-mode .loading-overlay{background-color:#242424b3}.custom-form-action-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:last-child{margin-right:2px}"]})}return e})();var C6=ze(F6(),1);var ef=(()=>{class e{el=x(Uu);constructor(){}ngOnInit(){this.el.nativeElement.querySelectorAll("a").forEach(n=>{n.target="_blank",n.rel="noopener noreferrer"});let i=new C6.EmojiConvertor;this.el.nativeElement.innerHTML=i.replace_colons(this.el.nativeElement.innerHTML)}static \u0275fac=function(i){return new(i||e)};static \u0275dir=vu({type:e,selectors:[["markdown"]]})}return e})();var _H=e=>({link:e});function yH(e,u){if(e&1&&(c(0,"div",5),I(1,"p",10),v(2,"translate"),p()),e&2){let t=h();l(),b("innerHTML",Ye(2,1,"accessories.message_must_use_insecure_mode",eu(4,_H,t.linkInsecure)),de)}}function vH(e,u){e&1&&(c(0,"p"),_(1),v(2,"translate"),p()),e&2&&(l(),H(B(2,1,"plugins.settings.custom.homebridge-gsh.message_account_link_required")))}function BH(e,u){if(e&1){let t=U();c(0,"div",11)(1,"button",13),M("click",function(){j(t);let n=h(2);return N(n.linkAccount())}),_(2),v(3,"translate"),p()()}e&2&&(l(2),q(" ",B(3,1,"plugins.settings.custom.homebridge-gsh.label_link_account")," "))}function xH(e,u){e&1&&(c(0,"div",16)(1,"p",17)(2,"strong"),_(3),v(4,"translate"),p()()()),e&2&&(l(3),H(B(4,1,"plugins.settings.custom.homebridge-gsh.message_homebridge_restart_required")))}function wH(e,u){if(e&1&&(c(0,"div",12),I(1,"i",14),c(2,"h4",15),_(3),v(4,"titlecase"),v(5,"translate"),p(),w(6,xH,5,3,"div",16),p()),e&2){let t=h(2);l(3),Bu(" ",B(4,3,t.linkType)," ",B(5,5,"plugins.settings.custom.homebridge-gsh.label_account_linked")," "),l(3),S(t.justLinked?6:-1)}}function SH(e,u){if(e&1&&I(0,"markdown",18),e&2){let t=h(3);b("data",t.schema.footerDisplay)}}function IH(e,u){if(e&1){let t=U();c(0,"div",16),w(1,SH,1,1,"markdown",18),p(),c(2,"div",19)(3,"app-schema-form",20),Oe("dataChange",function(n){j(t);let f=h(2);return Pe(f.gshConfig,n)||(f.gshConfig=n),N(n)}),p()()}if(e&2){let t=h(2);l(),S(t.schema.footerDisplay?1:-1),l(2),b("configSchema",t.schema),Te("data",t.gshConfig)}}function AH(e,u){if(e&1&&(c(0,"p"),_(1),v(2,"translate"),p(),w(3,vH,3,3,"p"),w(4,BH,4,3,"div",11),w(5,wH,7,7,"div",12),w(6,IH,4,3)),e&2){let t=h();l(),H(B(2,5,"plugins.settings.custom.homebridge-gsh.message_about")),l(2),S(t.gshConfig.token?-1:3),l(),S(t.gshConfig.token?-1:4),l(),S(t.gshConfig.token?5:-1),l(),S(t.gshConfig&&t.gshConfig.token?6:-1)}}function kH(e,u){if(e&1){let t=U();c(0,"button",21),M("click",function(){j(t);let n=h();return N(n.unlinkAccount())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"plugins.settings.custom.homebridge-gsh.label_unlink_account")," "))}function $H(e,u){if(e&1){let t=U();c(0,"button",22),M("click",function(){j(t);let n=h();return N(n.saveAndClose())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_save")," "))}var g6=(()=>{class e{$activeModal=x(ve);$api=x(he);$jwtHelper=x(I1);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);plugin;schema;pluginConfig;justLinked=!1;gshConfig;linkType;linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';linkDomain="https://homebridge-gsh.iot.oz.nu";linkUrl=`${this.linkDomain}/link-account`;popup;originCheckInterval;constructor(){window.addEventListener("message",this.windowMessageListener,!1)}ngOnInit(){this.pluginConfig.length||this.pluginConfig.push({name:"Google Smart Home",platform:this.schema.pluginAlias}),this.gshConfig=this.pluginConfig[0],this.parseToken()}windowMessageListener=t=>{t.origin!==this.linkDomain&&(console.error("Refusing to process message from",t.origin),console.error(t));try{let i=JSON.parse(t.data);i.token&&this.processToken(i.token)}catch(i){console.error(i)}};linkAccount(){let n=window.top.outerHeight/2+window.top.screenY-350,f=window.top.outerWidth/2+window.top.screenX-450/2;this.popup=window.open(this.linkUrl,"oznu-google-smart-home-auth",`toolbar=no, location=no, directories=no, status=no, menubar=no scrollbars=no, resizable=no, copyhistory=no, width=450, height=700, top=${n}, left=${f}`),this.originCheckInterval=setInterval(()=>{this.popup.postMessage("origin-check",this.linkDomain)},2e3)}unlinkAccount(){this.gshConfig={name:"Google Smart Home",platform:this.schema.pluginAlias},this.pluginConfig.splice(0,this.pluginConfig.length),this.saveConfig()}processToken(t){clearInterval(this.originCheckInterval),this.popup&&this.popup.close(),this.gshConfig.token=t,this.gshConfig.notice="Keep your token a secret!",this.pluginConfig.length||this.pluginConfig.push(this.gshConfig),this.parseToken(),this.saveConfig()}parseToken(){if(this.gshConfig.token)try{let t=this.$jwtHelper.decodeToken(this.gshConfig.token);this.linkType=t.id.split("|")[0].split("-")[0]}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.custom.homebridge-gsh.message_invalid_token"),this.$translate.instant("toast.title_error")),delete this.gshConfig.token}}saveConfig(){return G(this,null,function*(){try{yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig)),this.justLinked=!0,this.$toastr.success(this.$translate.instant("plugins.settings.restart_required"),this.$translate.instant("plugins.settings.plugin_config_saved"))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}saveAndClose(){return G(this,null,function*(){this.gshConfig.platform=this.schema.pluginAlias,this.pluginConfig[0]=this.gshConfig,yield this.saveConfig(),this.$activeModal.close()})}close(){this.$activeModal.close()}ngOnDestroy(){clearInterval(this.originCheckInterval),window.removeEventListener("message",this.windowMessageListener),this.popup&&this.popup.close()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["app-homebridge-google-smarthome"]],inputs:{plugin:"plugin",schema:"schema",pluginConfig:"pluginConfig"},decls:15,vars:10,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],["role","alert",1,"alert","alert-warning"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","me-auto"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary"],[1,"mb-0",3,"innerHTML"],[1,"text-center"],[1,"text-center","mt-1"],[1,"btn","btn-primary","btn-lg",3,"click"],[1,"fas","fa-fw","fa-check-circle","primary-text",2,"font-size","50px"],[1,"mt-2"],[1,"mt-3"],[1,"primary-text"],[1,"plugin-md",3,"data"],[1,"card","p-2","pt-3","mt-4"],[3,"dataChange","configSchema","data"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","me-auto",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3,"Homebridge Google Smart Home"),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(6,"div",4),w(7,yH,3,6,"div",5),w(8,AH,7,7),p(),c(9,"div",6),w(10,kH,3,3,"button",7),c(11,"button",8),M("click",function(){return n.close()}),_(12),v(13,"translate"),p(),w(14,$H,3,3,"button",9),p()()),i&2&&(l(4),K("aria-label",B(5,6,"form.button_close")),l(3),S(n.$settings.env.enableAccessories?-1:7),l(),S(n.$settings.env.enableAccessories?8:-1),l(2),S(n.gshConfig.token?10:-1),l(2),q(" ",B(13,8,"form.button_close")," "),l(2),S(n.gshConfig.token?14:-1))},dependencies:[tn,en,ef,Qn,g1,Be],encapsulation:2})}return e})();var b6=(()=>{class e{$api=x(he);$modal=x(it);plugins={"homebridge-gsh":g6};constructor(){}openSettings(t,i){return G(this,null,function*(){let n=yield this.loadPluginConfig(t.name),f=this.$modal.open(this.plugins[t.name],{size:"lg",backdrop:"static"});return f.componentInstance.plugin=t,f.componentInstance.schema=i,f.componentInstance.pluginConfig=n,f.result.catch(()=>{})})}openCustomSettingsUi(t,i){return G(this,null,function*(){let n=yield this.loadPluginConfig(t.name),f=this.$modal.open(m6,{size:"lg",backdrop:"static"});return f.componentInstance.plugin=t,f.componentInstance.schema=i,f.componentInstance.pluginConfig=n,f.result.catch(()=>{})})}loadPluginConfig(t){return G(this,null,function*(){return se(this.$api.get(`/config-editor/plugin/${encodeURIComponent(t)}`))})}static \u0275fac=function(i){return new(i||e)};static \u0275prov=Ot({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var B6=ze(of(),1);var x6=ze(A1(),1),w6=ze(k1(),1);function TH(e,u){e&1&&(c(0,"div",5),I(1,"i",12),p())}function PH(e,u){e&1&&(c(0,"div",15),I(1,"i",16),p(),c(2,"ul",17)(3,"li"),_(4," All your plugins are marked as compatible with the new version of Homebridge. You are all set to continue below. "),p()())}function OH(e,u){e&1&&(c(0,"div",15),I(1,"i",18),p(),c(2,"ul",17)(3,"li"),_(4,"Some of your plugins are not explicitly marked as compatible with the new version of Homebridge."),p(),c(5,"li"),_(6," This does "),c(7,"span",19),_(8,"not"),p(),_(9," necessarily mean that they won't work. We just can't guarantee that they will. "),p(),c(10,"li"),_(11," For more information about this update, please see the "),c(12,"a",20),_(13,"wiki page"),p(),_(14,". "),p(),c(15,"li"),_(16,"To ignore this warning and continue with the update, click continue below."),p()())}function MH(e,u){e&1&&I(0,"i",21)}function jH(e,u){e&1&&I(0,"i",22)}function NH(e,u){if(e&1&&(c(0,"li",14),_(1),w(2,MH,1,0,"i",21),w(3,jH,1,0,"i",22),p()),e&2){let t=u.$implicit;l(),q(" ",t.displayName," "),l(),S(t.hb2Ready==="supported"?2:-1),l(),S(t.hb2Ready==="unknown"?3:-1)}}function qH(e,u){if(e&1&&(w(0,PH,5,0),w(1,OH,17,0),c(2,"ul",13),ft(3,NH,4,3,"li",14,nt),p()),e&2){let t=h();S(t.allPluginsSupported?0:-1),l(),S(t.allPluginsSupported?-1:1),l(2),rt(t.installedPlugins)}}var E6=(()=>{class e{$activeModal=x(ve);$api=x(he);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);loading=!0;installedPlugins=[];allPluginsSupported=!0;constructor(){}ngOnInit(){this.loadInstalledPlugins()}loadInstalledPlugins(){return G(this,null,function*(){this.installedPlugins=[],this.loading=!0;let t=this.$settings.env.homebridgeVersion.split(".")[0];try{let i=yield se(this.$api.get("/plugins"));this.installedPlugins=i.filter(n=>n.name!=="homebridge-config-ui-x").map(n=>{let f=n.engines?.homebridge?.split("||").map(o=>o.trim())||[],r=t==="2"?"hide":f.some(o=>o.startsWith("^2")||o.startsWith(">=2"))?"supported":"unknown";return r==="unknown"&&(this.allPluginsSupported=!1),Se(X({},n),{hb2Ready:r})}),this.installedPlugins.length===0&&this.$activeModal.close("update"),this.loading=!1}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugins"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],decls:20,vars:15,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"w-100","text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-row","flex-wrap","justify-content-between"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-check-circle","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"fas","fa-fw","fa-info-circle","primary-text",2,"font-size","75px"],[1,"fw-bold"],["href","https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0","target","_blank"],["aria-label","The developer has specifically marked this plugin as compatible with Homebridge v2.",1,"fas","fa-check-circle","green-text","fa-xl","ms-2"],["aria-label","The developer has not specifically marked this plugin as compatible with Homebridge v2, but it may still work.",1,"fas","fa-question-circle","orange-text","fa-xl","ms-2"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3,"Homebridge v2 Update"),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.close("Dismiss")}),p()(),c(6,"div",4),w(7,TH,2,0,"div",5),w(8,qH,5,2),p(),c(9,"div",6)(10,"div",7)(11,"button",8),v(12,"translate"),M("click",function(){return n.$activeModal.close("Dismiss")}),_(13),v(14,"translate"),p()(),I(15,"div",9),c(16,"div",10)(17,"button",11),M("click",function(){return n.$activeModal.close("update")}),_(18),v(19,"translate"),p()()()()),i&2&&(l(4),K("aria-label",B(5,7,"form.button_close")),l(3),S(n.loading?7:-1),l(),S(n.loading?-1:8),l(3),K("aria-label",B(12,9,"form.button_close")),l(2),q(" ",B(14,11,"form.button_close")," "),l(4),b("disabled",n.loading),l(),q(" ",B(19,13,"form.label_continue")," "))},dependencies:[Be],encapsulation:2})}return e})();var _6=ze(of(),1);var VH=["pluginlogoutput"],y6=(()=>{class e{$activeModal=x(ve);$api=x(he);$log=x(O1);$modal=x(it);$toastr=x(_e);$translate=x(Ee);plugin;termTarget=Xu("pluginlogoutput");resizeEvent=new Pt;pluginAlias;constructor(){}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){this.getPluginLog()}getPluginLog(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{this.pluginAlias=this.plugin.name==="homebridge-config-ui-x"?"Homebridge UI":t[0]?.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($1,{size:"lg",backdrop:"static"});t.componentInstance.title=this.$translate.instant("logs.title_download_log_file"),t.componentInstance.message=this.$translate.instant("logs.download_warning"),t.componentInstance.confirmButtonLabel=this.$translate.instant("form.button_download"),t.componentInstance.faIconClass="fas fa-fw fa-user-secret primary-text",t.result.then(()=>{this.$api.get("/platform-tools/hb-service/log/download?colour=yes",{observe:"response",responseType:"text"}).subscribe({next:i=>{if(!i.body)return;let n=i.body.split(`
|
|
21
21
|
`),f="",r=!1;n.forEach(o=>{if(o){if(r)if(o.match(/36m\[.*?\]/))r=!1;else{f+=`${o.replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"")}\r
|
|
22
22
|
`;return}o.includes(`36m[${this.pluginAlias}]`)&&(f+=`${o.replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"")}\r
|
|
23
23
|
`,r=!0)}}),(0,_6.saveAs)(new Blob([f],{type:"text/plain;charset=utf-8"}),`${this.plugin.name}.log.txt`)},error:i=>G(this,null,function*(){let n;try{n=JSON.parse(yield i.error.text()).message}catch(f){console.error(f)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))})})}).catch(()=>{})}ngOnDestroy(){this.$log.destroyTerminal()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],viewQuery:function(i,n){i&1&&Wu(n.termTarget,VH,5),i&2&&Gu()},hostBindings:function(i,n){i&1&&M("resize",function(r){return n.onWindowResize(r)},D1)},inputs:{plugin:"plugin"},decls:20,vars:13,consts:[["pluginlogoutput",""],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[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-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){if(i&1){let f=U();c(0,"div",1)(1,"div",2)(2,"h5",3),_(3),p(),c(4,"button",4),v(5,"translate"),M("click",function(){return j(f),N(n.$activeModal.dismiss("Dismiss"))}),p()(),c(6,"div",5),I(7,"div",6,0),p(),c(9,"div",7)(10,"div",8)(11,"button",9),v(12,"translate"),M("click",function(){return j(f),N(n.$activeModal.dismiss("Dismiss"))}),_(13),v(14,"translate"),p()(),I(15,"div",10),c(16,"div",11)(17,"button",12),M("click",function(){return j(f),N(n.downloadLogFile())}),_(18),v(19,"translate"),p()()()()}i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),K("aria-label",B(5,5,"form.button_close")),l(7),K("aria-label",B(12,7,"form.button_close")),l(2),q(" ",B(14,9,"form.button_close")," "),l(5),H(B(19,11,"form.button_download")))},dependencies:[Be],encapsulation:2})}return e})();var RH=(e,u)=>({pluginName:e,targetVersion:u}),LH=(e,u)=>({iconStar:e,iconThumbsUp:u}),v6=()=>["homebridge","homebridge-config-ui-x"],S6=(e,u,t,i)=>({"fa-arrow-alt-circle-down":e,"fa-code-compare":u,"fa-arrow-alt-circle-up":t,"fa-trash":i});function zH(e,u){e&1&&(c(0,"p",13),_(1),v(2,"translate"),p()),e&2&&(l(),H(B(2,1,"plugins.settings.restart_required")))}function HH(e,u){e&1&&(c(0,"p",13),_(1),v(2,"translate"),p()),e&2&&(l(),H(B(2,1,"restart.child_bridges")))}function UH(e,u){if(e&1&&(I(0,"p",12),v(1,"translate"),w(2,zH,3,3,"p",13),w(3,HH,3,3,"p",13)),e&2){let t=h(3);b("innerHTML",Ye(1,3,"plugins.manage.github_support",Ju(6,LH,t.iconStar,t.iconThumbsUp)),de),l(2),S(Xe(9,v6).includes(t.pluginName)||t.childBridges.length===0?2:-1),l(),S(!Xe(10,v6).includes(t.pluginName)&&t.childBridges.length>0?3:-1)}}function WH(e,u){if(e&1&&(c(0,"div",11),I(1,"markdown",14),p()),e&2){let t=h(3);l(),b("data",t.changeLog)}}function GH(e,u){if(e&1&&(c(0,"div",8),I(1,"i",9),p(),c(2,"h5",10),_(3),v(4,"translate"),p(),w(5,UH,4,11),w(6,WH,2,1,"div",11)),e&2){let t=h(2);l(3),q(" ",Ye(4,3,"plugins.manage.thanks_for_updating",Ju(6,RH,t.pluginDisplayName,t.targetVersion))," "),l(2),S(t.isDisabled?-1:5),l(),S(t.changeLog?6:-1)}}function KH(e,u){if(e&1&&(c(0,"div",5),w(1,GH,7,9),p()),e&2){let t=h();l(),S(t.justUpdatedPlugin?1:-1)}}function JH(e,u){if(e&1&&(c(0,"div",6)(1,"div",8),I(2,"i",15),p(),c(3,"ul",16)(4,"li"),_(5),v(6,"translate"),p(),c(7,"li"),_(8),v(9,"translate"),p()(),c(10,"pre",17),_(11),p()()),e&2){let t=h();l(2),b("ngClass",Wi(9,S6,t.action==="Install",t.action==="Update"&&t.installedVersion,t.action==="Update"&&!t.installedVersion,t.action==="Uninstall")),l(3),H(B(6,5,"plugins.manage.online_updates")),l(3),H(B(9,7,"plugins.manage.manual_update_command")),l(3),Bu(`hb-service stop
|
|
24
24
|
npm install -g `,t.pluginName,"@",t.targetVersion,`
|
|
25
25
|
hb-service start`)}}function XH(e,u){if(e&1&&(c(0,"span"),_(1),p()),e&2){let t=h(3);l(),q("v",t.installedVersion," \u2192 ")}}function YH(e,u){if(e&1&&_(0),e&2){let t=h(3);q(" ",t.release.name," ")}}function ZH(e,u){if(e&1&&_(0),e&2){let t=h(3);q(" v",t.latestVersion," ")}}function QH(e,u){if(e&1&&(c(0,"h5",8),w(1,XH,2,1,"span"),w(2,YH,1,1),w(3,ZH,1,1),p()),e&2){let t=h(2);l(),S(t.installedVersion?1:-1),l(),S(t.release.name?2:-1),l(),S(t.release.name?-1:3)}}function eU(e,u){if(e&1&&(c(0,"div",5)(1,"div",8),I(2,"i",18),p(),w(3,QH,4,3,"h5",8),c(4,"div",19),I(5,"markdown",14),p()()),e&2){let t=h();l(2),b("ngClass",Wi(3,S6,t.action==="Install"&&!t.installedVersion,t.action==="Install"&&t.installedVersion,t.action==="Update",t.action==="Uninstall")),l(),S(t.release.name||t.latestVersion?3:-1),l(2),b("data",t.release.changelog)}}function tU(e,u){if(e&1){let t=U();c(0,"button",26),v(1,"translate"),M("click",function(){j(t);let n=h(2);return N(n.$activeModal.dismiss("Dismiss"))}),_(2),v(3,"translate"),p()}e&2&&(K("aria-label",B(1,2,"form.button_close")),l(2),q(" ",B(3,4,"form.button_close")," "))}function uU(e,u){if(e&1){let t=U();c(0,"button",26),v(1,"translate"),M("click",function(){j(t);let n=h(2);return N(n.$activeModal.dismiss("Dismiss"))}),_(2),v(3,"translate"),p()}e&2&&(K("aria-label",B(1,2,"form.button_close")),l(2),q(" ",B(3,4,"form.button_close")," "))}function iU(e,u){if(e&1){let t=U();c(0,"button",27),M("click",function(){j(t);let n=h(2);return N(n.update())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"plugins.button_update")," "))}function nU(e,u){if(e&1){let t=U();c(0,"button",27),M("click",function(){j(t);let n=h(2);return N(!["homebridge","homebridge-config-ui-x"].includes(n.pluginName)&&n.childBridges.length>0?n.onRestartChildBridgeClick():n.onRestartHomebridgeClick())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"menu.tooltip_restart")," "))}function fU(e,u){if(e&1){let t=U();c(0,"button",28),M("click",function(){j(t);let n=h(2);return N(n.downloadLogFile())}),_(1),v(2,"translate"),p()}e&2&&(l(),H(B(2,1,"form.button_download")))}function rU(e,u){if(e&1&&(c(0,"div",7)(1,"div",20),w(2,tU,4,6,"button",21),p(),c(3,"div",22),w(4,uU,4,6,"button",21),p(),c(5,"div",23),w(6,iU,3,3,"button",24),w(7,nU,3,3,"button",24),w(8,fU,3,3,"button",25),p()()),e&2){let t=h();l(2),S(!t.justUpdatedPlugin&&t.onlineUpdateOk||t.justUpdatedPlugin&&(!t.isDisabled||t.actionFailed)?2:-1),l(2),S(t.justUpdatedPlugin&&t.isDisabled&&!t.actionFailed||!t.onlineUpdateOk?4:-1),l(2),S(t.onlineUpdateOk&&t.showReleaseNotes?6:-1),l(),S(t.justUpdatedPlugin&&!t.isDisabled?7:-1),l(),S(t.actionFailed?8:-1)}}var tf=(()=>{class e{$activeModal=x(ve);$api=x(he);$modal=x(it);$router=x(cu);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);$ws=x(Qi);pluginName;pluginDisplayName;targetVersion="latest";latestVersion;installedVersion;isDisabled;action;actionComplete=!1;actionFailed=!1;showReleaseNotes=!1;justUpdatedPlugin=!1;updateToBeta=!1;changeLog;childBridges=[];release;presentTenseVerb;pastTenseVerb;onlineUpdateOk;iconStar='<i class="fas fa-fw fa-star primary-text"></i>';iconThumbsUp='<i class="fas fa-fw fa-thumbs-up primary-text"></i>';io;toastSuccess;term=new x6.Terminal;termTarget;fitAddon=new w6.FitAddon;errorLog="";constructor(){this.term.loadAddon(this.fitAddon)}ngOnInit(){switch(this.io=this.$ws.connectToNamespace("plugins"),this.termTarget=document.getElementById("plugin-log-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",t=>{this.term.write(t);let i=t.toString().replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"").trimEnd();i&&(this.errorLog+=`${i}\r
|
|
26
|
-
`)}),this.toastSuccess=this.$translate.instant("toast.title_success"),this.onlineUpdateOk=!(["homebridge","homebridge-config-ui-x"].includes(this.pluginName)&&this.$settings.env.platform==="win32"),this.action){case"Install":this.install(),this.presentTenseVerb=this.$translate.instant("plugins.manage.install"),this.pastTenseVerb=this.$translate.instant("plugins.manage.installed");break;case"Uninstall":this.uninstall(),this.presentTenseVerb=this.$translate.instant("plugins.manage.uninstall"),this.pastTenseVerb=this.$translate.instant("plugins.manage.uninstalled");break;case"Update":switch(this.targetVersion){case"latest":this.updateToBeta=!1,this.getReleaseNotes();break;case"alpha":case"beta":case"test":this.updateToBeta=!0,this.getReleaseNotes();break;default:this.update()}this.presentTenseVerb=this.$translate.instant("plugins.manage.update"),this.pastTenseVerb=this.$translate.instant("plugins.manage.updated");break}}install(){if(this.onlineUpdateOk){if(this.pluginName==="homebridge")return this.upgradeHomebridge();this.io.request("install",{name:this.pluginName,version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(`${this.pastTenseVerb} ${this.pluginName}`,this.toastSuccess),window.location.href=`/plugins?installed=${this.pluginName}`},error:t=>{this.actionFailed=!0,console.error(t),this.$router.navigate(["/plugins"]),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}}uninstall(){this.io.request("uninstall",{name:this.pluginName,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close(),this.$router.navigate(["/plugins"]),this.$modal.open(uu,{size:"lg",backdrop:"static"})},error:t=>{this.actionFailed=!0,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}update(){if(this.showReleaseNotes=!1,!!this.onlineUpdateOk){if(this.pluginName==="homebridge")return this.upgradeHomebridge();this.io.request("update",{name:this.pluginName,version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>G(this,null,function*(){try{yield Promise.all([this.getChangeLog(),this.getChildBridges()])}catch(t){console.error(t)}this.actionComplete=!0,this.justUpdatedPlugin=!0,this.$router.navigate([this.pluginName==="homebridge-config-ui-x"?"/":"/plugins"])}),error:t=>{this.actionFailed=!0,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}}upgradeHomebridge(){return G(this,null,function*(){let t="update";Number(this.installedVersion.split(".")[0])<2&&["2","alpha","beta"].includes(this.targetVersion.split(".")[0])&&(t=yield this.$modal.open(E6,{size:"lg",backdrop:"static"}).result),t==="update"?this.io.request("homebridge-update",{version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close();let i=this.$modal.open(uu,{size:"lg",backdrop:"static"});i.componentInstance.fullRestart=!0},error:i=>{this.actionFailed=!0,console.error(i),this.$toastr.error(i.message,this.$translate.instant("toast.title_error")),this.$activeModal.close()}}):this.$activeModal.close()})}getChangeLog(){return G(this,null,function*(){let t=yield se(this.$api.get(`/plugins/changelog/${encodeURIComponent(this.pluginName)}`));this.changeLog=t.changelog})}getChildBridges(){return G(this,null,function*(){(yield se(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.pluginName===i.plugin&&this.childBridges.push(i)})})}getReleaseNotes(){this.$api.get(`/plugins/release/${encodeURIComponent(this.pluginName)}`).subscribe({next:t=>{this.showReleaseNotes=!0,this.release=t},error:()=>{this.onlineUpdateOk&&this.update()}})}onRestartHomebridgeClick(){this.pluginName==="homebridge-config-ui-x"?this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{window.location.href="/restart"},error:t=>{console.error(t),window.location.href="/restart"}}):(this.$router.navigate(["/restart"]),this.$activeModal.close())}onRestartChildBridgeClick(){return G(this,null,function*(){try{for(let i of this.childBridges)yield se(this.$api.put(`/server/restart/${i.username}`,{}));let t=this.$modal.open(y6,{size:"xl",backdrop:"static"});t.componentInstance.plugin={name:this.pluginName}}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.manage.child_bridge_restart_failed"),this.$translate.instant("toast.title_error"))}finally{this.$activeModal.close()}})}downloadLogFile(){let t=new Blob([this.errorLog],{type:"text/plain;charset=utf-8"});(0,B6.saveAs)(t,`${this.pluginName}-error.log`)}ngOnDestroy(){this.io.end()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{pluginName:"pluginName",pluginDisplayName:"pluginDisplayName",targetVersion:"targetVersion",latestVersion:"latestVersion",installedVersion:"installedVersion",isDisabled:"isDisabled",action:"action"},decls:11,vars:9,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-body","plugin-modal-body"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"mb-3","text-center"],[1,"far","fa-fw","fa-check-circle","primary-text",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"alert","p-3","pb-1","mt-3"],[1,"mb-3","text-center","grey-text",3,"innerHTML"],[1,"text-center","mb-0"],[1,"plugin-md",3,"data"],[1,"fas","fa-fw","primary-text",2,"font-size","75px",3,"ngClass"],[1,"mb-3"],[1,"p-2","mb-0",2,"background-color","#efefef"],[1,"far","fa-fw","primary-text",2,"font-size","75px",3,"ngClass"],[1,"alert","p-3","pb-1","mb-0"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-primary"],[1,"btn","btn-primary"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),I(6,"div",4),w(7,KH,2,1,"div",5),w(8,JH,12,14,"div",6),w(9,eU,6,8,"div",5),w(10,rU,9,5,"div",7),p()),i&2&&(l(3),H(n.pluginDisplayName),l(),K("aria-label",B(5,7,"form.button_close")),l(2),b("hidden",!n.onlineUpdateOk||n.actionComplete||n.showReleaseNotes),l(),S(n.actionComplete?7:-1),l(),S(n.onlineUpdateOk?-1:8),l(),S(n.showReleaseNotes&&!n.actionComplete&&n.onlineUpdateOk?9:-1),l(),S(!n.onlineUpdateOk||n.actionComplete||n.showReleaseNotes||n.actionFailed?10:-1))},dependencies:[tn,en,ef,Be,zt],styles:[".plugin-modal-body[_ngcontent-%COMP%]{max-height:60vh;overflow-y:auto;overflow-x:hidden} .plugin-md{text-align:left;font-size:.95rem;word-wrap:break-word} .plugin-md img{max-width:100%} .plugin-md h1{font-size:1.4rem;font-weight:300} .plugin-md h2{font-size:1.3rem;font-weight:300} .plugin-md h3{font-size:1.2rem;font-weight:300} .plugin-md h4{font-size:1.1rem;font-weight:300} .plugin-md h5{font-size:1rem;font-weight:300} .plugin-md pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}"]})}return e})();var I6=ze(ss(),1);function oU(e,u){e&1&&(c(0,"div",5),I(1,"i",12),p())}function aU(e,u){if(e&1&&(I(0,"i",19),c(1,"h6",20),_(2),v(3,"translate"),p(),c(4,"p",20),_(5),v(6,"translate"),c(7,"span",21),_(8),p()()),e&2){let t=h(2);l(2),H(B(3,3,"plugins.manage.select_version")),l(3),q(" ",B(6,5,"plugins.status_installed"),": "),l(3),q("v",t.plugin.installedVersion)}}function sU(e,u){e&1&&(I(0,"i",22),c(1,"h6",20),_(2),v(3,"translate"),p()),e&2&&(l(2),H(B(3,1,"plugins.manage.select_version")))}function DU(e,u){if(e&1){let t=U();c(0,"button",26),M("click",function(){j(t);let n=h().$implicit,f=h(2);return N(f.doInstall(n.version))}),I(1,"i",27),p()}}function lU(e,u){e&1&&(c(0,"button",25),I(1,"i",28),p())}function dU(e,u){if(e&1&&(c(0,"li",14)(1,"span",8),_(2),I(3,"br"),c(4,"small",23),_(5),p()(),w(6,DU,2,0,"button",24)(7,lU,2,0,"button",25),p()),e&2){let t=u.$implicit,i=h(2);l(2),q(" ",t.tag," "),l(3),q("v",t.version),l(),S(i.plugin.installedVersion!==t.version?6:7)}}function cU(e,u){e&1&&_(0," \u2713 ")}function pU(e,u){if(e&1&&(c(0,"option",17),_(1),w(2,cU,1,0),p()),e&2){let t=u.$implicit,i=h(2);b("value",t.version)("selected",i.versionSelect==t.version),l(),q(" v",t.version," "),l(),S(t.version==i.plugin.installedVersion?2:-1)}}function mU(e,u){e&1&&I(0,"i",28)}function FU(e,u){e&1&&I(0,"i",27)}function CU(e,u){if(e&1){let t=U();c(0,"button",29),M("click",function(){j(t);let n=h(2);return N(n.doInstall(n.versionSelect))}),w(1,mU,1,0,"i",28)(2,FU,1,0,"i",27),p()}if(e&2){let t=h(2);b("disabled",t.versionSelect===t.plugin.installedVersion),l(),S(t.versionSelect===t.plugin.installedVersion?1:2)}}function hU(e,u){if(e&1){let t=U();c(0,"div",6),w(1,aU,9,7)(2,sU,4,3),c(3,"ul",13),ft(4,dU,8,3,"li",14,nt),c(6,"li",14)(7,"div",15),_(8),v(9,"translate"),I(10,"br"),c(11,"select",16),Oe("ngModelChange",function(n){j(t);let f=h();return Pe(f.versionSelect,n)||(f.versionSelect=n),N(n)}),ft(12,pU,3,4,"option",17,nt),p()(),w(14,CU,3,2,"button",18),p()()()}if(e&2){let t=h();l(),S(t.plugin.installedVersion?1:2),l(3),rt(t.versionsWithTags),l(4),q(" ",B(9,4,"plugins.manage.all_versions")," "),l(3),Te("ngModel",t.versionSelect),l(),rt(t.versions),l(2),S(t.versionSelect?14:-1)}}var A6=(()=>{class e{$activeModal=x(ve);$api=x(he);$toastr=x(_e);$translate=x(Ee);plugin;loading=!0;versions=[];versionsWithTags=[];versionSelect;constructor(){}ngOnInit(){this.versionSelect=this.plugin.installedVersion||this.plugin.latestVersion,this.lookupVersions()}lookupVersions(){this.$api.get(`/plugins/lookup/${encodeURIComponent(this.plugin.name)}/versions`).subscribe({next:t=>{let i=new Set;for(let[n,f]of Object.entries(t.versions)){this.versions.push({version:n,engines:f.engines||null});let r=Object.keys(t.tags).find(o=>t.tags[o]===n);r&&(this.versionsWithTags.push({version:n,tag:r}),i.add(n))}this.versions.sort((n,f)=>(0,I6.rcompare)(n.version,f.version)),this.versionsWithTags.sort((n,f)=>{let r=["latest","next","beta","alpha"],o=r.includes(n.tag)?r.indexOf(n.tag):999,a=r.includes(f.tag)?r.indexOf(f.tag):999;return o-a}),!this.versions.find(n=>n.version===this.versionSelect)&&t.tags.latest&&(this.versionSelect=t.tags.latest),this.loading=!1},error:t=>{console.error(t),this.$toastr.error(t.error.message||t.message,this.$translate.instant("toast.title_error")),this.$activeModal.dismiss()}})}doInstall(t){this.$activeModal.close({name:this.plugin.name,version:t,engines:this.versions.find(i=>i.version===t).engines,action:this.plugin.installedVersion?"alternate":"install"})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","d-flex","flex-row","flex-grow-1","w-100"],[1,"w-100","text-center","primary-text"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"text-start",2,"min-width","50%"],[1,"custom-select","w-100",2,"font-size","0.875rem",3,"ngModelChange","ngModel"],[3,"value","selected"],[1,"btn","btn-primary","m-0","ms-3",3,"disabled"],[1,"fas","fa-fw","fa-code-compare","primary-text","mb-3",2,"font-size","75px"],[1,"mb-3"],[1,"font-monospace"],[1,"far","fa-fw","fa-arrow-alt-circle-down","primary-text","mb-3",2,"font-size","75px"],[1,"grey-text","font-monospace"],[1,"btn","btn-primary","m-0","ms-3"],["disabled","",1,"btn","btn-primary","m-0","ms-3"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-alt-circle-down"],[1,"fas","fa-fw","fa-check-circle"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(6,"div",4),w(7,oU,2,0,"div",5)(8,hU,15,6,"div",6),p(),c(9,"div",7),I(10,"div",8),c(11,"div",9)(12,"button",10),v(13,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),_(14),v(15,"translate"),p()(),I(16,"div",11),p()()),i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),K("aria-label",B(5,5,"form.button_close")),l(3),S(n.loading?7:8),l(5),K("aria-label",B(13,7,"form.button_close")),l(2),q(" ",B(15,9,"form.button_close")," "))},dependencies:[tu,yi,vi,Xi,vt,Yu,Be],encapsulation:2})}return e})();var k6=ze(Z6(),1);function gU(e,u){e&1&&(c(0,"div",5),I(1,"i",14),p())}function bU(e,u){e&1&&(c(0,"div",6),_(1),v(2,"translate"),v(3,"translate"),p()),e&2&&(l(),Bu(" ",B(2,2,"plugins.settings.message_manual_config_required")," ",B(3,4,"plugins.settings.message_consult_documentation")," "))}function EU(e,u){if(e&1){let t=U();c(0,"button",25),v(1,"translate"),M("click",function(){j(t);let n=h(2).$index,f=h(2);return N(f.removeBlock(n))}),I(2,"i",26),p()}e&2&&b("ngbTooltip",B(1,1,"form.button_delete"))}function _U(e,u){if(e&1&&w(0,EU,3,3,"button",24),e&2){let t=h(3);S(!(t.schema!=null&&t.schema.singular)||t.pluginConfig.length>1?0:-1)}}function yU(e,u){if(e&1){let t=U();c(0,"div",15)(1,"div",16)(2,"div",17)(3,"h5",18),_(4),p(),c(5,"div"),w(6,_U,1,1),c(7,"button",19),v(8,"translate"),M("click",function(){let n=j(t).$index,f=h(2);return N(f.editBlock(n))}),I(9,"i",20),p()()()(),c(10,"div",21)(11,"div",22)(12,"ngx-monaco-editor",23),Oe("ngModelChange",function(n){j(t);let f=h(2);return Pe(f.currentBlock,n)||(f.currentBlock=n),N(n)}),M("onInit",function(n){j(t);let f=h(2);return N(f.onEditorInit(n))}),p()()()()}if(e&2){let t=u.$implicit,i=u.$index,n=h(2);b("ngbAccordionItem","configBlock."+i)("collapsed",n.show!=="configBlock."+i)("id","configBlock."+i),l(4),H(t.name||n.pluginAlias),l(2),S(n.show==="configBlock."+i?6:-1),l(),b("ngbTooltip",B(8,8,"form.button_edit")),l(5),b("options",n.editorOptions),Te("ngModel",n.currentBlock)}}function vU(e,u){if(e&1&&(c(0,"div",7),ft(1,yU,13,10,"div",15,nt),p()),e&2){let t=h();b("closeOthers",!0),l(),rt(t.pluginConfig)}}function BU(e,u){if(e&1){let t=U();c(0,"button",30),M("click",function(){j(t);let n=h(2);return N(n.addBlock())}),I(1,"i",31),p()}}function xU(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"form.button_save")," ")}function wU(e,u){e&1&&I(0,"i",29)}function SU(e,u){if(e&1){let t=U();w(0,BU,2,0,"button",27),c(1,"button",28),M("click",function(){j(t);let n=h();return N(n.save())}),w(2,xU,2,3),w(3,wU,1,0,"i",29),p()}if(e&2){let t=h();S(t.schema!=null&&t.schema.singular?-1:0),l(),b("disabled",t.saveInProgress),l(),S(t.saveInProgress?-1:2),l(),S(t.saveInProgress?3:-1)}}function IU(e,u){if(e&1){let t=U();c(0,"button",32),M("click",function(){j(t);let n=h();return N(n.openFullConfigEditor())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"plugins.settings.label_open_config_editor")," "))}var Jl=(()=>{class e{$activeModal=x(ve);$api=x(he);$md=x(T1);$modal=x(it);$plugin=x(bi);$router=x(cu);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);plugin;schema;pluginAlias;pluginType;loading=!0;canConfigure=!1;show="";pluginConfig;currentBlock;currentBlockIndex=null;saveInProgress=!1;childBridges=[];isFirstSave=!1;monacoEditor;editorOptions;constructor(){}get arrayKey(){return this.pluginType==="accessory"?"accessories":"platforms"}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.$md.detect.mobile()?(this.loading=!1,this.canConfigure=!1):this.loadPluginAlias()}onEditorInit(t){return G(this,null,function*(){window.editor=t,this.monacoEditor=t,yield this.monacoEditor.getModel().setValue(this.currentBlock),yield this.monacoEditor.getAction("editor.action.formatDocument").run()})}loadPluginAlias(){this.$api.get(`/plugins/alias/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{t.pluginAlias&&t.pluginType?(this.pluginAlias=t.pluginAlias,this.pluginType=t.pluginType,this.loadHomebridgeConfig()):this.loading=!1},error:()=>{this.loading=!1}})}loadHomebridgeConfig(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe(t=>{this.pluginConfig=t,this.canConfigure=!0,this.loading=!1,this.pluginConfig.length?this.editBlock(0):(this.isFirstSave=!0,this.addBlock())})}addBlock(){if(!this.saveCurrentBlock()){this.$toastr.error(this.$translate.instant("plugins.config.please_fix"),this.$translate.instant("toast.title_error"));return}this.pluginConfig.push({[this.pluginType]:this.pluginAlias,name:this.pluginAlias}),this.editBlock(this.pluginConfig.length-1)}saveCurrentBlock(){if(this.currentBlockIndex!==null&&this.monacoEditor){let t=this.monacoEditor.getModel().getValue().trim(),i;t.charAt(0)==='"'&&t.charAt(t.length-1)==="]"&&(t=`{${t}}`);try{i=k6.default.parse(t)}catch(f){return console.error(f),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error")),!1}if(Array.isArray(i)||typeof i!="object")return this.$toastr.error(this.$translate.instant("plugins.config.must_be_object"),this.$translate.instant("toast.title_error")),!1;if(!i[this.pluginType]&&Array.isArray(i[this.arrayKey])&&i[this.arrayKey].length&&Object.keys(i).length===1&&(i=i[this.arrayKey][0]),this.pluginType==="accessory"&&(!i.name||typeof i.name!="string"))return this.$toastr.error(this.$translate.instant("plugins.config.name_property"),this.$translate.instant("toast.title_error")),i.name="",this.monacoEditor.getModel().setValue(JSON.stringify(i,null,4)),!1;let n=this.pluginConfig[this.currentBlockIndex];Object.keys(n).forEach(f=>delete n[f]),Object.assign(n,i),n[this.pluginType]=this.pluginAlias}return!0}editBlock(t){this.saveCurrentBlock()&&(this.show=`configBlock.${t}`,this.currentBlockIndex=t,this.currentBlock=JSON.stringify(this.pluginConfig[this.currentBlockIndex],null,4))}removeBlock(t){let i=this.pluginConfig[t],n=this.pluginConfig.findIndex(f=>f===i);n>-1&&this.pluginConfig.splice(n,1),this.currentBlockIndex=null,this.currentBlock=void 0,this.show=""}save(){return G(this,null,function*(){if(this.saveInProgress=!0,!this.saveCurrentBlock()){this.saveInProgress=!1;return}try{let t=yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig));if(this.$activeModal.close(),this.isFirstSave&&this.$settings.env.recommendChildBridges&&t[0]?.platform){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let i=this.$modal.open(un,{size:"lg",backdrop:"static"});i.componentInstance.bridges=this.childBridges.map(n=>({name:n.name,username:n.username}));return}this.$activeModal.close(),this.$modal.open(uu,{size:"lg",backdrop:"static"})}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error")),this.saveInProgress=!1}})}openFullConfigEditor(){this.$router.navigate(["/config"]),this.$activeModal.close()}getChildBridges(){return G(this,null,function*(){try{(yield se(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",schema:"schema"},decls:19,vars:14,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body","pb-0"],[1,"text-center","primary-text"],[1,"alert","alert-warning","mb-0"],["ngbAccordion","",3,"closeOthers"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],[1,"btn","btn-primary"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"card",3,"ngbAccordionItem","collapsed","id"],["ngbAccordionHeader","",1,"card-header"],[1,"d-flex","align-items-center","justify-content-between"],[1,"m-0"],["ngbAccordionToggle","","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-edit"],["ngbAccordionCollapse",""],["ngbAccordionBody","",1,"card-body","p-0",2,"height","400px"],[1,"flex-grow-1","h-100","w-100","mb-0","pb-0",3,"ngModelChange","onInit","options","ngModel"],["container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-3",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-3",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-trash"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","me-2"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","me-2",3,"click"],[1,"fa","fa-fw","fa-plus"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.close()}),p()(),c(6,"div",4),w(7,gU,2,0,"div",5),w(8,bU,4,6,"div",6),w(9,vU,3,1,"div",7),p(),c(10,"div",8)(11,"div",9)(12,"button",10),M("click",function(){return n.$activeModal.close()}),_(13),v(14,"translate"),p()(),I(15,"div",11),c(16,"div",12),w(17,SU,4,4),w(18,IU,3,3,"button",13),p()()()),i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),b("disabled",n.saveInProgress),K("aria-label",B(5,10,"form.button_close")),l(3),S(n.loading?7:-1),l(),S(!n.loading&&!n.canConfigure?8:-1),l(),S(!n.loading&&n.canConfigure?9:-1),l(3),b("disabled",n.saveInProgress),l(),q(" ",B(14,12,"form.button_close")," "),l(4),S(n.canConfigure?17:-1),l(),S(n.canConfigure?-1:18))},dependencies:[Xr,Jr,Kr,Zi,Wr,Ur,S1,tu,vt,Yu,Be,Gr],styles:[".no-padding-card-body .card-body{padding:0!important} body.dark-mode .no-padding-card-body .card-body{background-color:#1e1e1e}.manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var $6=e=>({link:e}),AU=(e,u)=>({"green-text":e,"grey-text":u});function kU(e,u){if(e&1){let t=U();c(0,"button",13),v(1,"translate"),M("click",function(){j(t);let n=h();return N(n.$activeModal.close("Dismiss"))}),p()}if(e&2){let t=h();b("disabled",t.saveInProgress),K("aria-label",B(1,2,"form.button_close"))}}function $U(e,u){e&1&&(c(0,"div",5),I(1,"i",14),p())}function TU(e,u){e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2&&(l(),H(B(2,1,"child_bridge.bridges_paired_2")))}function PU(e,u){e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2&&(l(),q("",B(2,1,"child_bridge.select_type"),":"))}function OU(e,u){if(e&1&&(c(0,"li"),_(1),v(2,"translate"),p(),w(3,TU,3,3,"li"),w(4,PU,3,3,"li")),e&2){let t=h(2);l(),H(B(2,3,"child_bridge.bridges_paired")),l(2),S(t.configBlocks.length===1&&!t.deviceInfo[t.configBlocks[0]._bridge==null?null:t.configBlocks[0]._bridge.username]&&t.originalBridges.length===0?3:-1),l(),S(t.canConfigure?4:-1)}}function MU(e,u){if(e&1&&(c(0,"option",29),_(1),p()),e&2){let t=u.$implicit,i=u.$index;b("value",i),l(),H(t.name||t.platform||t.accessory)}}function jU(e,u){if(e&1){let t=U();c(0,"li",25),_(1),v(2,"translate"),p(),c(3,"li",23)(4,"label",26),_(5),v(6,"translate"),p(),c(7,"div",27)(8,"select",28),Oe("ngModelChange",function(n){j(t);let f=h(3);return Pe(f.selectedBlock,n)||(f.selectedBlock=n),N(n)}),M("change",function(n){j(t);let f=h(3);return N(f.onBlockChange(n.target.value))}),ft(9,MU,2,2,"option",29,nt),p()()()}if(e&2){let t=h(3);l(),H(B(2,3,"form.label.changes_kept")),l(4),q(" ",B(6,5,t.isPlatform?"child_bridge.config.platform":"child_bridge.config.accessory")," "),l(3),Te("ngModel",t.selectedBlock),l(),rt(t.configBlocks)}}function NU(e,u){if(e&1&&(c(0,"li",23)(1,"label",30),_(2),v(3,"translate"),p(),c(4,"div",31),_(5),p()()),e&2){let t=h(3);l(2),q(" ",B(3,2,t.isPlatform?"child_bridge.config.platform":"child_bridge.config.accessory")," "),l(3),q(" ",t.configBlocks[t.selectedBlock].name||t.configBlocks[t.selectedBlock].platform||t.configBlocks[t.selectedBlock].accessory," ")}}function qU(e,u){e&1&&(c(0,"li",23)(1,"label",30),_(2),v(3,"translate"),p(),c(4,"div",32),_(5),v(6,"translate"),p()()),e&2&&(l(2),H(B(3,2,"child_bridge.config.use")),l(3),q(" ",B(6,4,"child_bridge.config.prevent")," "))}function VU(e,u){if(e&1&&(c(0,"option",29),_(1),p()),e&2){let t=u.$implicit;b("value",t.username),l(),Bu("",t.name," (",t.username,")")}}function RU(e,u){if(e&1){let t=U();c(0,"li",23)(1,"label",37),_(2),v(3,"translate"),p(),c(4,"div",27)(5,"select",38),M("change",function(n){j(t);let f=h(4);return N(f.onLinkBridgeChange(n.target.value))}),c(6,"option",29),_(7),v(8,"translate"),p(),ft(9,VU,2,3,"option",29,nt),p()()()}if(e&2){let t=h(4);l(2),H(B(3,2,"child_bridge.config.or_link")),l(5),H(B(8,4,"child_bridge.config.select_existing")),l(2),rt(t.bridgesAvailableForLink)}}function LU(e,u){if(e&1){let t=U();c(0,"li",33)(1,"span",7),_(2),v(3,"translate"),p(),c(4,"div",34)(5,"input",35),M("change",function(){j(t);let n=h(3);return N(n.toggleExternalBridge(n.configBlocks[n.selectedBlock],n.enabledBlocks[n.selectedBlock],n.selectedBlock))}),Oe("ngModelChange",function(n){j(t);let f=h(3);return Pe(f.enabledBlocks[f.selectedBlock],n)||(f.enabledBlocks[f.selectedBlock]=n),N(n)}),p(),I(6,"label",36),p()(),w(7,RU,11,6,"li",23)}if(e&2){let t=h(3);l(2),H(B(3,5,"child_bridge.config.use")),l(3),b("id","toggleExternalBridgeInput_"+t.selectedBlock),Te("ngModel",t.enabledBlocks[t.selectedBlock]),l(),b("for","toggleExternalBridgeInput_"+t.selectedBlock),l(),S(!(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username)&&t.bridgesAvailableForLink.length?7:-1)}}function zU(e,u){if(e&1&&(c(0,"li",23)(1,"label",30),_(2),v(3,"translate"),p(),c(4,"div",31),_(5),p()(),c(6,"li",23)(7,"label",30),_(8),v(9,"translate"),p(),c(10,"div",31),_(11),p()(),c(12,"li",23)(13,"label",30),_(14),v(15,"translate"),p(),c(16,"div",31),_(17),p()()),e&2){let t=h(3);l(2),H(B(3,6,"accessories.bridge_link_username")),l(3),q(" ",t.currentlySelectedLink.username," "),l(3),H(B(9,8,"accessories.bridge_link_port")),l(3),q(" ",t.currentlySelectedLink.port," "),l(3),H(B(15,10,"accessories.bridge_link_name")),l(3),q(" ",t.currentlySelectedLink.name," ")}}function HU(e,u){e&1&&(c(0,"span"),_(1),v(2,"translate"),p()),e&2&&(l(),q(" \xB7 ",B(2,1,"status.code_scan")," "))}function UU(e,u){if(e&1){let t=U();c(0,"li",33)(1,"span",7),_(2),v(3,"translate"),c(4,"code"),_(5,"-D"),p()(),c(6,"div",34)(7,"input",51),v(8,"translate"),Oe("ngModelChange",function(n){j(t);let f=h(5);return Pe(f.configBlocks[f.selectedBlock]._bridge.debugModeEnabled,n)||(f.configBlocks[f.selectedBlock]._bridge.debugModeEnabled=n),N(n)}),p(),I(9,"label",36),p()()}if(e&2){let t=h(5);l(2),q("",B(3,5,"child_bridge.config.debug")," "),l(5),b("id","homebridgeDebugMode_"+t.selectedBlock),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.debugModeEnabled),K("aria-label",B(8,7,"settings.startup.debug")),l(2),b("for","homebridgeDebugMode_"+t.selectedBlock)}}function WU(e,u){if(e&1){let t=U();c(0,"li",39)(1,"div",40),I(2,"app-qrcode",41),c(3,"p",42),_(4),p(),c(5,"p",43),I(6,"i",44),_(7),v(8,"translate"),w(9,HU,3,3,"span"),p()()(),c(10,"li",23)(11,"label",30),_(12),v(13,"translate"),p(),c(14,"div",31),_(15),p()(),c(16,"li",23)(17,"label",30),_(18),v(19,"translate"),p(),c(20,"div",31),_(21),p()(),c(22,"li",23)(23,"label",30),_(24),v(25,"translate"),p(),c(26,"div",27)(27,"input",45),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.name,n)||(f.configBlocks[f.selectedBlock]._bridge.name=n),N(n)}),p()()(),c(28,"li",23)(29,"label",30),_(30),v(31,"translate"),p(),c(32,"div",27)(33,"input",45),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.manufacturer,n)||(f.configBlocks[f.selectedBlock]._bridge.manufacturer=n),N(n)}),p()()(),c(34,"li",23)(35,"label",30),_(36),v(37,"translate"),p(),c(38,"div",27)(39,"input",45),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.model,n)||(f.configBlocks[f.selectedBlock]._bridge.model=n),N(n)}),p()()(),c(40,"li",23)(41,"label",30),_(42),v(43,"translate"),p(),c(44,"div",27)(45,"input",45),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.firmwareRevision,n)||(f.configBlocks[f.selectedBlock]._bridge.firmwareRevision=n),N(n)}),p()()(),w(46,UU,10,9,"li",33),c(47,"li",23)(48,"label",30)(49,"span",46),_(50,"DEBUG"),p(),I(51,"br")(52,"small",47),v(53,"translate"),p(),c(54,"div",27)(55,"input",48),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.env.DEBUG,n)||(f.configBlocks[f.selectedBlock]._bridge.env.DEBUG=n),N(n)}),p()()(),c(56,"li",23)(57,"label",30)(58,"span",46),_(59,"NODE_OPTIONS"),p(),I(60,"br"),c(61,"small",49),_(62),v(63,"translate"),p()(),c(64,"div",27)(65,"input",50),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.env.NODE_OPTIONS,n)||(f.configBlocks[f.selectedBlock]._bridge.env.NODE_OPTIONS=n),N(n)}),p()()()}if(e&2){let t=h(4);l(2),b("data",t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._setupCode),l(2),H(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username].pincode),l(2),b("ngClass",Ju(41,AU,t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired,!t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired)),l(),q(" ",B(8,22,t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," "),l(2),S(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired?-1:9),l(3),H(B(13,24,"accessories.bridge_username")),l(3),q(" ",t.configBlocks[t.selectedBlock]._bridge.username," "),l(3),H(B(19,26,"accessories.bridge_port")),l(3),q(" ",t.configBlocks[t.selectedBlock]._bridge.port," "),l(3),H(B(25,28,"child_bridge.config.name")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.name),l(3),H(B(31,30,"child_bridge.config.manufacturer")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.manufacturer),l(3),H(B(37,32,"child_bridge.config.model")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.model),l(3),H(B(43,34,"child_bridge.config.firmware")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.firmwareRevision),l(),S(t.canShowBridgeDebug?46:-1),l(6),b("innerHTML",Ye(53,36,"settings.service.debug_tooltip",eu(44,$6,t.linkDebug)),de),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.env.DEBUG),l(7),H(B(63,39,"settings.service.node_tooltip")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.env.NODE_OPTIONS)}}function GU(e,u){if(e&1&&w(0,WU,66,46),e&2){let t=h(3);S(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]?0:-1)}}function KU(e,u){e&1&&(c(0,"ngb-alert",24),_(1),v(2,"translate"),I(3,"br"),_(4),v(5,"translate"),p()),e&2&&(b("dismissible",!1),l(),q(" ",B(2,3,"child_bridge.restart_homebridge")," "),l(3),q("",B(5,5,"child_bridge.return_to_pair")," "))}function JU(e,u){if(e&1&&(c(0,"ul",22),w(1,jU,11,7),w(2,NU,6,4,"li",23),w(3,qU,7,6,"li",23),w(4,LU,8,7),w(5,zU,18,12),w(6,GU,1,1),p(),w(7,KU,6,7,"ngb-alert",24)),e&2){let t=h(2);l(),S(t.configBlocks.length>1?1:-1),l(),S(t.configBlocks.length===1?2:-1),l(),S(t.currentBridgeHasLinks?3:-1),l(),S(t.currentBridgeHasLinks?-1:4),l(),S(t.currentlySelectedLink?5:-1),l(),S(!t.currentlySelectedLink&&(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username)?6:-1),l(),S(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username&&t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]===!1?7:-1)}}function XU(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"child_bridge.confirm_delete_2")," ")}function YU(e,u){if(e&1&&(c(0,"li"),_(1),c(2,"span",46),_(3),p(),_(4,") "),p()),e&2){let t=u.$implicit,i=h(3);l(),q(" ",t.bridgeName||(i.deviceInfo[t.id]==null?null:i.deviceInfo[t.id].displayName)," ("),l(2),H(t.id)}}function ZU(e,u){if(e&1&&(c(0,"ngb-alert",19)(1,"p"),_(2),v(3,"translate"),w(4,XU,2,3),p(),c(5,"div",9)(6,"ul",52),ft(7,YU,5,2,"li",null,nt),p()()()),e&2){let t=h(2);b("dismissible",!1),l(2),q(" ",B(3,3,"child_bridge.confirm_delete_1")," "),l(2),S(t.deletingPairedBridge?4:-1),l(3),rt(t.deleteBridges)}}function QU(e,u){e&1&&(c(0,"ngb-alert",20),_(1),v(2,"translate"),p()),e&2&&(b("dismissible",!1),l(),q(" ",B(2,2,"child_bridge.must_configure_plugin")," "))}function eW(e,u){if(e&1){let t=U();c(0,"ngb-alert",21)(1,"div",17),_(2),v(3,"translate"),v(4,"translate"),p(),c(5,"button",53),M("click",function(){j(t);let n=h(2);return N(n.openFullConfigEditor())}),_(6),v(7,"translate"),p()()}e&2&&(b("dismissible",!1),l(2),Bu(" ",B(3,4,"plugins.settings.message_manual_config_required")," ",B(4,6,"plugins.settings.message_consult_documentation")," "),l(4),q(" ",B(7,8,"plugins.settings.label_open_config_editor")," "))}function tW(e,u){if(e&1&&(c(0,"div",15),I(1,"i",16),p(),c(2,"ul",17),I(3,"li",18),v(4,"translate"),w(5,OU,5,5),p(),w(6,JU,8,7),w(7,ZU,9,5,"ngb-alert",19),w(8,QU,3,4,"ngb-alert",20),w(9,eW,8,10,"ngb-alert",21)),e&2){let t=h();l(3),b("innerHTML",Ye(4,6,"child_bridge.about",eu(9,$6,t.linkChildBridges)),de),l(2),S(t.configBlocks.length?5:-1),l(),S(t.canConfigure&&t.configBlocks.length?6:-1),l(),S(t.deleteBridges.length?7:-1),l(),S(!t.configBlocks.length&&t.canConfigure?8:-1),l(),S(t.canConfigure?-1:9)}}function uW(e,u){if(e&1){let t=U();c(0,"button",54),M("click",function(){j(t);let n=h();return N(n.$activeModal.close("Dismiss"))}),_(1),v(2,"translate"),p()}if(e&2){let t=h();b("disabled",t.saveInProgress),l(),q(" ",B(2,2,"form.button_close")," ")}}function iW(e,u){e&1&&I(0,"i",56)}function nW(e,u){if(e&1){let t=U();c(0,"button",55),M("click",function(){j(t);let n=h();return N(n.save())}),_(1),v(2,"translate"),w(3,iW,1,0,"i",56),p()}if(e&2){let t=h();b("disabled",t.saveInProgress),l(),q(" ",B(2,3,"form.button_save")," "),l(2),S(t.saveInProgress?3:-1)}}function fW(e,u){if(e&1){let t=U();c(0,"button",57),M("click",function(){j(t);let n=h();return N(n.$activeModal.close("Dismiss"))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_close")," "))}function rW(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"form.button_save")," ")}function oW(e,u){e&1&&I(0,"i",56)}function aW(e,u){if(e&1){let t=U();c(0,"button",55),M("click",function(){j(t);let n=h(2);return N(n.save())}),w(1,rW,2,3),w(2,oW,1,0,"i",56),p()}if(e&2){let t=h(2);b("disabled",t.saveInProgress||t.loading),l(),S(t.saveInProgress?-1:1),l(),S(t.saveInProgress?2:-1)}}function sW(e,u){if(e&1){let t=U();c(0,"button",59),M("click",function(){j(t);let n=h(2);return N(n.openPluginConfig())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"plugins.button_settings")," "))}function DW(e,u){if(e&1&&(w(0,aW,3,3,"button",10),w(1,sW,3,3,"button",58)),e&2){let t=h();S(t.configBlocks.length?0:-1),l(),S(t.configBlocks.length?-1:1)}}var T6=(()=>{class e{$activeModal=x(ve);$api=x(he);$modal=x(it);$plugins=x(bi);$router=x(cu);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);plugin;schema;justInstalled=!1;loading=!0;canConfigure=!0;configBlocks=[];selectedBlock="0";isPlatform;enabledBlocks={};bridgeCache=new Map;originalBridges=[];deviceInfo=new Map;saveInProgress=!1;canShowBridgeDebug=!1;deleteBridges=[];deletingPairedBridge=!1;accessoryBridgeLinks=[];bridgesAvailableForLink=[];currentlySelectedLink=null;currentBridgeHasLinks=!1;linkChildBridges='<a href="https://github.com/homebridge/homebridge/wiki/Child-Bridges" target="_blank"><i class="fas fa-fw fa-external-link-alt primary-text"></i></a>';linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){return G(this,null,function*(){yield Promise.all([this.getPluginType(),this.loadPluginConfig()]),this.canShowBridgeDebug=this.$settings.env.homebridgeVersion.startsWith("2"),this.loading=!1})}onBlockChange(t){if(this.selectedBlock=t,this.currentlySelectedLink=this.accessoryBridgeLinks.find(i=>i.index===t)||null,this.currentBridgeHasLinks=this.accessoryBridgeLinks.some(i=>i.usesIndex===t),this.bridgesAvailableForLink=[],this.configBlocks[Number(t)].accessory)for(let[i,n]of Array.from(this.bridgeCache.entries()))this.deleteBridges.some(f=>f.id===n.username)||i<Number(t)&&this.bridgesAvailableForLink.push({index:i.toString(),usesIndex:t,name:n.name,port:n.port,username:n.username})}onLinkBridgeChange(t){if(t){let i=this.configBlocks.findIndex(f=>f._bridge?.username===t);this.accessoryBridgeLinks.push({index:this.selectedBlock,usesIndex:i.toString(),name:this.bridgeCache.get(i)?.name,port:this.bridgeCache.get(i)?.port,username:t}),this.currentlySelectedLink=this.accessoryBridgeLinks.find(f=>f.index===this.selectedBlock)||null,this.enabledBlocks[Number(this.selectedBlock)]=!0;let n=this.configBlocks[Number(this.selectedBlock)];n._bridge={username:t}}}getPluginType(){return G(this,null,function*(){try{let t=yield se(this.$api.get(`/plugins/alias/${encodeURIComponent(this.plugin.name)}`));this.isPlatform=t.pluginType==="platform"}catch(t){this.$toastr.error(this.$translate.instant("plugins.config.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close(),console.error(t)}})}loadPluginConfig(){return G(this,null,function*(){try{this.configBlocks=yield se(this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`));for(let[i,n]of this.configBlocks.entries())if(n._bridge&&n._bridge.username){this.enabledBlocks[i]=!0;let f=Array.from(this.bridgeCache.values()).findIndex(o=>o.username===n._bridge.username),r=f!==-1?Array.from(this.bridgeCache.values())[f]:void 0;r?(n._bridge.env={},this.accessoryBridgeLinks.push({index:i.toString(),usesIndex:f.toString(),name:r.name,port:r.port,username:n._bridge.username})):(n._bridge.env=n._bridge.env||{},this.bridgeCache.set(i,n._bridge),yield this.getDeviceInfo(n._bridge.username),n._bridge.name||(n._bridge.name=this.deviceInfo[n._bridge.username]?.displayName),this.originalBridges.push(n._bridge))}this.justInstalled&&this.bridgeCache.size===0&&this.configBlocks.forEach((i,n)=>{this.enabledBlocks[n]=!0,this.toggleExternalBridge(i,!0,n.toString())}),this.accessoryBridgeLinks.find(i=>i.username===this.bridgeCache.get(Number(this.selectedBlock))?.username)&&(this.currentBridgeHasLinks=!0)}catch(t){this.canConfigure=!1,console.error(t)}})}toggleExternalBridge(t,i,n){return G(this,null,function*(){if(i){let f=this.bridgeCache.get(Number(n));t._bridge={username:f?f.username:this.generateUsername(),port:yield this.getUnusedPort(),name:f?.name,model:f?.model,manufacturer:f?.manufacturer,firmwareRevision:f?.firmwareRevision,debugModeEnabled:f?.debugModeEnabled,env:f?.env},this.deleteBridges.some(r=>r.id===t._bridge.username)&&(this.deleteBridges=this.deleteBridges.filter(r=>r.id!==t._bridge.username)),this.bridgeCache.set(Number(n),t._bridge),yield this.getDeviceInfo(t._bridge.username)}else{if(this.accessoryBridgeLinks.some(f=>f.index===n))this.accessoryBridgeLinks=this.accessoryBridgeLinks.filter(f=>f.index!==n),this.currentlySelectedLink=null;else{let f=this.originalBridges.find(r=>r.username===t._bridge.username);f&&this.deleteBridges.push({id:t._bridge.username,bridgeName:t._bridge.name||f.displayName,paired:this.deviceInfo[t._bridge.username]?._isPaired})}delete t._bridge}this.deletingPairedBridge=this.deleteBridges.some(f=>f.paired)})}getUnusedPort(){return G(this,null,function*(){this.saveInProgress=!0;try{return(yield se(this.$api.get("/server/port/new"))).port}catch{return Math.floor(Math.random()*30001+3e4)}finally{this.saveInProgress=!1}})}getDeviceInfo(t){return G(this,null,function*(){try{this.deviceInfo[t]=yield se(this.$api.get(`/server/pairings/${t.replace(/:/g,"")}`))}catch(i){console.error(i),this.deviceInfo[t]=!1}})}save(){return G(this,null,function*(){this.saveInProgress=!0;try{yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.configBlocks));for(let t of this.deleteBridges)try{yield se(this.$api.delete(`/server/pairings/${t.id.replace(/:/g,"")}`))}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("settings.reset_bridge.error"),this.$translate.instant("toast.title_error"))}this.$activeModal.close(),this.$modal.open(uu,{size:"lg",backdrop:"static"})}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}finally{this.saveInProgress=!1}})}openPluginConfig(){this.$activeModal.close(),this.$plugins.settings({name:this.plugin.name,settingsSchema:!0,links:{}})}generateUsername(){let t="0123456789ABCDEF",i="0E:";for(let n=0;n<5;n++)i+=t.charAt(Math.round(Math.random()*15)),i+=t.charAt(Math.round(Math.random()*15)),n!==4&&(i+=":");return i}openFullConfigEditor(){this.$router.navigate(["/config"]),this.$activeModal.close()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",schema:"schema",justInstalled:"justInstalled"},decls:16,vars:8,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"disabled"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button",1,"btn","btn-primary",3,"disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"mb-3","text-center"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],[3,"innerHTML"],["type","error",1,"mt-3","mb-0",3,"dismissible"],["type","info",3,"dismissible"],["type","info",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["type","info",1,"mt-3","mb-0",3,"dismissible"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-end","grey-text"],["type","checkbox",1,"rendux-input",3,"change","ngModelChange","id","ngModel"],[1,"rendux-label",3,"for"],["for","bridgeLink",1,"mb-2","mb-md-0","w-100","w-md-50"],["id","bridgeLink",1,"custom-select",3,"change"],[1,"list-group-item","text-center"],[1,"w-100","d-flex","flex-column","text-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"mx-auto","mt-3","mb-1"],[1,"grey-text","mx-auto","small","mb-1",2,"max-width","400px"],[1,"fas","fa-fw","fa-link",3,"ngClass"],["type","text",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"font-monospace"],[1,"grey-text",3,"innerHTML"],["type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"grey-text"],["type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input",3,"ngModelChange","ngModel"],["type","checkbox",1,"rendux-input",3,"ngModelChange","id","ngModel"],[1,"d-inline-block","text-start","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),w(4,kU,2,4,"button",3),p(),c(5,"div",4),w(6,$U,2,0,"div",5),w(7,tW,10,11),p(),c(8,"div",6)(9,"div",7),w(10,uW,3,4,"button",8),p(),c(11,"div",9),w(12,nW,4,5,"button",10),w(13,fW,3,3,"button",11),p(),c(14,"div",12),w(15,DW,2,2),p()()()),i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),S(n.justInstalled?-1:4),l(2),S(n.loading?6:-1),l(),S(n.loading?-1:7),l(3),S(n.canConfigure&&!n.justInstalled?10:-1),l(2),S(n.justInstalled?12:-1),l(),S(n.canConfigure?-1:13),l(2),S(n.canConfigure&&!n.justInstalled?15:-1))},dependencies:[tu,yi,vi,Ki,Gi,Xi,vt,Yu,Yi,P1,zt,Be],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var Xl=ze(ss(),1);var ts=()=>["homebridge","homebridge-config-ui-x"],P6=(e,u,t)=>({pluginName:e,minVersion:u,installedVersion:t}),lW=(e,u,t)=>({minVersion:e,installedVersion:u,latestVersion:t,packageName:"Homebridge"}),dW=()=>({packageName:"Homebridge"}),cW=(e,u,t)=>({minVersion:e,installedVersion:u,latestVersion:t,packageName:"Homebridge UI"}),pW=()=>({packageName:"Homebridge UI"});function mW(e,u){if(e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2){let t=h(2);l(),q(" ",Ye(2,1,"plugins.compat.node_too_low",xu(4,P6,t.plugin.displayName,t.nodeMinVersion,t.nodeInstalledVersion))," ")}}function FW(e,u){if(e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2){let t=h(2);l(),q(" ",Ye(2,1,"plugins.compat.hb_too_low",xu(4,P6,t.plugin.name,t.hbMinVersion,t.hbInstalledVersion))," ")}}function CW(e,u){if(e&1&&(c(0,"div",11),I(1,"i",12),p(),c(2,"ul",13),w(3,mW,3,8,"li"),w(4,FW,3,8,"li"),p(),c(5,"ngb-alert",14)(6,"p",15),_(7),v(8,"translate"),p()()),e&2){let t=h();l(),Z(F1("",t.action==="install"?"far fa-fw fa-arrow-alt-circle-down":t.action==="update"?"far fa-fw fa-arrow-alt-circle-up":"fas fa-fw fa-code-compare"," primary-text")),l(2),S(t.isValidNode?-1:3),l(),S(t.isValidHb?-1:4),l(),b("dismissible",!1),l(2),H(B(8,7,"plugins.compat.are_you_sure"))}}function hW(e,u){if(e&1&&(c(0,"div",11),I(1,"i",16),p(),c(2,"ul",13)(3,"li"),_(4),v(5,"translate"),p()(),c(6,"ngb-alert",14)(7,"p",17),_(8),v(9,"translate"),p(),c(10,"p",15)(11,"a",18),_(12),v(13,"translate"),I(14,"i",19),p()()()),e&2){let t=h();l(4),q(" ",Ye(5,4,"plugins.compat.hb_node_too_low",xu(12,lW,t.nodeMinVersion,t.nodeInstalledVersion,t.plugin.latestVersion))," "),l(2),b("dismissible",!1),l(2),H(Ye(9,7,"plugins.compat.node_first",Xe(16,dW))),l(4),q(" ",B(13,10,"plugins.compat.node_link")," ")}}function gW(e,u){if(e&1&&(c(0,"div",11),I(1,"i",16),p(),c(2,"ul",13)(3,"li"),_(4),v(5,"translate"),p()(),c(6,"ngb-alert",14)(7,"p",17),_(8),v(9,"translate"),p(),c(10,"p",15)(11,"a",18),_(12),v(13,"translate"),I(14,"i",19),p()()()),e&2){let t=h();l(4),q(" ",Ye(5,4,"plugins.compat.hb_node_too_low",xu(12,cW,t.nodeMinVersion,t.nodeInstalledVersion,t.plugin.latestVersion))," "),l(2),b("dismissible",!1),l(2),H(Ye(9,7,"plugins.compat.node_first",Xe(16,pW))),l(4),q(" ",B(13,10,"plugins.compat.node_link")," ")}}function bW(e,u){if(e&1){let t=U();c(0,"button",20),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_close")," "))}function EW(e,u){if(e&1){let t=U();c(0,"button",20),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_close")," "))}function _W(e,u){if(e&1){let t=U();c(0,"button",21),M("click",function(){j(t);let n=h();return N(n.$activeModal.close(!0))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"plugins.node_update.continue")," "))}var O6=(()=>{class e{$activeModal=x(ve);$settings=x(Ve);plugin;isValidNode;isValidHb;action;nodeMinVersion;nodeInstalledVersion;hbMinVersion;hbInstalledVersion;constructor(){}ngOnInit(){this.nodeMinVersion=(0,Xl.minVersion)(this.plugin.updateEngines?.node),this.nodeInstalledVersion=this.$settings.env.nodeVersion,this.hbMinVersion=(0,Xl.minVersion)(this.plugin.updateEngines?.homebridge),this.hbInstalledVersion=this.$settings.env.homebridgeVersion}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",isValidNode:"isValidNode",isValidHb:"isValidHb",action:"action"},decls:18,vars:16,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger"],[1,"text-center","mb-3"],[2,"font-size","75px"],[1,"mb-3"],["type","warning",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"fab","fa-fw","fa-node-js","primary-text",2,"font-size","75px"],[1,"text-center","mb-1"],["href","https://homebridge.io/w/JTKEF","target","_blank","rel","noopener noreferrer"],[1,"fa","fa-fw","fa-external-link-alt"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),v(4,"translate"),p(),c(5,"button",3),v(6,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(7,"div",4),w(8,CW,9,9),w(9,hW,15,17),w(10,gW,15,17),p(),c(11,"div",5)(12,"div",6),w(13,bW,3,3,"button",7),p(),c(14,"div",8),w(15,EW,3,3,"button",7),p(),c(16,"div",9),w(17,_W,3,3,"button",10),p()()()),i&2&&(l(3),H(B(4,8,"plugins.compat.title")),l(2),K("aria-label",B(6,10,"form.button_close")),l(3),S(Xe(12,ts).includes(n.plugin.name)?-1:8),l(),S(n.plugin.name==="homebridge"?9:-1),l(),S(n.plugin.name==="homebridge-config-ui-x"?10:-1),l(3),S(Xe(13,ts).includes(n.plugin.name)?-1:13),l(2),S(Xe(14,ts).includes(n.plugin.name)?15:-1),l(2),S(Xe(15,ts).includes(n.plugin.name)?-1:17))},dependencies:[Be,Yi],encapsulation:2})}return e})();var Dt=[];for(let e=0;e<256;++e)Dt.push((e+256).toString(16).slice(1));function M6(e,u=0){return(Dt[e[u+0]]+Dt[e[u+1]]+Dt[e[u+2]]+Dt[e[u+3]]+"-"+Dt[e[u+4]]+Dt[e[u+5]]+"-"+Dt[e[u+6]]+Dt[e[u+7]]+"-"+Dt[e[u+8]]+Dt[e[u+9]]+"-"+Dt[e[u+10]]+Dt[e[u+11]]+Dt[e[u+12]]+Dt[e[u+13]]+Dt[e[u+14]]+Dt[e[u+15]]).toLowerCase()}var Yl,yW=new Uint8Array(16);function Zl(){if(!Yl){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Yl=crypto.getRandomValues.bind(crypto)}return Yl(yW)}var vW=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Ql={randomUUID:vW};function BW(e,u,t){if(Ql.randomUUID&&!u&&!e)return Ql.randomUUID();e=e||{};let i=e.random??e.rng?.()??Zl();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,u){if(t=t||0,t<0||t+16>u.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let n=0;n<16;++n)u[t+n]=i[n];return u}return M6(i)}var us=BW;var j6=ze(of(),1);var N6=(()=>{class e{$api=x(he);$toastr=x(_e);$translate=x(Ee);constructor(){}downloadDumpFile(){this.$api.get("/plugins/custom-plugins/homebridge-deconz/dump-file",{observe:"response",responseType:"blob"}).subscribe({next:t=>{(0,j6.saveAs)(t.body,"homebridge-deconz.json.gz")},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.deconz.dump_no_exist"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["app-homebridge-deconz"]],decls:3,vars:0,consts:[["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-download"]],template:function(i,n){i&1&&(c(0,"button",0),M("click",function(){return n.downloadDumpFile()}),I(1,"i",1),_(2,` Download Dump File
|
|
26
|
+
`)}),this.toastSuccess=this.$translate.instant("toast.title_success"),this.onlineUpdateOk=!(["homebridge","homebridge-config-ui-x"].includes(this.pluginName)&&this.$settings.env.platform==="win32"),this.action){case"Install":this.install(),this.presentTenseVerb=this.$translate.instant("plugins.manage.install"),this.pastTenseVerb=this.$translate.instant("plugins.manage.installed");break;case"Uninstall":this.uninstall(),this.presentTenseVerb=this.$translate.instant("plugins.manage.uninstall"),this.pastTenseVerb=this.$translate.instant("plugins.manage.uninstalled");break;case"Update":switch(this.targetVersion){case"latest":this.updateToBeta=!1,this.getReleaseNotes();break;case"alpha":case"beta":case"test":this.updateToBeta=!0,this.getReleaseNotes();break;default:this.update()}this.presentTenseVerb=this.$translate.instant("plugins.manage.update"),this.pastTenseVerb=this.$translate.instant("plugins.manage.updated");break}}install(){if(this.onlineUpdateOk){if(this.pluginName==="homebridge")return this.upgradeHomebridge();this.io.request("install",{name:this.pluginName,version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close(),this.$toastr.success(`${this.pastTenseVerb} ${this.pluginName}`,this.toastSuccess),window.location.href=`/plugins?installed=${this.pluginName}`},error:t=>{this.actionFailed=!0,console.error(t),this.$router.navigate(["/plugins"]),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}}uninstall(){this.io.request("uninstall",{name:this.pluginName,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close(),this.$router.navigate(["/plugins"]),this.$modal.open(uu,{size:"lg",backdrop:"static"})},error:t=>{this.actionFailed=!0,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}update(){if(this.showReleaseNotes=!1,!!this.onlineUpdateOk){if(this.pluginName==="homebridge")return this.upgradeHomebridge();this.io.request("update",{name:this.pluginName,version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>G(this,null,function*(){try{yield Promise.all([this.getChangeLog(),this.getChildBridges()])}catch(t){console.error(t)}this.actionComplete=!0,this.justUpdatedPlugin=!0,this.$router.navigate([this.pluginName==="homebridge-config-ui-x"?"/":"/plugins"])}),error:t=>{this.actionFailed=!0,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}}upgradeHomebridge(){return G(this,null,function*(){let t="update";Number(this.installedVersion.split(".")[0])<2&&["2","alpha","beta"].includes(this.targetVersion.split(".")[0])&&(t=yield this.$modal.open(E6,{size:"lg",backdrop:"static"}).result),t==="update"?this.io.request("homebridge-update",{version:this.targetVersion,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.$activeModal.close();let i=this.$modal.open(uu,{size:"lg",backdrop:"static"});i.componentInstance.fullRestart=!0},error:i=>{this.actionFailed=!0,console.error(i),this.$toastr.error(i.message,this.$translate.instant("toast.title_error")),this.$activeModal.close()}}):this.$activeModal.close()})}getChangeLog(){return G(this,null,function*(){let t=yield se(this.$api.get(`/plugins/changelog/${encodeURIComponent(this.pluginName)}`));this.changeLog=t.changelog})}getChildBridges(){return G(this,null,function*(){(yield se(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.pluginName===i.plugin&&this.childBridges.push(i)})})}getReleaseNotes(){this.$api.get(`/plugins/release/${encodeURIComponent(this.pluginName)}`).subscribe({next:t=>{this.showReleaseNotes=!0,this.release=t},error:()=>{this.onlineUpdateOk&&this.update()}})}onRestartHomebridgeClick(){this.pluginName==="homebridge-config-ui-x"?this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{window.location.href="/restart"},error:t=>{console.error(t),window.location.href="/restart"}}):(this.$router.navigate(["/restart"]),this.$activeModal.close())}onRestartChildBridgeClick(){return G(this,null,function*(){try{for(let i of this.childBridges)yield se(this.$api.put(`/server/restart/${i.username}`,{}));let t=this.$modal.open(y6,{size:"xl",backdrop:"static"});t.componentInstance.plugin={name:this.pluginName}}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("plugins.manage.child_bridge_restart_failed"),this.$translate.instant("toast.title_error"))}finally{this.$activeModal.close()}})}downloadLogFile(){let t=new Blob([this.errorLog],{type:"text/plain;charset=utf-8"});(0,B6.saveAs)(t,`${this.pluginName}-error.log`)}ngOnDestroy(){this.io.end()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{pluginName:"pluginName",pluginDisplayName:"pluginDisplayName",targetVersion:"targetVersion",latestVersion:"latestVersion",installedVersion:"installedVersion",isDisabled:"isDisabled",action:"action"},decls:11,vars:9,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],["id","plugin-log-output",1,"modal-body",3,"hidden"],[1,"modal-body","plugin-modal-body"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"mb-3","text-center"],[1,"far","fa-fw","fa-check-circle","primary-text",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"alert","p-3","pb-1","mt-3"],[1,"mb-3","text-center","grey-text",3,"innerHTML"],[1,"text-center","mb-0"],[1,"plugin-md",3,"data"],[1,"fas","fa-fw","primary-text",2,"font-size","75px",3,"ngClass"],[1,"mb-3"],[1,"p-2","mb-0",2,"background-color","#efefef"],[1,"far","fa-fw","primary-text",2,"font-size","75px",3,"ngClass"],[1,"alert","p-3","pb-1","mb-0"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-primary"],[1,"btn","btn-primary"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),I(6,"div",4),w(7,KH,2,1,"div",5),w(8,JH,12,14,"div",6),w(9,eU,6,8,"div",5),w(10,rU,9,5,"div",7),p()),i&2&&(l(3),H(n.pluginDisplayName),l(),K("aria-label",B(5,7,"form.button_close")),l(2),b("hidden",!n.onlineUpdateOk||n.actionComplete||n.showReleaseNotes),l(),S(n.actionComplete?7:-1),l(),S(n.onlineUpdateOk?-1:8),l(),S(n.showReleaseNotes&&!n.actionComplete&&n.onlineUpdateOk?9:-1),l(),S(!n.onlineUpdateOk||n.actionComplete||n.showReleaseNotes||n.actionFailed?10:-1))},dependencies:[tn,en,ef,Be,zt],styles:[".plugin-modal-body[_ngcontent-%COMP%]{max-height:60vh;overflow-y:auto;overflow-x:hidden} .plugin-md{text-align:left;font-size:.95rem;word-wrap:break-word} .plugin-md img{max-width:100%} .plugin-md h1{font-size:1.4rem;font-weight:300} .plugin-md h2{font-size:1.3rem;font-weight:300} .plugin-md h3{font-size:1.2rem;font-weight:300} .plugin-md h4{font-size:1.1rem;font-weight:300} .plugin-md h5{font-size:1rem;font-weight:300} .plugin-md pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f6f8fa;border-radius:3px}"]})}return e})();var I6=ze(ss(),1);function oU(e,u){e&1&&(c(0,"div",5),I(1,"i",12),p())}function aU(e,u){if(e&1&&(I(0,"i",19),c(1,"h6",20),_(2),v(3,"translate"),p(),c(4,"p",20),_(5),v(6,"translate"),c(7,"span",21),_(8),p()()),e&2){let t=h(2);l(2),H(B(3,3,"plugins.manage.select_version")),l(3),q(" ",B(6,5,"plugins.status_installed"),": "),l(3),q("v",t.plugin.installedVersion)}}function sU(e,u){e&1&&(I(0,"i",22),c(1,"h6",20),_(2),v(3,"translate"),p()),e&2&&(l(2),H(B(3,1,"plugins.manage.select_version")))}function DU(e,u){if(e&1){let t=U();c(0,"button",26),M("click",function(){j(t);let n=h().$implicit,f=h(2);return N(f.doInstall(n.version))}),I(1,"i",27),p()}}function lU(e,u){e&1&&(c(0,"button",25),I(1,"i",28),p())}function dU(e,u){if(e&1&&(c(0,"li",14)(1,"span",8),_(2),I(3,"br"),c(4,"small",23),_(5),p()(),w(6,DU,2,0,"button",24)(7,lU,2,0,"button",25),p()),e&2){let t=u.$implicit,i=h(2);l(2),q(" ",t.tag," "),l(3),q("v",t.version),l(),S(i.plugin.installedVersion!==t.version?6:7)}}function cU(e,u){e&1&&_(0," \u2713 ")}function pU(e,u){if(e&1&&(c(0,"option",17),_(1),w(2,cU,1,0),p()),e&2){let t=u.$implicit,i=h(2);b("value",t.version)("selected",i.versionSelect==t.version),l(),q(" v",t.version," "),l(),S(t.version==i.plugin.installedVersion?2:-1)}}function mU(e,u){e&1&&I(0,"i",28)}function FU(e,u){e&1&&I(0,"i",27)}function CU(e,u){if(e&1){let t=U();c(0,"button",29),M("click",function(){j(t);let n=h(2);return N(n.doInstall(n.versionSelect))}),w(1,mU,1,0,"i",28)(2,FU,1,0,"i",27),p()}if(e&2){let t=h(2);b("disabled",t.versionSelect===t.plugin.installedVersion),l(),S(t.versionSelect===t.plugin.installedVersion?1:2)}}function hU(e,u){if(e&1){let t=U();c(0,"div",6),w(1,aU,9,7)(2,sU,4,3),c(3,"ul",13),ft(4,dU,8,3,"li",14,nt),c(6,"li",14)(7,"div",15),_(8),v(9,"translate"),I(10,"br"),c(11,"select",16),Oe("ngModelChange",function(n){j(t);let f=h();return Pe(f.versionSelect,n)||(f.versionSelect=n),N(n)}),ft(12,pU,3,4,"option",17,nt),p()(),w(14,CU,3,2,"button",18),p()()()}if(e&2){let t=h();l(),S(t.plugin.installedVersion?1:2),l(3),rt(t.versionsWithTags),l(4),q(" ",B(9,4,"plugins.manage.all_versions")," "),l(3),Te("ngModel",t.versionSelect),l(),rt(t.versions),l(2),S(t.versionSelect?14:-1)}}var A6=(()=>{class e{$activeModal=x(ve);$api=x(he);$toastr=x(_e);$translate=x(Ee);plugin;loading=!0;versions=[];versionsWithTags=[];versionSelect;constructor(){}ngOnInit(){this.versionSelect=this.plugin.installedVersion||this.plugin.latestVersion,this.lookupVersions()}lookupVersions(){this.$api.get(`/plugins/lookup/${encodeURIComponent(this.plugin.name)}/versions`).subscribe({next:t=>{let i=new Set;for(let[n,f]of Object.entries(t.versions)){this.versions.push({version:n,engines:f.engines||null});let r=Object.keys(t.tags).find(o=>t.tags[o]===n);r&&(this.versionsWithTags.push({version:n,tag:r}),i.add(n))}this.versions.sort((n,f)=>(0,I6.rcompare)(n.version,f.version)),this.versionsWithTags.sort((n,f)=>{let r=["latest","next","beta","alpha"],o=r.includes(n.tag)?r.indexOf(n.tag):999,a=r.includes(f.tag)?r.indexOf(f.tag):999;return o-a}),!this.versions.find(n=>n.version===this.versionSelect)&&t.tags.latest&&(this.versionSelect=t.tags.latest),this.loading=!1},error:t=>{console.error(t),this.$toastr.error(t.error.message||t.message,this.$translate.instant("toast.title_error")),this.$activeModal.dismiss()}})}doInstall(t){this.$activeModal.close({name:this.plugin.name,version:t,engines:this.versions.find(i=>i.version===t).engines,action:this.plugin.installedVersion?"alternate":"install"})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:17,vars:11,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body","d-flex","flex-row","flex-grow-1","w-100"],[1,"w-100","text-center","primary-text"],[1,"w-100","text-center"],[1,"modal-footer","justify-content-between"],[1,"text-start"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-end"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"text-start",2,"min-width","50%"],[1,"custom-select","w-100",2,"font-size","0.875rem",3,"ngModelChange","ngModel"],[3,"value","selected"],[1,"btn","btn-primary","m-0","ms-3",3,"disabled"],[1,"fas","fa-fw","fa-code-compare","primary-text","mb-3",2,"font-size","75px"],[1,"mb-3"],[1,"font-monospace"],[1,"far","fa-fw","fa-arrow-alt-circle-down","primary-text","mb-3",2,"font-size","75px"],[1,"grey-text","font-monospace"],[1,"btn","btn-primary","m-0","ms-3"],["disabled","",1,"btn","btn-primary","m-0","ms-3"],[1,"btn","btn-primary","m-0","ms-3",3,"click"],[1,"fas","fa-fw","fa-arrow-alt-circle-down"],[1,"fas","fa-fw","fa-check-circle"],[1,"btn","btn-primary","m-0","ms-3",3,"click","disabled"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(6,"div",4),w(7,oU,2,0,"div",5)(8,hU,15,6,"div",6),p(),c(9,"div",7),I(10,"div",8),c(11,"div",9)(12,"button",10),v(13,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),_(14),v(15,"translate"),p()(),I(16,"div",11),p()()),i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),K("aria-label",B(5,5,"form.button_close")),l(3),S(n.loading?7:8),l(5),K("aria-label",B(13,7,"form.button_close")),l(2),q(" ",B(15,9,"form.button_close")," "))},dependencies:[tu,yi,vi,Xi,vt,Yu,Be],encapsulation:2})}return e})();var k6=ze(Z6(),1);function gU(e,u){e&1&&(c(0,"div",5),I(1,"i",14),p())}function bU(e,u){e&1&&(c(0,"div",6),_(1),v(2,"translate"),v(3,"translate"),p()),e&2&&(l(),Bu(" ",B(2,2,"plugins.settings.message_manual_config_required")," ",B(3,4,"plugins.settings.message_consult_documentation")," "))}function EU(e,u){if(e&1){let t=U();c(0,"button",25),v(1,"translate"),M("click",function(){j(t);let n=h(2).$index,f=h(2);return N(f.removeBlock(n))}),I(2,"i",26),p()}e&2&&b("ngbTooltip",B(1,1,"form.button_delete"))}function _U(e,u){if(e&1&&w(0,EU,3,3,"button",24),e&2){let t=h(3);S(!(t.schema!=null&&t.schema.singular)||t.pluginConfig.length>1?0:-1)}}function yU(e,u){if(e&1){let t=U();c(0,"div",15)(1,"div",16)(2,"div",17)(3,"h5",18),_(4),p(),c(5,"div"),w(6,_U,1,1),c(7,"button",19),v(8,"translate"),M("click",function(){let n=j(t).$index,f=h(2);return N(f.editBlock(n))}),I(9,"i",20),p()()()(),c(10,"div",21)(11,"div",22)(12,"ngx-monaco-editor",23),Oe("ngModelChange",function(n){j(t);let f=h(2);return Pe(f.currentBlock,n)||(f.currentBlock=n),N(n)}),M("onInit",function(n){j(t);let f=h(2);return N(f.onEditorInit(n))}),p()()()()}if(e&2){let t=u.$implicit,i=u.$index,n=h(2);b("ngbAccordionItem","configBlock."+i)("collapsed",n.show!=="configBlock."+i)("id","configBlock."+i),l(4),H(t.name||n.pluginAlias),l(2),S(n.show==="configBlock."+i?6:-1),l(),b("ngbTooltip",B(8,8,"form.button_edit")),l(5),b("options",n.editorOptions),Te("ngModel",n.currentBlock)}}function vU(e,u){if(e&1&&(c(0,"div",7),ft(1,yU,13,10,"div",15,nt),p()),e&2){let t=h();b("closeOthers",!0),l(),rt(t.pluginConfig)}}function BU(e,u){if(e&1){let t=U();c(0,"button",30),M("click",function(){j(t);let n=h(2);return N(n.addBlock())}),I(1,"i",31),p()}}function xU(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"form.button_save")," ")}function wU(e,u){e&1&&I(0,"i",29)}function SU(e,u){if(e&1){let t=U();w(0,BU,2,0,"button",27),c(1,"button",28),M("click",function(){j(t);let n=h();return N(n.save())}),w(2,xU,2,3),w(3,wU,1,0,"i",29),p()}if(e&2){let t=h();S(t.schema!=null&&t.schema.singular?-1:0),l(),b("disabled",t.saveInProgress),l(),S(t.saveInProgress?-1:2),l(),S(t.saveInProgress?3:-1)}}function IU(e,u){if(e&1){let t=U();c(0,"button",32),M("click",function(){j(t);let n=h();return N(n.openFullConfigEditor())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"plugins.settings.label_open_config_editor")," "))}var Jl=(()=>{class e{$activeModal=x(ve);$api=x(he);$md=x(T1);$modal=x(it);$plugin=x(bi);$router=x(cu);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);plugin;schema;pluginAlias;pluginType;loading=!0;canConfigure=!1;show="";pluginConfig;currentBlock;currentBlockIndex=null;saveInProgress=!1;childBridges=[];isFirstSave=!1;monacoEditor;editorOptions;constructor(){}get arrayKey(){return this.pluginType==="accessory"?"accessories":"platforms"}ngOnInit(){this.editorOptions={language:"json",theme:this.$settings.actualLightingMode==="dark"?"vs-dark":"vs-light",automaticLayout:!0},this.$md.detect.mobile()?(this.loading=!1,this.canConfigure=!1):this.loadPluginAlias()}onEditorInit(t){return G(this,null,function*(){window.editor=t,this.monacoEditor=t,yield this.monacoEditor.getModel().setValue(this.currentBlock),yield this.monacoEditor.getAction("editor.action.formatDocument").run()})}loadPluginAlias(){this.$api.get(`/plugins/alias/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{t.pluginAlias&&t.pluginType?(this.pluginAlias=t.pluginAlias,this.pluginType=t.pluginType,this.loadHomebridgeConfig()):this.loading=!1},error:()=>{this.loading=!1}})}loadHomebridgeConfig(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe(t=>{this.pluginConfig=t,this.canConfigure=!0,this.loading=!1,this.pluginConfig.length?this.editBlock(0):(this.isFirstSave=!0,this.addBlock())})}addBlock(){if(!this.saveCurrentBlock()){this.$toastr.error(this.$translate.instant("plugins.config.please_fix"),this.$translate.instant("toast.title_error"));return}this.pluginConfig.push({[this.pluginType]:this.pluginAlias,name:this.pluginAlias}),this.editBlock(this.pluginConfig.length-1)}saveCurrentBlock(){if(this.currentBlockIndex!==null&&this.monacoEditor){let t=this.monacoEditor.getModel().getValue().trim(),i;t.charAt(0)==='"'&&t.charAt(t.length-1)==="]"&&(t=`{${t}}`);try{i=k6.default.parse(t)}catch(f){return console.error(f),this.$toastr.error(this.$translate.instant("config.config_invalid_json"),this.$translate.instant("toast.title_error")),!1}if(Array.isArray(i)||typeof i!="object")return this.$toastr.error(this.$translate.instant("plugins.config.must_be_object"),this.$translate.instant("toast.title_error")),!1;if(!i[this.pluginType]&&Array.isArray(i[this.arrayKey])&&i[this.arrayKey].length&&Object.keys(i).length===1&&(i=i[this.arrayKey][0]),this.pluginType==="accessory"&&(!i.name||typeof i.name!="string"))return this.$toastr.error(this.$translate.instant("plugins.config.name_property"),this.$translate.instant("toast.title_error")),i.name="",this.monacoEditor.getModel().setValue(JSON.stringify(i,null,4)),!1;let n=this.pluginConfig[this.currentBlockIndex];Object.keys(n).forEach(f=>delete n[f]),Object.assign(n,i),n[this.pluginType]=this.pluginAlias}return!0}editBlock(t){this.saveCurrentBlock()&&(this.show=`configBlock.${t}`,this.currentBlockIndex=t,this.currentBlock=JSON.stringify(this.pluginConfig[this.currentBlockIndex],null,4))}removeBlock(t){let i=this.pluginConfig[t],n=this.pluginConfig.findIndex(f=>f===i);n>-1&&this.pluginConfig.splice(n,1),this.currentBlockIndex=null,this.currentBlock=void 0,this.show=""}save(){return G(this,null,function*(){if(this.saveInProgress=!0,!this.saveCurrentBlock()){this.saveInProgress=!1;return}try{let t=yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.pluginConfig));if(this.$activeModal.close(),this.isFirstSave&&this.$settings.env.recommendChildBridges&&t[0]?.platform){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let i=this.$modal.open(un,{size:"lg",backdrop:"static"});i.componentInstance.bridges=this.childBridges.map(n=>({name:n.name,username:n.username}));return}this.$activeModal.close(),this.$modal.open(uu,{size:"lg",backdrop:"static"})}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error")),this.saveInProgress=!1}})}openFullConfigEditor(){this.$router.navigate(["/config"]),this.$activeModal.close()}getChildBridges(){return G(this,null,function*(){try{(yield se(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",schema:"schema"},decls:19,vars:14,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body","pb-0"],[1,"text-center","primary-text"],[1,"alert","alert-warning","mb-0"],["ngbAccordion","",3,"closeOthers"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],[1,"btn","btn-primary"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"card",3,"ngbAccordionItem","collapsed","id"],["ngbAccordionHeader","",1,"card-header"],[1,"d-flex","align-items-center","justify-content-between"],[1,"m-0"],["ngbAccordionToggle","","container","modal","openDelay","150","triggers","hover",1,"btn","btn-primary","m-0","ms-2",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-edit"],["ngbAccordionCollapse",""],["ngbAccordionBody","",1,"card-body","p-0",2,"height","400px"],[1,"flex-grow-1","h-100","w-100","mb-0","pb-0",3,"ngModelChange","onInit","options","ngModel"],["container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-3",3,"ngbTooltip"],["container","modal","openDelay","150","triggers","hover",1,"btn","btn-danger","m-0","ms-3",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-trash"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","me-2"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","me-2",3,"click"],[1,"fa","fa-fw","fa-plus"],[1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.close()}),p()(),c(6,"div",4),w(7,gU,2,0,"div",5),w(8,bU,4,6,"div",6),w(9,vU,3,1,"div",7),p(),c(10,"div",8)(11,"div",9)(12,"button",10),M("click",function(){return n.$activeModal.close()}),_(13),v(14,"translate"),p()(),I(15,"div",11),c(16,"div",12),w(17,SU,4,4),w(18,IU,3,3,"button",13),p()()()),i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),b("disabled",n.saveInProgress),K("aria-label",B(5,10,"form.button_close")),l(3),S(n.loading?7:-1),l(),S(!n.loading&&!n.canConfigure?8:-1),l(),S(!n.loading&&n.canConfigure?9:-1),l(3),b("disabled",n.saveInProgress),l(),q(" ",B(14,12,"form.button_close")," "),l(4),S(n.canConfigure?17:-1),l(),S(n.canConfigure?-1:18))},dependencies:[Xr,Jr,Kr,Zi,Wr,Ur,S1,tu,vt,Yu,Be,Gr],styles:[".no-padding-card-body .card-body{padding:0!important} body.dark-mode .no-padding-card-body .card-body{background-color:#1e1e1e}.manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var $6=e=>({link:e}),AU=(e,u)=>({"green-text":e,"grey-text":u});function kU(e,u){if(e&1){let t=U();c(0,"button",13),v(1,"translate"),M("click",function(){j(t);let n=h();return N(n.$activeModal.close("Dismiss"))}),p()}if(e&2){let t=h();b("disabled",t.saveInProgress),K("aria-label",B(1,2,"form.button_close"))}}function $U(e,u){e&1&&(c(0,"div",5),I(1,"i",14),p())}function TU(e,u){e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2&&(l(),H(B(2,1,"child_bridge.bridges_paired_2")))}function PU(e,u){e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2&&(l(),q("",B(2,1,"child_bridge.select_type"),":"))}function OU(e,u){if(e&1&&(c(0,"li"),_(1),v(2,"translate"),p(),w(3,TU,3,3,"li"),w(4,PU,3,3,"li")),e&2){let t=h(2);l(),H(B(2,3,"child_bridge.bridges_paired")),l(2),S(t.configBlocks.length===1&&!t.deviceInfo[t.configBlocks[0]._bridge==null?null:t.configBlocks[0]._bridge.username]&&t.originalBridges.length===0?3:-1),l(),S(t.canConfigure?4:-1)}}function MU(e,u){if(e&1&&(c(0,"option",29),_(1),p()),e&2){let t=u.$implicit,i=u.$index;b("value",i),l(),H(t.name||t.platform||t.accessory)}}function jU(e,u){if(e&1){let t=U();c(0,"li",25),_(1),v(2,"translate"),p(),c(3,"li",23)(4,"label",26),_(5),v(6,"translate"),p(),c(7,"div",27)(8,"select",28),Oe("ngModelChange",function(n){j(t);let f=h(3);return Pe(f.selectedBlock,n)||(f.selectedBlock=n),N(n)}),M("change",function(n){j(t);let f=h(3);return N(f.onBlockChange(n.target.value))}),ft(9,MU,2,2,"option",29,nt),p()()()}if(e&2){let t=h(3);l(),H(B(2,3,"form.label.changes_kept")),l(4),q(" ",B(6,5,t.isPlatform?"child_bridge.config.platform":"child_bridge.config.accessory")," "),l(3),Te("ngModel",t.selectedBlock),l(),rt(t.configBlocks)}}function NU(e,u){if(e&1&&(c(0,"li",23)(1,"label",30),_(2),v(3,"translate"),p(),c(4,"div",31),_(5),p()()),e&2){let t=h(3);l(2),q(" ",B(3,2,t.isPlatform?"child_bridge.config.platform":"child_bridge.config.accessory")," "),l(3),q(" ",t.configBlocks[t.selectedBlock].name||t.configBlocks[t.selectedBlock].platform||t.configBlocks[t.selectedBlock].accessory," ")}}function qU(e,u){e&1&&(c(0,"li",23)(1,"label",30),_(2),v(3,"translate"),p(),c(4,"div",32),_(5),v(6,"translate"),p()()),e&2&&(l(2),H(B(3,2,"child_bridge.config.use")),l(3),q(" ",B(6,4,"child_bridge.config.prevent")," "))}function VU(e,u){if(e&1&&(c(0,"option",29),_(1),p()),e&2){let t=u.$implicit;b("value",t.username),l(),Bu("",t.name," (",t.username,")")}}function RU(e,u){if(e&1){let t=U();c(0,"li",23)(1,"label",37),_(2),v(3,"translate"),p(),c(4,"div",27)(5,"select",38),M("change",function(n){j(t);let f=h(4);return N(f.onLinkBridgeChange(n.target.value))}),c(6,"option",29),_(7),v(8,"translate"),p(),ft(9,VU,2,3,"option",29,nt),p()()()}if(e&2){let t=h(4);l(2),H(B(3,2,"child_bridge.config.or_link")),l(5),H(B(8,4,"child_bridge.config.select_existing")),l(2),rt(t.bridgesAvailableForLink)}}function LU(e,u){if(e&1){let t=U();c(0,"li",33)(1,"span",7),_(2),v(3,"translate"),p(),c(4,"div",34)(5,"input",35),M("change",function(){j(t);let n=h(3);return N(n.toggleExternalBridge(n.configBlocks[n.selectedBlock],n.enabledBlocks[n.selectedBlock],n.selectedBlock))}),Oe("ngModelChange",function(n){j(t);let f=h(3);return Pe(f.enabledBlocks[f.selectedBlock],n)||(f.enabledBlocks[f.selectedBlock]=n),N(n)}),p(),I(6,"label",36),p()(),w(7,RU,11,6,"li",23)}if(e&2){let t=h(3);l(2),H(B(3,5,"child_bridge.config.use")),l(3),b("id","toggleExternalBridgeInput_"+t.selectedBlock),Te("ngModel",t.enabledBlocks[t.selectedBlock]),l(),b("for","toggleExternalBridgeInput_"+t.selectedBlock),l(),S(!(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username)&&t.bridgesAvailableForLink.length?7:-1)}}function zU(e,u){if(e&1&&(c(0,"li",23)(1,"label",30),_(2),v(3,"translate"),p(),c(4,"div",31),_(5),p()(),c(6,"li",23)(7,"label",30),_(8),v(9,"translate"),p(),c(10,"div",31),_(11),p()(),c(12,"li",23)(13,"label",30),_(14),v(15,"translate"),p(),c(16,"div",31),_(17),p()()),e&2){let t=h(3);l(2),H(B(3,6,"accessories.bridge_link_username")),l(3),q(" ",t.currentlySelectedLink.username," "),l(3),H(B(9,8,"accessories.bridge_link_port")),l(3),q(" ",t.currentlySelectedLink.port," "),l(3),H(B(15,10,"accessories.bridge_link_name")),l(3),q(" ",t.currentlySelectedLink.name," ")}}function HU(e,u){e&1&&(c(0,"span"),_(1),v(2,"translate"),p()),e&2&&(l(),q(" \xB7 ",B(2,1,"status.code_scan")," "))}function UU(e,u){if(e&1){let t=U();c(0,"li",33)(1,"span",7),_(2),v(3,"translate"),c(4,"code"),_(5,"-D"),p()(),c(6,"div",34)(7,"input",51),v(8,"translate"),Oe("ngModelChange",function(n){j(t);let f=h(5);return Pe(f.configBlocks[f.selectedBlock]._bridge.debugModeEnabled,n)||(f.configBlocks[f.selectedBlock]._bridge.debugModeEnabled=n),N(n)}),p(),I(9,"label",36),p()()}if(e&2){let t=h(5);l(2),q("",B(3,5,"child_bridge.config.debug")," "),l(5),b("id","homebridgeDebugMode_"+t.selectedBlock),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.debugModeEnabled),K("aria-label",B(8,7,"settings.startup.debug")),l(2),b("for","homebridgeDebugMode_"+t.selectedBlock)}}function WU(e,u){if(e&1){let t=U();c(0,"li",39)(1,"div",40),I(2,"app-qrcode",41),c(3,"p",42),_(4),p(),c(5,"p",43),I(6,"i",44),_(7),v(8,"translate"),w(9,HU,3,3,"span"),p()()(),c(10,"li",23)(11,"label",30),_(12),v(13,"translate"),p(),c(14,"div",31),_(15),p()(),c(16,"li",23)(17,"label",30),_(18),v(19,"translate"),p(),c(20,"div",31),_(21),p()(),c(22,"li",23)(23,"label",30),_(24),v(25,"translate"),p(),c(26,"div",27)(27,"input",45),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.name,n)||(f.configBlocks[f.selectedBlock]._bridge.name=n),N(n)}),p()()(),c(28,"li",23)(29,"label",30),_(30),v(31,"translate"),p(),c(32,"div",27)(33,"input",45),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.manufacturer,n)||(f.configBlocks[f.selectedBlock]._bridge.manufacturer=n),N(n)}),p()()(),c(34,"li",23)(35,"label",30),_(36),v(37,"translate"),p(),c(38,"div",27)(39,"input",45),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.model,n)||(f.configBlocks[f.selectedBlock]._bridge.model=n),N(n)}),p()()(),c(40,"li",23)(41,"label",30),_(42),v(43,"translate"),p(),c(44,"div",27)(45,"input",45),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.firmwareRevision,n)||(f.configBlocks[f.selectedBlock]._bridge.firmwareRevision=n),N(n)}),p()()(),w(46,UU,10,9,"li",33),c(47,"li",23)(48,"label",30)(49,"span",46),_(50,"DEBUG"),p(),I(51,"br")(52,"small",47),v(53,"translate"),p(),c(54,"div",27)(55,"input",48),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.env.DEBUG,n)||(f.configBlocks[f.selectedBlock]._bridge.env.DEBUG=n),N(n)}),p()()(),c(56,"li",23)(57,"label",30)(58,"span",46),_(59,"NODE_OPTIONS"),p(),I(60,"br"),c(61,"small",49),_(62),v(63,"translate"),p()(),c(64,"div",27)(65,"input",50),Oe("ngModelChange",function(n){j(t);let f=h(4);return Pe(f.configBlocks[f.selectedBlock]._bridge.env.NODE_OPTIONS,n)||(f.configBlocks[f.selectedBlock]._bridge.env.NODE_OPTIONS=n),N(n)}),p()()()}if(e&2){let t=h(4);l(2),b("data",t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._setupCode),l(2),H(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username].pincode),l(2),b("ngClass",Ju(41,AU,t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired,!t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired)),l(),q(" ",B(8,22,t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," "),l(2),S(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]._isPaired?-1:9),l(3),H(B(13,24,"accessories.bridge_username")),l(3),q(" ",t.configBlocks[t.selectedBlock]._bridge.username," "),l(3),H(B(19,26,"accessories.bridge_port")),l(3),q(" ",t.configBlocks[t.selectedBlock]._bridge.port," "),l(3),H(B(25,28,"child_bridge.config.name")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.name),l(3),H(B(31,30,"child_bridge.config.manufacturer")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.manufacturer),l(3),H(B(37,32,"child_bridge.config.model")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.model),l(3),H(B(43,34,"child_bridge.config.firmware")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.firmwareRevision),l(),S(t.canShowBridgeDebug?46:-1),l(6),b("innerHTML",Ye(53,36,"settings.service.debug_tooltip",eu(44,$6,t.linkDebug)),de),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.env.DEBUG),l(7),H(B(63,39,"settings.service.node_tooltip")),l(3),Te("ngModel",t.configBlocks[t.selectedBlock]._bridge.env.NODE_OPTIONS)}}function GU(e,u){if(e&1&&w(0,WU,66,46),e&2){let t=h(3);S(t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]?0:-1)}}function KU(e,u){e&1&&(c(0,"ngb-alert",24),_(1),v(2,"translate"),I(3,"br"),_(4),v(5,"translate"),p()),e&2&&(b("dismissible",!1),l(),q(" ",B(2,3,"child_bridge.restart_homebridge")," "),l(3),q("",B(5,5,"child_bridge.return_to_pair")," "))}function JU(e,u){if(e&1&&(c(0,"ul",22),w(1,jU,11,7),w(2,NU,6,4,"li",23),w(3,qU,7,6,"li",23),w(4,LU,8,7),w(5,zU,18,12),w(6,GU,1,1),p(),w(7,KU,6,7,"ngb-alert",24)),e&2){let t=h(2);l(),S(t.configBlocks.length>1?1:-1),l(),S(t.configBlocks.length===1?2:-1),l(),S(t.currentBridgeHasLinks?3:-1),l(),S(t.currentBridgeHasLinks?-1:4),l(),S(t.currentlySelectedLink?5:-1),l(),S(!t.currentlySelectedLink&&(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username)?6:-1),l(),S(t.configBlocks[t.selectedBlock]._bridge!=null&&t.configBlocks[t.selectedBlock]._bridge.username&&t.deviceInfo[t.configBlocks[t.selectedBlock]._bridge==null?null:t.configBlocks[t.selectedBlock]._bridge.username]===!1?7:-1)}}function XU(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"child_bridge.confirm_delete_2")," ")}function YU(e,u){if(e&1&&(c(0,"li"),_(1),c(2,"span",46),_(3),p(),_(4,") "),p()),e&2){let t=u.$implicit,i=h(3);l(),q(" ",t.bridgeName||(i.deviceInfo[t.id]==null?null:i.deviceInfo[t.id].displayName)," ("),l(2),H(t.id)}}function ZU(e,u){if(e&1&&(c(0,"ngb-alert",19)(1,"p"),_(2),v(3,"translate"),w(4,XU,2,3),p(),c(5,"div",9)(6,"ul",52),ft(7,YU,5,2,"li",null,nt),p()()()),e&2){let t=h(2);b("dismissible",!1),l(2),q(" ",B(3,3,"child_bridge.confirm_delete_1")," "),l(2),S(t.deletingPairedBridge?4:-1),l(3),rt(t.deleteBridges)}}function QU(e,u){e&1&&(c(0,"ngb-alert",20),_(1),v(2,"translate"),p()),e&2&&(b("dismissible",!1),l(),q(" ",B(2,2,"child_bridge.must_configure_plugin")," "))}function eW(e,u){if(e&1){let t=U();c(0,"ngb-alert",21)(1,"div",17),_(2),v(3,"translate"),v(4,"translate"),p(),c(5,"button",53),M("click",function(){j(t);let n=h(2);return N(n.openFullConfigEditor())}),_(6),v(7,"translate"),p()()}e&2&&(b("dismissible",!1),l(2),Bu(" ",B(3,4,"plugins.settings.message_manual_config_required")," ",B(4,6,"plugins.settings.message_consult_documentation")," "),l(4),q(" ",B(7,8,"plugins.settings.label_open_config_editor")," "))}function tW(e,u){if(e&1&&(c(0,"div",15),I(1,"i",16),p(),c(2,"ul",17),I(3,"li",18),v(4,"translate"),w(5,OU,5,5),p(),w(6,JU,8,7),w(7,ZU,9,5,"ngb-alert",19),w(8,QU,3,4,"ngb-alert",20),w(9,eW,8,10,"ngb-alert",21)),e&2){let t=h();l(3),b("innerHTML",Ye(4,6,"child_bridge.about",eu(9,$6,t.linkChildBridges)),de),l(2),S(t.configBlocks.length?5:-1),l(),S(t.canConfigure&&t.configBlocks.length?6:-1),l(),S(t.deleteBridges.length?7:-1),l(),S(!t.configBlocks.length&&t.canConfigure?8:-1),l(),S(t.canConfigure?-1:9)}}function uW(e,u){if(e&1){let t=U();c(0,"button",54),M("click",function(){j(t);let n=h();return N(n.$activeModal.close("Dismiss"))}),_(1),v(2,"translate"),p()}if(e&2){let t=h();b("disabled",t.saveInProgress),l(),q(" ",B(2,2,"form.button_close")," ")}}function iW(e,u){e&1&&I(0,"i",56)}function nW(e,u){if(e&1){let t=U();c(0,"button",55),M("click",function(){j(t);let n=h();return N(n.save())}),_(1),v(2,"translate"),w(3,iW,1,0,"i",56),p()}if(e&2){let t=h();b("disabled",t.saveInProgress),l(),q(" ",B(2,3,"form.button_save")," "),l(2),S(t.saveInProgress?3:-1)}}function fW(e,u){if(e&1){let t=U();c(0,"button",57),M("click",function(){j(t);let n=h();return N(n.$activeModal.close("Dismiss"))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_close")," "))}function rW(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"form.button_save")," ")}function oW(e,u){e&1&&I(0,"i",56)}function aW(e,u){if(e&1){let t=U();c(0,"button",55),M("click",function(){j(t);let n=h(2);return N(n.save())}),w(1,rW,2,3),w(2,oW,1,0,"i",56),p()}if(e&2){let t=h(2);b("disabled",t.saveInProgress||t.loading),l(),S(t.saveInProgress?-1:1),l(),S(t.saveInProgress?2:-1)}}function sW(e,u){if(e&1){let t=U();c(0,"button",59),M("click",function(){j(t);let n=h(2);return N(n.openPluginConfig())}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"plugins.button_settings")," "))}function DW(e,u){if(e&1&&(w(0,aW,3,3,"button",10),w(1,sW,3,3,"button",58)),e&2){let t=h();S(t.configBlocks.length?0:-1),l(),S(t.configBlocks.length?-1:1)}}var T6=(()=>{class e{$activeModal=x(ve);$api=x(he);$modal=x(it);$plugins=x(bi);$router=x(cu);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);plugin;schema;justInstalled=!1;loading=!0;canConfigure=!0;configBlocks=[];selectedBlock="0";isPlatform;enabledBlocks={};bridgeCache=new Map;originalBridges=[];deviceInfo=new Map;saveInProgress=!1;canShowBridgeDebug=!1;deleteBridges=[];deletingPairedBridge=!1;accessoryBridgeLinks=[];bridgesAvailableForLink=[];currentlySelectedLink=null;currentBridgeHasLinks=!1;linkChildBridges='<a href="https://github.com/homebridge/homebridge/wiki/Child-Bridges" target="_blank"><i class="fas fa-fw fa-external-link-alt primary-text"></i></a>';linkDebug='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Debug-Common-Values" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';constructor(){}ngOnInit(){return G(this,null,function*(){yield Promise.all([this.getPluginType(),this.loadPluginConfig()]),this.canShowBridgeDebug=this.$settings.env.homebridgeVersion.startsWith("2"),this.loading=!1})}onBlockChange(t){if(this.selectedBlock=t,this.currentlySelectedLink=this.accessoryBridgeLinks.find(i=>i.index===t)||null,this.currentBridgeHasLinks=this.accessoryBridgeLinks.some(i=>i.usesIndex===t),this.bridgesAvailableForLink=[],this.configBlocks[Number(t)].accessory)for(let[i,n]of Array.from(this.bridgeCache.entries()))this.deleteBridges.some(f=>f.id===n.username)||i<Number(t)&&this.bridgesAvailableForLink.push({index:i.toString(),usesIndex:t,name:n.name,port:n.port,username:n.username})}onLinkBridgeChange(t){if(t){let i=this.configBlocks.findIndex(f=>f._bridge?.username===t);this.accessoryBridgeLinks.push({index:this.selectedBlock,usesIndex:i.toString(),name:this.bridgeCache.get(i)?.name,port:this.bridgeCache.get(i)?.port,username:t}),this.currentlySelectedLink=this.accessoryBridgeLinks.find(f=>f.index===this.selectedBlock)||null,this.enabledBlocks[Number(this.selectedBlock)]=!0;let n=this.configBlocks[Number(this.selectedBlock)];n._bridge={username:t}}}getPluginType(){return G(this,null,function*(){try{let t=yield se(this.$api.get(`/plugins/alias/${encodeURIComponent(this.plugin.name)}`));this.isPlatform=t.pluginType==="platform"}catch(t){this.$toastr.error(this.$translate.instant("plugins.config.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close(),console.error(t)}})}loadPluginConfig(){return G(this,null,function*(){try{this.configBlocks=yield se(this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`));for(let[i,n]of this.configBlocks.entries())if(n._bridge&&n._bridge.username){this.enabledBlocks[i]=!0;let f=Array.from(this.bridgeCache.values()).findIndex(o=>o.username===n._bridge.username),r=f!==-1?Array.from(this.bridgeCache.values())[f]:void 0;r?(n._bridge.env={},this.accessoryBridgeLinks.push({index:i.toString(),usesIndex:f.toString(),name:r.name,port:r.port,username:n._bridge.username})):(n._bridge.env=n._bridge.env||{},this.bridgeCache.set(i,n._bridge),yield this.getDeviceInfo(n._bridge.username),n._bridge.name||(n._bridge.name=this.deviceInfo[n._bridge.username]?.displayName),this.originalBridges.push(n._bridge))}this.justInstalled&&this.bridgeCache.size===0&&this.configBlocks.forEach((i,n)=>{this.enabledBlocks[n]=!0,this.toggleExternalBridge(i,!0,n.toString())}),this.accessoryBridgeLinks.find(i=>i.username===this.bridgeCache.get(Number(this.selectedBlock))?.username)&&(this.currentBridgeHasLinks=!0)}catch(t){this.canConfigure=!1,console.error(t)}})}toggleExternalBridge(t,i,n){return G(this,null,function*(){if(i){let f=this.bridgeCache.get(Number(n));t._bridge={username:f?f.username:this.generateUsername(),port:yield this.getUnusedPort(),name:f?.name,model:f?.model,manufacturer:f?.manufacturer,firmwareRevision:f?.firmwareRevision,debugModeEnabled:f?.debugModeEnabled,env:f?.env},this.deleteBridges.some(r=>r.id===t._bridge.username)&&(this.deleteBridges=this.deleteBridges.filter(r=>r.id!==t._bridge.username)),this.bridgeCache.set(Number(n),t._bridge),yield this.getDeviceInfo(t._bridge.username)}else{if(this.accessoryBridgeLinks.some(f=>f.index===n))this.accessoryBridgeLinks=this.accessoryBridgeLinks.filter(f=>f.index!==n),this.currentlySelectedLink=null;else{let f=this.originalBridges.find(r=>r.username===t._bridge.username);f&&this.deleteBridges.push({id:t._bridge.username,bridgeName:t._bridge.name||f.displayName,paired:this.deviceInfo[t._bridge.username]?._isPaired})}delete t._bridge}this.deletingPairedBridge=this.deleteBridges.some(f=>f.paired)})}getUnusedPort(){return G(this,null,function*(){this.saveInProgress=!0;try{return(yield se(this.$api.get("/server/port/new"))).port}catch{return Math.floor(Math.random()*30001+3e4)}finally{this.saveInProgress=!1}})}getDeviceInfo(t){return G(this,null,function*(){try{this.deviceInfo[t]=yield se(this.$api.get(`/server/pairings/${t.replace(/:/g,"")}`))}catch(i){console.error(i),this.deviceInfo[t]=!1}})}save(){return G(this,null,function*(){this.saveInProgress=!0;try{yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,this.configBlocks));for(let t of this.deleteBridges)try{yield se(this.$api.delete(`/server/pairings/${t.id.replace(/:/g,"")}`))}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("settings.reset_bridge.error"),this.$translate.instant("toast.title_error"))}this.$activeModal.close(),this.$modal.open(uu,{size:"lg",backdrop:"static"})}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}finally{this.saveInProgress=!1}})}openPluginConfig(){this.$activeModal.close(),this.$plugins.settings({name:this.plugin.name,settingsSchema:!0,links:{}})}generateUsername(){let t="0123456789ABCDEF",i="0E:";for(let n=0;n<5;n++)i+=t.charAt(Math.round(Math.random()*15)),i+=t.charAt(Math.round(Math.random()*15)),n!==4&&(i+=":");return i}openFullConfigEditor(){this.$router.navigate(["/config"]),this.$activeModal.close()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",schema:"schema",justInstalled:"justInstalled"},decls:16,vars:8,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"disabled"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button",1,"btn","btn-primary",3,"disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"mb-3","text-center"],[1,"fas","fa-fw","fa-bridge","primary-text",2,"font-size","75px"],[1,"mb-3"],[3,"innerHTML"],["type","error",1,"mt-3","mb-0",3,"dismissible"],["type","info",3,"dismissible"],["type","info",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["type","info",1,"mt-3","mb-0",3,"dismissible"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text","font-monospace"],[1,"text-start","text-md-end","w-100","w-md-50","grey-text"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-end","grey-text"],["type","checkbox",1,"rendux-input",3,"change","ngModelChange","id","ngModel"],[1,"rendux-label",3,"for"],["for","bridgeLink",1,"mb-2","mb-md-0","w-100","w-md-50"],["id","bridgeLink",1,"custom-select",3,"change"],[1,"list-group-item","text-center"],[1,"w-100","d-flex","flex-column","text-center"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"mx-auto","mt-3","mb-1"],[1,"grey-text","mx-auto","small","mb-1",2,"max-width","400px"],[1,"fas","fa-fw","fa-link",3,"ngClass"],["type","text",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"font-monospace"],[1,"grey-text",3,"innerHTML"],["type","text","placeholder","HAP-NodeJS:Advertiser,HAP-NodeJS:Service",1,"form-control","custom-input",3,"ngModelChange","ngModel"],[1,"grey-text"],["type","text","placeholder","--max-old-space-size=512 --max-http-header-size=8192",1,"form-control","custom-input",3,"ngModelChange","ngModel"],["type","checkbox",1,"rendux-input",3,"ngModelChange","id","ngModel"],[1,"d-inline-block","text-start","mb-0"],[1,"btn","btn-primary","mb-0",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),w(4,kU,2,4,"button",3),p(),c(5,"div",4),w(6,$U,2,0,"div",5),w(7,tW,10,11),p(),c(8,"div",6)(9,"div",7),w(10,uW,3,4,"button",8),p(),c(11,"div",9),w(12,nW,4,5,"button",10),w(13,fW,3,3,"button",11),p(),c(14,"div",12),w(15,DW,2,2),p()()()),i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),S(n.justInstalled?-1:4),l(2),S(n.loading?6:-1),l(),S(n.loading?-1:7),l(3),S(n.canConfigure&&!n.justInstalled?10:-1),l(2),S(n.justInstalled?12:-1),l(),S(n.canConfigure?-1:13),l(2),S(n.canConfigure&&!n.justInstalled?15:-1))},dependencies:[tu,yi,vi,Ki,Gi,Xi,vt,Yu,Yi,P1,zt,Be],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var Xl=ze(ss(),1);var ts=()=>["homebridge","homebridge-config-ui-x"],P6=(e,u,t)=>({pluginName:e,minVersion:u,installedVersion:t}),lW=(e,u,t)=>({minVersion:e,installedVersion:u,latestVersion:t,packageName:"Homebridge"}),dW=()=>({packageName:"Homebridge"}),cW=(e,u,t)=>({minVersion:e,installedVersion:u,latestVersion:t,packageName:"Homebridge UI"}),pW=()=>({packageName:"Homebridge UI"});function mW(e,u){if(e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2){let t=h(2);l(),q(" ",Ye(2,1,"plugins.compat.node_too_low",xu(4,P6,t.plugin.displayName,t.nodeMinVersion,t.nodeInstalledVersion))," ")}}function FW(e,u){if(e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2){let t=h(2);l(),q(" ",Ye(2,1,"plugins.compat.hb_too_low",xu(4,P6,t.plugin.name,t.hbMinVersion,t.hbInstalledVersion))," ")}}function CW(e,u){if(e&1&&(c(0,"div",11),I(1,"i",12),p(),c(2,"ul",13),w(3,mW,3,8,"li"),w(4,FW,3,8,"li"),p(),c(5,"ngb-alert",14)(6,"p",15),_(7),v(8,"translate"),p()()),e&2){let t=h();l(),Z(F1("",t.action==="install"?"far fa-fw fa-arrow-alt-circle-down":t.action==="update"?"far fa-fw fa-arrow-alt-circle-up":"fas fa-fw fa-code-compare"," primary-text")),l(2),S(t.isValidNode?-1:3),l(),S(t.isValidHb?-1:4),l(),b("dismissible",!1),l(2),H(B(8,7,"plugins.compat.are_you_sure"))}}function hW(e,u){if(e&1&&(c(0,"div",11),I(1,"i",16),p(),c(2,"ul",13)(3,"li"),_(4),v(5,"translate"),p()(),c(6,"ngb-alert",14)(7,"p",17),_(8),v(9,"translate"),p(),c(10,"p",15)(11,"a",18),_(12),v(13,"translate"),I(14,"i",19),p()()()),e&2){let t=h();l(4),q(" ",Ye(5,4,"plugins.compat.hb_node_too_low",xu(12,lW,t.nodeMinVersion,t.nodeInstalledVersion,t.plugin.latestVersion))," "),l(2),b("dismissible",!1),l(2),H(Ye(9,7,"plugins.compat.node_first",Xe(16,dW))),l(4),q(" ",B(13,10,"plugins.compat.node_link")," ")}}function gW(e,u){if(e&1&&(c(0,"div",11),I(1,"i",16),p(),c(2,"ul",13)(3,"li"),_(4),v(5,"translate"),p()(),c(6,"ngb-alert",14)(7,"p",17),_(8),v(9,"translate"),p(),c(10,"p",15)(11,"a",18),_(12),v(13,"translate"),I(14,"i",19),p()()()),e&2){let t=h();l(4),q(" ",Ye(5,4,"plugins.compat.hb_node_too_low",xu(12,cW,t.nodeMinVersion,t.nodeInstalledVersion,t.plugin.latestVersion))," "),l(2),b("dismissible",!1),l(2),H(Ye(9,7,"plugins.compat.node_first",Xe(16,pW))),l(4),q(" ",B(13,10,"plugins.compat.node_link")," ")}}function bW(e,u){if(e&1){let t=U();c(0,"button",20),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_close")," "))}function EW(e,u){if(e&1){let t=U();c(0,"button",20),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_close")," "))}function _W(e,u){if(e&1){let t=U();c(0,"button",21),M("click",function(){j(t);let n=h();return N(n.$activeModal.close(!0))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.label_continue")," "))}var O6=(()=>{class e{$activeModal=x(ve);$settings=x(Ve);plugin;isValidNode;isValidHb;action;nodeMinVersion;nodeInstalledVersion;hbMinVersion;hbInstalledVersion;constructor(){}ngOnInit(){this.nodeMinVersion=(0,Xl.minVersion)(this.plugin.updateEngines?.node),this.nodeInstalledVersion=this.$settings.env.nodeVersion,this.hbMinVersion=(0,Xl.minVersion)(this.plugin.updateEngines?.homebridge),this.hbInstalledVersion=this.$settings.env.homebridgeVersion}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",isValidNode:"isValidNode",isValidHb:"isValidHb",action:"action"},decls:18,vars:16,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger"],[1,"text-center","mb-3"],[2,"font-size","75px"],[1,"mb-3"],["type","warning",1,"mb-0",3,"dismissible"],[1,"text-center","mb-0"],[1,"fab","fa-fw","fa-node-js","primary-text",2,"font-size","75px"],[1,"text-center","mb-1"],["href","https://homebridge.io/w/JTKEF","target","_blank","rel","noopener noreferrer"],[1,"fa","fa-fw","fa-external-link-alt"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),v(4,"translate"),p(),c(5,"button",3),v(6,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(7,"div",4),w(8,CW,9,9),w(9,hW,15,17),w(10,gW,15,17),p(),c(11,"div",5)(12,"div",6),w(13,bW,3,3,"button",7),p(),c(14,"div",8),w(15,EW,3,3,"button",7),p(),c(16,"div",9),w(17,_W,3,3,"button",10),p()()()),i&2&&(l(3),H(B(4,8,"plugins.compat.title")),l(2),K("aria-label",B(6,10,"form.button_close")),l(3),S(Xe(12,ts).includes(n.plugin.name)?-1:8),l(),S(n.plugin.name==="homebridge"?9:-1),l(),S(n.plugin.name==="homebridge-config-ui-x"?10:-1),l(3),S(Xe(13,ts).includes(n.plugin.name)?-1:13),l(2),S(Xe(14,ts).includes(n.plugin.name)?15:-1),l(2),S(Xe(15,ts).includes(n.plugin.name)?-1:17))},dependencies:[Be,Yi],encapsulation:2})}return e})();var Dt=[];for(let e=0;e<256;++e)Dt.push((e+256).toString(16).slice(1));function M6(e,u=0){return(Dt[e[u+0]]+Dt[e[u+1]]+Dt[e[u+2]]+Dt[e[u+3]]+"-"+Dt[e[u+4]]+Dt[e[u+5]]+"-"+Dt[e[u+6]]+Dt[e[u+7]]+"-"+Dt[e[u+8]]+Dt[e[u+9]]+"-"+Dt[e[u+10]]+Dt[e[u+11]]+Dt[e[u+12]]+Dt[e[u+13]]+Dt[e[u+14]]+Dt[e[u+15]]).toLowerCase()}var Yl,yW=new Uint8Array(16);function Zl(){if(!Yl){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Yl=crypto.getRandomValues.bind(crypto)}return Yl(yW)}var vW=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),Ql={randomUUID:vW};function BW(e,u,t){if(Ql.randomUUID&&!u&&!e)return Ql.randomUUID();e=e||{};let i=e.random??e.rng?.()??Zl();if(i.length<16)throw new Error("Random bytes length must be >= 16");if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,u){if(t=t||0,t<0||t+16>u.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let n=0;n<16;++n)u[t+n]=i[n];return u}return M6(i)}var us=BW;var j6=ze(of(),1);var N6=(()=>{class e{$api=x(he);$toastr=x(_e);$translate=x(Ee);constructor(){}downloadDumpFile(){this.$api.get("/plugins/custom-plugins/homebridge-deconz/dump-file",{observe:"response",responseType:"blob"}).subscribe({next:t=>{(0,j6.saveAs)(t.body,"homebridge-deconz.json.gz")},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.deconz.dump_no_exist"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["app-homebridge-deconz"]],decls:3,vars:0,consts:[["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-download"]],template:function(i,n){i&1&&(c(0,"button",0),M("click",function(){return n.downloadDumpFile()}),I(1,"i",1),_(2,` Download Dump File
|
|
27
27
|
`),p())},encapsulation:2})}return e})();var q6=ze(of(),1);var V6=(()=>{class e{$api=x(he);$translate=x(Ee);$toastr=x(_e);constructor(){}downloadDumpFile(){this.$api.get("/plugins/custom-plugins/homebridge-hue/dump-file",{observe:"response",responseType:"blob"}).subscribe({next:t=>{(0,q6.saveAs)(t.body,"homebridge-hue.json.gz")},error:t=>{console.error(t),this.$toastr.error(this.$translate.instant("plugins.settings.hue.dump_no_exist"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["app-homebridge-hue"]],decls:3,vars:0,consts:[["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-fw","fa-download"]],template:function(i,n){i&1&&(c(0,"button",0),M("click",function(){return n.downloadDumpFile()}),I(1,"i",1),_(2,` Download Dump File
|
|
28
28
|
`),p())},encapsulation:2})}return e})();var R6=(()=>{class e{transform(t){return t.replace(/\$\{\{HOSTNAME\}\}/g,location.hostname)}static \u0275fac=function(i){return new(i||e)};static \u0275pipe=l1({name:"interpolateMd",type:e,pure:!0})}return e})();function xW(e,u){if(e&1&&(I(0,"markdown",5),v(1,"interpolateMd")),e&2){let t=h();b("data",B(1,1,t.schema.headerDisplay))}}function wW(e,u){if(e&1){let t=U();c(0,"button",31),v(1,"translate"),M("click",function(){j(t);let n=h().$implicit,f=h(2);return N(f.removeBlock(n.__uuid__))}),I(2,"i",32),p()}e&2&&b("ngbTooltip",B(1,1,"form.button_delete"))}function SW(e,u){if(e&1){let t=U();c(0,"div",19)(1,"div",20)(2,"div",21)(3,"h5",22),_(4),p(),c(5,"div",23),w(6,wW,3,3,"button",24),c(7,"button",25),v(8,"translate"),I(9,"i",26),p(),I(10,"i",27),v(11,"translate"),p()()(),c(12,"div",28)(13,"div",29)(14,"app-schema-form",30),Oe("dataChange",function(n){let f=j(t).$implicit;return Pe(f.config,n)||(f.config=n),N(n)}),M("isValid",function(n){let f=j(t).$index,r=h(2);return N(r.onIsValid(n,f))}),p()()()()}if(e&2){let t=u.$implicit,i=u.$index,n=h(2);b("ngbAccordionItem",t.__uuid__)("collapsed",n.show!==t.__uuid__)("id",t.__uuid__),l(4),H(t.name),l(2),S(n.plugin.name!=="homebridge-config-ui-x"&&n.show===t.__uuid__?6:-1),l(),b("ngbTooltip",B(8,10,"form.button_edit")),l(3),b("ngClass",n.formBlocksValid[i]?"fa-circle-check green-text":n.strictValidation?"fa-circle-exclamation red-text":"fa-circle-exclamation orange-text")("ngbTooltip",B(11,12,n.formBlocksValid[i]?"form.label_valid":n.strictValidation?"form.label_invalid_strict":"form.label_invalid")),l(4),b("configSchema",n.schema),Te("data",t.config)}}function IW(e,u){if(e&1){let t=U();c(0,"div",18),M("show",function(n){j(t);let f=h();return N(f.blockShown(n))})("hide",function(n){j(t);let f=h();return N(f.blockHidden(n))}),ft(1,SW,15,14,"div",19,nt),p()}if(e&2){let t=h();b("closeOthers",!0),l(),rt(t.pluginConfig)}}function AW(e,u){e&1&&I(0,"app-homebridge-deconz")}function kW(e,u){e&1&&I(0,"app-homebridge-hue")}function $W(e,u){if(e&1){let t=U();c(0,"div",7)(1,"app-schema-form",30),Oe("dataChange",function(n){j(t);let f=h();return Pe(f.pluginConfig[0].config,n)||(f.pluginConfig[0].config=n),N(n)}),M("isValid",function(n){j(t);let f=h();return N(f.onIsValid(n,0))}),p(),w(2,AW,1,0,"app-homebridge-deconz"),w(3,kW,1,0,"app-homebridge-hue"),p()}if(e&2){let t=h();l(),b("configSchema",t.schema),Te("data",t.pluginConfig[0].config),l(),S(t.plugin.name==="homebridge-deconz"?2:-1),l(),S(t.plugin.name==="homebridge-hue"?3:-1)}}function TW(e,u){if(e&1&&(I(0,"markdown",5),v(1,"interpolateMd")),e&2){let t=h();b("data",B(1,1,t.schema.footerDisplay))}}function PW(e,u){if(e&1&&(I(0,"i",14),v(1,"translate")),e&2){let t=h();b("ngClass",t.formIsValid?"fa-circle-check green-text":t.strictValidation?"fa-circle-exclamation red-text":"fa-circle-exclamation orange-text")("ngbTooltip",B(1,2,t.formIsValid?"form.label_valid":t.strictValidation?"form.label_invalid_strict":"form.label_invalid"))}}function OW(e,u){if(e&1){let t=U();c(0,"button",33),M("click",function(){j(t);let n=h();return N(n.addBlock())}),I(1,"i",34),p()}}function MW(e,u){e&1&&(c(0,"span"),_(1),v(2,"translate"),p()),e&2&&(l(),H(B(2,1,"form.button_save")))}function jW(e,u){e&1&&I(0,"i",17)}var L6=(()=>{class e{$activeModal=x(ve);$api=x(he);$plugin=x(bi);$modal=x(it);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);plugin;schema;pluginAlias;pluginType;pluginConfig=[];form={};show="";saveInProgress;childBridges=[];isFirstSave=!1;formBlocksValid={};formIsValid=!0;strictValidation=!1;constructor(){}ngOnInit(){this.pluginAlias=this.schema.pluginAlias,this.pluginType=this.schema.pluginType,this.strictValidation=this.schema.strictValidation,this.loadPluginConfig()}loadPluginConfig(){this.$api.get(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`).subscribe({next:t=>{for(let i of t){let n={__uuid__:us(),name:i.name||this.schema.pluginAlias,config:i};this.pluginConfig.push(n)}this.pluginConfig.length?this.show=this.pluginConfig[0].__uuid__:(this.isFirstSave=!0,this.addBlock()),this.plugin.name==="homebridge-hue"&&this.pluginConfig.length&&this.homebridgeHueFix(this.pluginConfig[0].config)},error:t=>{console.error(t),this.$toastr.error(t.error?.message||this.$translate.instant("plugins.config.load_error"),this.$translate.instant("toast.title_error"))}})}save(){return G(this,null,function*(){this.saveInProgress=!0;let t=this.pluginConfig.map(i=>i.config);try{let i=yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,t));if(this.saveInProgress=!1,this.plugin.name==="homebridge-config-ui-x")this.$settings.getAppSettings().catch(()=>{});else if(this.isFirstSave&&this.$settings.env.recommendChildBridges&&i[0]?.platform){this.$activeModal.close(),this.$plugin.bridgeSettings(this.plugin,!0);return}if(!["homebridge","homebridge-config-ui-x"].includes(this.plugin.name)&&(yield this.getChildBridges(),this.childBridges.length>0)){this.$activeModal.close();let n=this.$modal.open(un,{size:"lg",backdrop:"static"});n.componentInstance.bridges=this.childBridges.map(f=>({name:f.name,username:f.username}));return}this.$activeModal.close(),this.$modal.open(uu,{size:"lg",backdrop:"static"})}catch(i){this.saveInProgress=!1,console.error(i),this.$toastr.error(this.$translate.instant("config.failed_to_save_config"),this.$translate.instant("toast.title_error"))}})}blockShown(t){this.show=t;for(let i of this.pluginConfig)i.name=i.config.name||i.name}blockHidden(t){this.show===t&&(this.show="")}addBlock(){let t=us();this.pluginConfig.push({__uuid__:t,name:this.schema.pluginAlias,config:{[this.pluginType]:this.schema.pluginAlias}}),this.formBlocksValid[this.pluginConfig.length-1]=!1,this.blockShown(t)}removeBlock(t){let i=this.pluginConfig.findIndex(n=>n.__uuid__===t);this.pluginConfig.splice(i,1),delete this.formBlocksValid[i],Object.keys(this.formBlocksValid).length||(this.formIsValid=!0)}getChildBridges(){return G(this,null,function*(){try{(yield se(this.$api.get("/status/homebridge/child-bridges"))).forEach(i=>{this.plugin.name===i.plugin&&this.childBridges.push(i)})}catch(t){console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error")),this.childBridges=[]}})}homebridgeHueFix(t){if(this.schema.schema.properties.users={type:"object",properties:{}},!(!t.users||typeof t.users!="object"))for(let i of Object.keys(t.users))this.schema.schema.properties.users.properties[i]={type:"string"}}onIsValid(t,i){this.formBlocksValid[i]=t,this.formIsValid=Object.values(this.formBlocksValid).every(n=>n)}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",schema:"schema"},decls:24,vars:18,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body","pb-0"],[1,"plugin-md",3,"data"],["ngbAccordion","",3,"closeOthers"],[1,"card","card-body"],[1,"mt-3"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end","d-flex","align-items-center","justify-content-end"],["container","modal","placement","top","openDelay","150","triggers","hover",1,"fa","fa-fw","fa-xl","me-2",3,"ngClass","ngbTooltip"],["type","button","data-dismiss","modal",1,"btn","btn-elegant","me-2"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],["ngbAccordion","",3,"show","hide","closeOthers"],[1,"card",3,"ngbAccordionItem","collapsed","id"],["ngbAccordionHeader","",1,"card-header"],[1,"d-flex","align-items-center","justify-content-between"],[1,"m-0"],[1,"d-flex","align-items-center"],["container","modal","placement","left","openDelay","150","triggers","hover",1,"btn","btn-danger","ms-2",3,"ngbTooltip"],["ngbAccordionToggle","","container","modal","placement","left","openDelay","150","triggers","hover",1,"btn","btn-primary","ms-2","me-2",3,"ngbTooltip"],[1,"fa","fa-fw","fa-edit"],["container","modal","placement","left","openDelay","150","triggers","hover",1,"fa","fa-fw","fa-xl",3,"ngClass","ngbTooltip"],["ngbAccordionCollapse",""],["ngbAccordionBody","",1,"card-body"],[3,"dataChange","isValid","configSchema","data"],["container","modal","placement","left","openDelay","150","triggers","hover",1,"btn","btn-danger","ms-2",3,"click","ngbTooltip"],[1,"fa","fa-fw","fa-trash"],["type","button","data-dismiss","modal",1,"btn","btn-elegant","me-2",3,"click"],[1,"fa","fa-fw","fa-plus"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.close("Dismiss")}),p()(),c(6,"div",4),w(7,xW,2,3,"markdown",5),w(8,IW,3,1,"div",6),w(9,$W,4,4,"div",7),c(10,"div",8),w(11,TW,2,3,"markdown",5),p()(),c(12,"div",9)(13,"div",10)(14,"button",11),M("click",function(){return n.$activeModal.close()}),_(15),v(16,"translate"),p()(),I(17,"div",12),c(18,"div",13),w(19,PW,2,4,"i",14),w(20,OW,2,0,"button",15),c(21,"button",16),M("click",function(){return n.save()}),w(22,MW,3,3,"span"),w(23,jW,1,0,"i",17),p()()()()),i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),b("disabled",n.saveInProgress),K("aria-label",B(5,14,"form.button_close")),l(3),S(n.schema.headerDisplay?7:-1),l(),S(n.pluginConfig.length&&!n.schema.singular?8:-1),l(),S(n.pluginConfig.length&&n.schema.singular?9:-1),l(2),S(n.schema.footerDisplay?11:-1),l(3),b("disabled",n.saveInProgress),l(),q(" ",B(16,16,"form.button_close")," "),l(4),S(n.schema.singular?19:-1),l(),S(n.schema.singular?-1:20),l(),b("disabled",n.saveInProgress||!n.formIsValid&&n.strictValidation),l(),S(n.saveInProgress?-1:22),l(),S(n.saveInProgress?23:-1))},dependencies:[tn,en,ef,Xr,Jr,Kr,Zi,Wr,Ur,zt,Qn,N6,V6,Be,R6,Gr],styles:[".manage-plugin-config-external-icons[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:#000;opacity:.5;background-color:transparent;border:0}"]})}return e})();var NW=(e,u)=>({"green-text":e,"grey-text":u}),qW=(e,u)=>({"btn-danger":e,"btn-elegant":u}),VW=(e,u,t)=>({"fa-broom":e,"fa-undo":u,"fa-spinner fa-pulse":t});function RW(e,u){e&1&&(c(0,"div",12),I(1,"i",13),p(),c(2,"p",14),_(3),v(4,"translate"),p()),e&2&&(l(3),H(B(4,1,"reset.bridge_accessories.empty")))}function LW(e,u){if(e&1){let t=U();c(0,"li",18)(1,"span"),_(2),I(3,"br"),c(4,"small",19),I(5,"i",20),_(6),v(7,"translate"),c(8,"span",21),_(9),p()()(),c(10,"button",22),v(11,"translate"),M("click",function(){let n=j(t).$implicit,f=h(2);return N(f.toggleList(n._id))}),I(12,"i",23),p()()}if(e&2){let t=u.$implicit,i=h(2);l(2),q(" ",t.name," "),l(3),b("ngClass",Ju(12,NW,t._isPaired,!t._isPaired)),l(),q(" ",B(7,8,t._isPaired?"status.widget.qr_paired":"status.widget.qr_unpaired")," \xB7 "),l(3),H(t._username),l(),b("disabled",i.clicked)("ngClass",Ju(15,qW,!i.toDelete.includes(t._id),i.toDelete.includes(t._id))),K("aria-label",B(11,10,"form.button_delete")),l(2),b("ngClass",xu(18,VW,!i.toDelete.includes(t._id),i.toDelete.includes(t._id)&&!i.clicked,i.toDelete.includes(t._id)&&i.clicked))}}function zW(e,u){if(e&1&&(c(0,"div",12),I(1,"i",15),p(),c(2,"ul",16)(3,"li"),_(4),v(5,"translate"),p(),c(6,"li"),_(7),v(8,"translate"),p()(),c(9,"ul",17),ft(10,LW,13,22,"li",18,nt),p()),e&2){let t=h();l(4),H(B(5,2,"reset.bridge_accessories.list_1")),l(3),H(B(8,4,"reset.clear_cache_single.list_3")),l(3),rt(t.pairings)}}function HW(e,u){if(e&1){let t=U();c(0,"button",24),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(1),v(2,"translate"),p()}if(e&2){let t=h();b("disabled",t.clicked),l(),q(" ",B(2,2,"form.button_close")," ")}}function UW(e,u){if(e&1){let t=U();c(0,"button",25),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(1),v(2,"translate"),p()}e&2&&(l(),q(" ",B(2,1,"form.button_close")," "))}function WW(e,u){if(e&1&&_(0),e&2){let t=h(3);q(" (",t.toDelete.length,") ")}}function GW(e,u){if(e&1&&(_(0),v(1,"translate"),w(2,WW,1,1)),e&2){let t=h(2);q(" ",B(1,2,"form.button_remove")," "),l(2),S(t.toDelete.length>0?2:-1)}}function KW(e,u){e&1&&I(0,"i",27)}function JW(e,u){if(e&1){let t=U();c(0,"button",26),M("click",function(){j(t);let n=h();return N(n.cleanBridges())}),w(1,GW,3,4),w(2,KW,1,0,"i",27),p()}if(e&2){let t=h();b("disabled",!t.toDelete.length||t.clicked),l(),S(t.clicked?-1:1),l(),S(t.clicked?2:-1)}}var z6=(()=>{class e{$activeModal=x(ve);$api=x(he);$router=x(cu);$toastr=x(_e);$translate=x(Ee);childBridges=[];clicked=!1;pairings=[];toDelete=[];constructor(){}ngOnInit(){this.loadPairings()}loadPairings(){return G(this,null,function*(){try{this.pairings=(yield se(this.$api.get("/server/pairings"))).filter(t=>t._category==="bridge"&&!t._main&&this.childBridges.find(i=>i.username===t._username)).sort((t,i)=>t.name.localeCompare(i.name))}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("settings.unpair_bridge.load_error"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}toggleList(t){this.toDelete.includes(t)?this.toDelete=this.toDelete.filter(i=>i!==t):this.toDelete.push(t)}cleanBridges(){return this.clicked=!0,this.$api.delete("/server/pairings/accessories",{body:this.toDelete.map(t=>({id:t}))}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:t=>{this.clicked=!1,console.error(t),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{childBridges:"childBridges"},decls:17,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-broom","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"grey-text"],[1,"fas","fa-fw","fa-link",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-danger","m-0","ms-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),v(4,"translate"),p(),c(5,"button",3),v(6,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(7,"div",4),w(8,RW,5,3),w(9,zW,12,6),p(),c(10,"div",5)(11,"div",6),w(12,HW,3,4,"button",7),p(),c(13,"div",8),w(14,UW,3,3,"button",9),p(),c(15,"div",10),w(16,JW,3,3,"button",11),p()()()),i&2&&(l(3),H(B(4,8,"child_bridge.reset_accessories")),l(2),b("disabled",n.clicked),K("aria-label",B(6,10,"form.button_close")),l(3),S(n.pairings.length===0?8:-1),l(),S(n.pairings.length>0?9:-1),l(3),S(n.pairings.length>0?12:-1),l(2),S(n.pairings.length===0?14:-1),l(2),S(n.pairings.length>0?16:-1))},dependencies:[zt,Be],encapsulation:2})}return e})();var U6=ze(of(),1);var W6=ze(A1(),1),G6=ze(k1(),1);var XW=e=>({prefix:e}),YW=e=>({link:e}),H6=(e,u,t,i)=>({"fa-circle-o":e,"fa-spinner fa-pulse":u,"fa-check-circle green-text":t,"fa-times-circle red-text":i}),ZW=(e,u,t)=>({"fa-circle-o":e,"fa-spinner fa-pulse":u,"fa-times-circle red-text":t});function QW(e,u){e&1&&(c(0,"li"),_(1),v(2,"translate"),p()),e&2&&(l(),H(B(2,1,"plugins.manage.scoped.process")))}function eG(e,u){e&1&&(I(0,"li",8),v(1,"translate"),c(2,"li"),_(3),v(4,"translate"),p()),e&2&&(b("innerHTML",B(1,2,"plugins.manage.scoped.windows"),de),l(3),H(B(4,4,"plugins.manage.manual_update_command")))}function tG(e,u){if(e&1&&(c(0,"pre",9),_(1),p()),e&2){let t=h();l(),m1(`hb-service stop
|
|
29
29
|
npm install -g `,t.plugin.newHbScope.to,"@",t.plugin.newHbScope.switch,`
|
|
30
30
|
npm uninstall -g `,t.plugin.newHbScope.from,`
|
|
31
|
-
hb-service start`)}}function uG(e,u){if(e&1&&(c(0,"div",10)(1,"ul",18)(2,"li"),I(3,"i",19),_(4),v(5,"translate"),c(6,"span",20),_(7),p()(),c(8,"li"),I(9,"i",19),_(10),v(11,"translate"),c(12,"span",20),_(13),p()(),c(14,"li"),I(15,"i",19),_(16),v(17,"translate"),p()()()),e&2){let t=h();l(3),b("ngClass",Wi(14,H6,!t.installing&&!t.installed&&!t.failure,t.installing,t.installed&&!t.failure,!t.installed&&t.failure)),l(),q(" ",B(5,8,"plugins.manage.install")," "),l(3),H(t.plugin.newHbScope.to),l(2),b("ngClass",Wi(19,H6,!t.uninstalling&&!t.uninstalled&&!t.failure,t.uninstalling,t.uninstalled&&!t.failure,!t.uninstalled&&t.failure)),l(),q(" ",B(11,10,"plugins.manage.uninstall")," "),l(3),H(t.plugin.newHbScope.from),l(2),b("ngClass",xu(24,ZW,!t.restarting&&!t.failure,t.restarting,t.failure)),l(),q(" ",B(17,12,"menu.hbrestart.title")," ")}}function iG(e,u){if(e&1){let t=U();c(0,"div",11)(1,"p"),_(2),v(3,"translate"),p(),c(4,"p",20),_(5),p(),c(6,"button",21),M("click",function(){j(t);let n=h();return N(n.downloadLogFile())}),_(7),v(8,"translate"),p()()}if(e&2){let t=h();l(2),H(B(3,3,"plugins.manage.scoped.error")),l(3),H(t.failure),l(2),H(B(8,5,"form.button_download"))}}function nG(e,u){if(e&1){let t=U();c(0,"button",22),v(1,"translate"),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(2),v(3,"translate"),p()}if(e&2){let t=h();b("disabled",t.installing||t.uninstalling||t.restarting),K("aria-label",B(1,3,"form.button_close")),l(2),q(" ",B(3,5,"form.button_close")," ")}}function fG(e,u){if(e&1){let t=U();c(0,"button",22),v(1,"translate"),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(2),v(3,"translate"),p()}if(e&2){let t=h();b("disabled",t.installing||t.uninstalling||t.restarting),K("aria-label",B(1,3,"form.button_close")),l(2),q(" ",B(3,5,"form.button_close")," ")}}function rG(e,u){e&1&&(c(0,"span"),_(1),v(2,"translate"),p()),e&2&&(l(),q(" ",B(2,1,"
|
|
31
|
+
hb-service start`)}}function uG(e,u){if(e&1&&(c(0,"div",10)(1,"ul",18)(2,"li"),I(3,"i",19),_(4),v(5,"translate"),c(6,"span",20),_(7),p()(),c(8,"li"),I(9,"i",19),_(10),v(11,"translate"),c(12,"span",20),_(13),p()(),c(14,"li"),I(15,"i",19),_(16),v(17,"translate"),p()()()),e&2){let t=h();l(3),b("ngClass",Wi(14,H6,!t.installing&&!t.installed&&!t.failure,t.installing,t.installed&&!t.failure,!t.installed&&t.failure)),l(),q(" ",B(5,8,"plugins.manage.install")," "),l(3),H(t.plugin.newHbScope.to),l(2),b("ngClass",Wi(19,H6,!t.uninstalling&&!t.uninstalled&&!t.failure,t.uninstalling,t.uninstalled&&!t.failure,!t.uninstalled&&t.failure)),l(),q(" ",B(11,10,"plugins.manage.uninstall")," "),l(3),H(t.plugin.newHbScope.from),l(2),b("ngClass",xu(24,ZW,!t.restarting&&!t.failure,t.restarting,t.failure)),l(),q(" ",B(17,12,"menu.hbrestart.title")," ")}}function iG(e,u){if(e&1){let t=U();c(0,"div",11)(1,"p"),_(2),v(3,"translate"),p(),c(4,"p",20),_(5),p(),c(6,"button",21),M("click",function(){j(t);let n=h();return N(n.downloadLogFile())}),_(7),v(8,"translate"),p()()}if(e&2){let t=h();l(2),H(B(3,3,"plugins.manage.scoped.error")),l(3),H(t.failure),l(2),H(B(8,5,"form.button_download"))}}function nG(e,u){if(e&1){let t=U();c(0,"button",22),v(1,"translate"),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(2),v(3,"translate"),p()}if(e&2){let t=h();b("disabled",t.installing||t.uninstalling||t.restarting),K("aria-label",B(1,3,"form.button_close")),l(2),q(" ",B(3,5,"form.button_close")," ")}}function fG(e,u){if(e&1){let t=U();c(0,"button",22),v(1,"translate"),M("click",function(){j(t);let n=h();return N(n.$activeModal.dismiss("Dismiss"))}),_(2),v(3,"translate"),p()}if(e&2){let t=h();b("disabled",t.installing||t.uninstalling||t.restarting),K("aria-label",B(1,3,"form.button_close")),l(2),q(" ",B(3,5,"form.button_close")," ")}}function rG(e,u){e&1&&(c(0,"span"),_(1),v(2,"translate"),p()),e&2&&(l(),q(" ",B(2,1,"form.label_continue")," "))}function oG(e,u){e&1&&I(0,"i",24)}function aG(e,u){if(e&1){let t=U();c(0,"button",23),M("click",function(){j(t);let n=h();return N(n.doSwitch())}),w(1,rG,3,3,"span"),w(2,oG,1,0,"i",24),p()}if(e&2){let t=h();b("disabled",t.installing||t.uninstalling||t.restarting||!t.onlineUpdateOk||t.failure),l(),S(!t.installing&&!t.uninstalling&&!t.restarting?1:-1),l(),S((t.installing||t.uninstalling||t.restarting)&&!t.failure?2:-1)}}var K6=(()=>{class e{$activeModal=x(ve);$api=x(he);$router=x(cu);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);$ws=x(Qi);plugin;installing=!1;installed=!1;uninstalling=!1;uninstalled=!1;restarting=!1;failure="";onlineUpdateOk;moreInfo='<a href="https://github.com/homebridge/plugins/wiki/Scoped-Plugins" target="_blank"><i class="fa fa-fw fa-external-link-alt primary-text"></i></a>';prefix='<span class="font-monospace">@homebridge-plugins/</span>';io;term;termTarget;fitAddon=new G6.FitAddon;errorLog="";constructor(){this.term=new W6.Terminal({theme:{background:"#00000000",foreground:this.$settings.actualLightingMode==="light"?"#333333":"#eeeeee",cursor:"#d2d2d2",selection:"#d2d2d2"},allowTransparency:!0}),this.term.loadAddon(this.fitAddon)}ngOnInit(){this.onlineUpdateOk=this.$settings.env.platform!=="win32",this.io=this.$ws.connectToNamespace("plugins"),this.termTarget=document.getElementById("plugin-output"),this.term.open(this.termTarget),this.fitAddon.fit(),this.io.socket.on("stdout",t=>{this.term.write(t);let i=t.toString().replace(/\x1B\[(\d{1,3}(;\d{1,2})?)?[mGK]/g,"").trimEnd();i&&(this.errorLog+=`${i}\r
|
|
32
32
|
`)})}doSwitch(){this.installing=!0,this.io.request("install",{name:this.plugin.newHbScope.to,version:this.plugin.newHbScope.switch,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.installing=!1,this.installed=!0,this.uninstalling=!0,this.io.request("uninstall",{name:this.plugin.newHbScope.from,termCols:this.term.cols,termRows:this.term.rows}).subscribe({next:()=>{this.uninstalling=!1,this.uninstalled=!0,this.restarting=!0,this.$api.put("/platform-tools/hb-service/set-full-service-restart-flag",{}).subscribe({next:()=>{this.$activeModal.close(),this.$router.navigate(["/restart"])},error:t=>{this.restarting=!1,this.failure=t.message,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})},error:t=>{this.uninstalling=!1,this.failure=t.message,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})},error:t=>{this.installing=!1,this.failure=t.message,console.error(t),this.$toastr.error(t.message,this.$translate.instant("toast.title_error"))}})}downloadLogFile(){let t=new Blob([this.errorLog],{type:"text/plain;charset=utf-8"});(0,U6.saveAs)(t,`${this.plugin.name}-error.log`)}ngOnDestroy(){this.io.end(),this.term.dispose()}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin"},decls:31,vars:31,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"mb-3","text-center"],[1,"fas","fa-fw","fa-arrow-right-arrow-left","primary-text",2,"font-size","75px"],[1,"mb-0"],[3,"innerHTML"],[1,"mt-3","mb-0"],[1,"text-center"],[1,"alert","alert-error","mb-0"],["id","plugin-output",1,"mb-0",3,"hidden"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"],[1,"d-inline-block","text-start","mt-3","mb-3",2,"list-style-type","none"],[1,"fa","fa-fw",3,"ngClass"],[1,"font-monospace"],[1,"btn","btn-primary","mb-0",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),v(4,"translate"),p(),c(5,"button",3),v(6,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(7,"div",4)(8,"div",5),I(9,"i",6),p(),c(10,"ul",7),I(11,"li",8),v(12,"translate"),c(13,"li"),_(14),v(15,"translate"),p(),I(16,"li",8),v(17,"translate"),w(18,QW,3,3,"li"),w(19,eG,5,6),p(),w(20,tG,2,3,"pre",9),w(21,uG,18,28,"div",10),w(22,iG,9,7,"div",11),I(23,"div",12),p(),c(24,"div",13)(25,"div",14),w(26,nG,4,7,"button",15),p(),c(27,"div",10),w(28,fG,4,7,"button",15),p(),c(29,"div",16),w(30,aG,3,3,"button",17),p()()()),i&2&&(l(3),H(B(4,15,"plugins.manage.scoped.switch")),l(2),b("disabled",n.installing||n.uninstalling||n.restarting),K("aria-label",B(6,17,"form.button_close")),l(6),b("innerHTML",Ye(12,19,"plugins.manage.scoped.info_1",eu(27,XW,n.prefix)),de),l(3),H(B(15,22,"plugins.manage.scoped_message")),l(2),b("innerHTML",Ye(17,24,"plugins.manage.scoped.info_2",eu(29,YW,n.moreInfo)),de),l(2),S(n.onlineUpdateOk?18:-1),l(),S(n.onlineUpdateOk?-1:19),l(),S(n.onlineUpdateOk?-1:20),l(),S(n.onlineUpdateOk?21:-1),l(),S(n.failure?22:-1),l(),b("hidden",!n.onlineUpdateOk||n.failure),l(3),S(n.onlineUpdateOk?26:-1),l(2),S(n.onlineUpdateOk?-1:28),l(2),S(n.onlineUpdateOk?30:-1))},dependencies:[zt,Be],styles:["#plugin-output[_ngcontent-%COMP%]{height:150px;overflow-y:auto;overflow-x:hidden}"]})}return e})();var sG=e=>({pluginName:e}),DG=e=>({count:e});function lG(e,u){e&1&&(c(0,"div",5),I(1,"i",13),p())}function dG(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"plugins.uninstall_remove_child_bridge")," ")}function cG(e,u){if(e&1&&(_(0),v(1,"translate")),e&2){let t=h(4);q(" ",Ye(1,1,"plugins.uninstall_remove_child_bridges",eu(4,DG,t.childBridges.length))," ")}}function pG(e,u){if(e&1){let t=U();c(0,"label",24)(1,"input",25),Oe("ngModelChange",function(n){j(t);let f=h(3);return Pe(f.removeChildBridges,n)||(f.removeChildBridges=n),N(n)}),p(),w(2,dG,2,3),w(3,cG,2,6),I(4,"span",23),p()}if(e&2){let t=h(3);l(),Te("ngModel",t.removeChildBridges),l(),S(t.childBridges.length===1?2:-1),l(),S(t.childBridges.length>1?3:-1)}}function mG(e,u){if(e&1){let t=U();c(0,"p",16)(1,"label",21)(2,"input",22),Oe("ngModelChange",function(n){j(t);let f=h(2);return Pe(f.removeConfig,n)||(f.removeConfig=n),N(n)}),p(),_(3),v(4,"translate"),I(5,"span",23),p(),w(6,pG,5,3,"label",24),p()}if(e&2){let t=h(2);l(2),Te("ngModel",t.removeConfig),l(),q(" ",B(4,3,"plugins.uninstall_remove_plugin_config")," "),l(3),S(t.hasChildBridges?6:-1)}}function FG(e,u){e&1&&(c(0,"ul",17)(1,"li"),_(2),v(3,"translate"),p(),c(4,"li"),_(5),v(6,"translate"),p()()),e&2&&(l(2),H(B(3,2,"plugins.uninstall_warn_1")),l(3),H(B(6,4,"plugins.uninstall_warn_2")))}function CG(e,u){e&1&&(c(0,"ngb-alert",18),_(1),v(2,"translate"),p()),e&2&&(b("dismissible",!1),l(),q(" ",B(2,2,"plugins.uninstall_remove_config_required")," "))}function hG(e,u){if(e&1&&(c(0,"div",14),I(1,"i",15),p(),c(2,"div",9),w(3,mG,7,5,"p",16),p(),w(4,FG,7,6,"ul",17),w(5,CG,3,4,"ngb-alert",18),c(6,"ngb-alert",19)(7,"p",20),_(8),v(9,"translate"),p()()),e&2){let t=h();l(3),S(t.pluginAlias&&t.pluginType?3:-1),l(),S(t.hasChildBridges&&t.removeChildBridges?4:-1),l(),S(!t.pluginAlias||!t.pluginType?5:-1),l(),b("dismissible",!1),l(2),H(Ye(9,5,"plugins.uninstall_remove_confirmation",eu(8,sG,t.plugin.displayName)))}}function gG(e,u){e&1&&(_(0),v(1,"translate")),e&2&&q(" ",B(1,1,"plugins.manage.uninstall")," ")}function bG(e,u){e&1&&I(0,"i",12)}var J6=(()=>{class e{$activeModal=x(ve);$api=x(he);$modal=x(it);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);plugin;childBridges;action;loading=!0;uninstalling=!1;removeConfig=!0;removeChildBridges=!0;hasChildBridges=!1;pluginType;pluginAlias;constructor(){}ngOnInit(){return G(this,null,function*(){try{this.childBridges.length&&(this.hasChildBridges=!0);let t=yield this.getAlias();this.pluginType=t.pluginType,this.pluginAlias=t.pluginAlias}finally{this.loading=!1}})}doUninstall(){return G(this,null,function*(){if(this.uninstalling=!0,this.removeConfig&&this.pluginType&&this.pluginAlias)try{yield this.removePluginConfig()}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.config.remove_error"),this.$translate.instant("toast.title_error"))}if(this.hasChildBridges&&this.removeChildBridges)try{yield Promise.all(this.childBridges.map(i=>this.removeChildBridge(i.username.replace(/:/g,""))))}catch(i){console.error(i)}this.$activeModal.dismiss();let t=this.$modal.open(tf,{size:"lg",backdrop:"static"});t.componentInstance.action="Uninstall",t.componentInstance.pluginName=this.plugin.name,t.componentInstance.pluginDisplayName=this.plugin.displayName})}getAlias(){return G(this,null,function*(){return se(this.$api.get(`/plugins/alias/${encodeURIComponent(this.plugin.name)}`))})}removePluginConfig(){return G(this,null,function*(){yield se(this.$api.post(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}`,[])),yield se(this.$api.put(`/config-editor/plugin/${encodeURIComponent(this.plugin.name)}/enable`,{})),this.$toastr.success(this.$translate.instant("plugins.settings.plugin_config_saved"),this.$translate.instant("toast.title_success"))})}removeChildBridge(t){return G(this,null,function*(){try{yield se(this.$api.delete(`/server/pairings/${t}`))}catch(i){console.error(i),this.$toastr.error(this.$translate.instant("plugins.uninstall_bridge_error"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(i){return new(i||e)};static \u0275cmp=Y({type:e,selectors:[["ng-component"]],inputs:{plugin:"plugin",childBridges:"childBridges",action:"action"},decls:20,vars:17,consts:[[1,"modal-content",2,"min-height","300px"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click","disabled"],[1,"modal-body"],[1,"text-center","primary-text"],[1,"modal-footer","justify-content-between"],[1,"text-start"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],[1,"text-center"],[1,"text-end"],["type","button","data-bs-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"],[1,"fa","fa-fw","fa-cog","fa-spin",2,"font-size","75px"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-trash","primary-text",2,"font-size","75px"],[1,"d-inline-block","text-start","mb-1"],[1,"mb-3","text-start"],["type","info",1,"mb-3",3,"dismissible"],["type","warning",1,"mb-0",3,"dismissible"],[1,"mb-0"],["for","remove-plugin-config",1,"hb-uix-switch","d-block"],["id","remove-plugin-config","type","checkbox",3,"ngModelChange","ngModel"],[1,"hb-uix-slider","hb-uix-round"],["for","remove-plugin-child-bridges",1,"hb-uix-switch","d-block"],["id","remove-plugin-child-bridges","type","checkbox",3,"ngModelChange","ngModel"]],template:function(i,n){i&1&&(c(0,"div",0)(1,"div",1)(2,"h5",2),_(3),p(),c(4,"button",3),v(5,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),p()(),c(6,"div",4),w(7,lG,2,0,"div",5),w(8,hG,10,10),p(),c(9,"div",6)(10,"div",7)(11,"button",8),v(12,"translate"),M("click",function(){return n.$activeModal.dismiss("Dismiss")}),_(13),v(14,"translate"),p()(),I(15,"div",9),c(16,"div",10)(17,"button",11),M("click",function(){return n.doUninstall()}),w(18,gG,2,3),w(19,bG,1,0,"i",12),p()()()()),i&2&&(l(3),H(n.plugin.displayName||n.plugin.name),l(),b("disabled",n.uninstalling),K("aria-label",B(5,11,"form.button_close")),l(3),S(n.loading?7:-1),l(),S(n.loading?-1:8),l(3),b("disabled",n.uninstalling),K("aria-label",B(12,13,"form.button_close")),l(2),q(" ",B(14,15,"form.button_close")," "),l(4),b("disabled",n.loading||n.uninstalling),l(),S(n.uninstalling?-1:18),l(),S(n.uninstalling?19:-1))},dependencies:[tu,Gi,vt,Yu,Yi,Be],encapsulation:2})}return e})();var bi=(()=>{class e{$api=x(he);$modal=x(it);$customPluginsService=x(b6);$settings=x(Ve);$toastr=x(_e);$translate=x(Ee);constructor(){}installPlugin(t,i="latest"){let n=this.$modal.open(tf,{size:"lg",backdrop:"static"});n.componentInstance.action="Install",n.componentInstance.pluginName=t.name,n.componentInstance.pluginDisplayName=t.displayName,n.componentInstance.targetVersion=i}uninstallPlugin(t,i){let n=this.$modal.open(J6,{size:"lg",backdrop:"static"});n.componentInstance.action="Uninstall",n.componentInstance.plugin=t,n.componentInstance.childBridges=i}checkAndUpdatePlugin(t,i="latest"){return G(this,null,function*(){(yield this.checkHbAndNodeVersion(t,"update"))&&(yield this.updatePlugin(t,i))})}updatePlugin(t,i){return G(this,null,function*(){let n=this.$modal.open(tf,{size:"lg",backdrop:"static"});n.componentInstance.action="Update",n.componentInstance.pluginName=t.name,n.componentInstance.pluginDisplayName=t.displayName,n.componentInstance.targetVersion=i,n.componentInstance.latestVersion=t.latestVersion,n.componentInstance.installedVersion=t.installedVersion,n.componentInstance.isDisabled=t.disabled})}upgradeHomebridge(t,i="latest"){return G(this,null,function*(){if(!(yield this.checkHbAndNodeVersion(t,"update")))return;let n=this.$modal.open(tf,{size:"lg",backdrop:"static"});n.componentInstance.action="Update",n.componentInstance.pluginName=t.name,n.componentInstance.pluginDisplayName=t.displayName,n.componentInstance.targetVersion=i,n.componentInstance.latestVersion=t.latestVersion,n.componentInstance.installedVersion=t.installedVersion})}installAlternateVersion(t){return G(this,null,function*(){let i=this.$modal.open(A6,{size:"lg",backdrop:"static"});i.componentInstance.plugin=t;try{let{action:n,version:f,engines:r}=yield i.result;return(yield this.checkHbAndNodeVersion(Se(X({},t),{updateEngines:r}),n))?t.name==="homebridge"?yield this.upgradeHomebridge(t,f):t.installedVersion?yield this.updatePlugin(t,f):this.installPlugin(t,f):void 0}catch{}})}bridgeSettings(t,i=!1){return G(this,null,function*(){let n;if(t.settingsSchema)try{n=yield this.loadConfigSchema(t.name)}catch(r){console.error(r),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugin_schema"),this.$translate.instant("toast.title_error"));return}let f=this.$modal.open(T6,{size:"lg",backdrop:"static"});f.componentInstance.schema=n,f.componentInstance.plugin=t,f.componentInstance.justInstalled=i})}settings(t){return G(this,null,function*(){let i;if(t.settingsSchema)try{i=yield this.loadConfigSchema(t.name)}catch(f){console.error(f),this.$toastr.error(this.$translate.instant("plugins.toast_failed_to_load_plugin_schema"),this.$translate.instant("toast.title_error"));return}if(i&&i.customUi)return this.$customPluginsService.openCustomSettingsUi(t,i);if(this.$customPluginsService.plugins[t.name])return this.$customPluginsService.openSettings(t,i);let n=this.$modal.open(t.settingsSchema?L6:Jl,{size:"lg",backdrop:"static"});return n.componentInstance.schema=i,n.componentInstance.plugin=t,n.result.catch(()=>{})})}jsonEditor(t){return G(this,null,function*(){let i;if(t.settingsSchema)try{i=yield this.loadConfigSchema(t.name)}catch(f){console.error(f)}let n=this.$modal.open(Jl,{size:"lg",backdrop:"static"});return n.componentInstance.schema=i,n.componentInstance.plugin=t,n.result.catch(f=>console.error(f))})}checkHbAndNodeVersion(t,i){return G(this,null,function*(){let n=!0,f=!0;try{t.updateEngines?.node&&(0,uf.lt)(this.$settings.env.nodeVersion,(0,uf.minVersion)(t.updateEngines.node))&&(n=!1),t.updateEngines?.homebridge&&(0,uf.lt)(this.$settings.env.homebridgeVersion,(0,uf.minVersion)(t.updateEngines.homebridge))&&(f=!1)}catch(r){return console.error(r),this.$toastr.error(r.message,this.$translate.instant("toast.title_error")),!1}if(!n||!f)try{let r=this.$modal.open(O6,{size:"lg",backdrop:"static"});return r.componentInstance.plugin=t,r.componentInstance.isValidNode=n,r.componentInstance.isValidHb=f,r.componentInstance.action=i,yield r.result}catch{return!1}return!0})}loadConfigSchema(t){return G(this,null,function*(){return se(this.$api.get(`/plugins/config-schema/${encodeURIComponent(t)}`))})}resetChildBridges(t){return G(this,null,function*(){let i=this.$modal.open(z6,{size:"lg",backdrop:"static"});i.componentInstance.childBridges=t})}switchToScoped(t){return G(this,null,function*(){let i=this.$modal.open(K6,{size:"lg",backdrop:"static"});i.componentInstance.plugin=t})}static \u0275fac=function(i){return new(i||e)};static \u0275prov=Ot({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();export{Gl as a,ql as b,tt as c,WZ as d,Ke as e,d4 as f,p4 as g,jl as h,sq as i,m4 as j,m6 as k,g6 as l,b6 as m,y6 as n,tf as o,A6 as p,Jl as q,T6 as r,O6 as s,L6 as t,J6 as u,bi as v};
|