homebridge-config-ui-x 5.11.3-beta.0 → 5.11.3-beta.1
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 -0
- package/dist/modules/accessories/accessories.service.js +1 -0
- package/dist/modules/accessories/accessories.service.js.map +1 -1
- package/package.json +2 -2
- package/public/{chunk-IHRICEJT.js → chunk-2VGNMGIR.js} +1 -1
- package/public/chunk-33JY67E7.js +1 -0
- package/public/{chunk-6TQHJYRY.js → chunk-37PRZWAE.js} +1 -1
- package/public/{chunk-RJZU6B73.js → chunk-3ELEQCY4.js} +1 -1
- package/public/chunk-3LPAJLVA.js +1 -0
- package/public/chunk-3U5EVF33.js +1 -0
- package/public/chunk-4MTKU45H.js +1 -0
- package/public/{chunk-GTENKZFZ.js → chunk-537Z3TZH.js} +1 -1
- package/public/chunk-55GLM7AG.js +1 -0
- package/public/chunk-5IUE2SI2.js +1 -0
- package/public/{chunk-LUCN3LNQ.js → chunk-5PYHJIFL.js} +1 -1
- package/public/chunk-6GBRDYWL.js +1 -0
- package/public/chunk-6HBUGTGB.js +1 -0
- package/public/chunk-6IDWI5FN.js +1 -0
- package/public/chunk-6KEEFMT4.js +1 -0
- package/public/chunk-6SGMX4QN.js +1 -0
- package/public/chunk-6U3HDGMV.js +1 -0
- package/public/chunk-7AYXT4NE.js +1 -0
- package/public/chunk-AQQQXM6K.js +1 -0
- package/public/chunk-ARIUPFP4.js +1 -0
- package/public/{chunk-CMILM3GM.js → chunk-AUK5NDCU.js} +1 -1
- package/public/{chunk-IB2WEG65.js → chunk-BU5OWW3D.js} +1 -1
- package/public/{chunk-46MS4ES2.js → chunk-BUFOAAED.js} +1 -1
- package/public/chunk-CQ4V3WTB.js +1 -0
- package/public/{chunk-PY5Y7RE5.js → chunk-CRLXCYA4.js} +1 -1
- package/public/chunk-D5RAEI3L.js +1 -0
- package/public/{chunk-WTG5NVOU.js → chunk-DE6IO5N6.js} +1 -1
- package/public/{chunk-P6DSGS6M.js → chunk-DPQ6DNII.js} +1 -1
- package/public/chunk-ED2WGY4W.js +1 -0
- package/public/{chunk-TS66MDDS.js → chunk-EPDCL7TG.js} +1 -1
- package/public/chunk-EPQ2ZMQD.js +1 -0
- package/public/{chunk-XJL5IKA2.js → chunk-ESL5FTKU.js} +1 -1
- package/public/chunk-F4XK3SMH.js +1 -0
- package/public/chunk-FCWNINXI.js +1 -0
- package/public/chunk-FENK2NPT.js +1 -0
- package/public/{chunk-X7VB3AHW.js → chunk-G6V4QW45.js} +6 -6
- package/public/{chunk-KCTJMMYS.js → chunk-GVEBFYKG.js} +1 -1
- package/public/chunk-HDPCCLQH.js +1 -0
- package/public/{chunk-EEKKVIA4.js → chunk-HFO4CT77.js} +1 -1
- package/public/chunk-HIZVM47C.js +1 -0
- package/public/{chunk-5ZKKHQVJ.js → chunk-HXRHQRO5.js} +1 -1
- package/public/{chunk-YUYO5SVM.js → chunk-IAVNB5BZ.js} +1 -1
- package/public/chunk-IK7P4HIE.js +1 -0
- package/public/{chunk-7XZWXKAH.js → chunk-J2O4Y2AJ.js} +1 -1
- package/public/chunk-J2PDRU7K.js +1 -0
- package/public/chunk-JI773Q2P.js +1 -0
- package/public/chunk-JUCKIM56.js +1 -0
- package/public/{chunk-EA7AESPK.js → chunk-K2QSSLBW.js} +1 -1
- package/public/chunk-K76PH2IQ.js +1 -0
- package/public/chunk-KW5REXT7.js +1 -0
- package/public/chunk-L24NLXV5.js +1 -0
- package/public/chunk-LQGMFKUY.js +1 -0
- package/public/chunk-LWKX6TVU.js +1 -0
- package/public/chunk-LZZD3ZUF.js +1 -0
- package/public/chunk-M7YKGLGD.js +1 -0
- package/public/chunk-MAYAJLFA.js +1 -0
- package/public/{chunk-BHFVACUP.js → chunk-MISBXZWW.js} +1 -1
- package/public/{chunk-MIFZP2ZO.js → chunk-MSZSAJPM.js} +1 -1
- package/public/{chunk-4MCJPZP7.js → chunk-MVGY6YJ7.js} +1 -1
- package/public/chunk-N2IIV3LN.js +1 -0
- package/public/chunk-NSILEQ2V.js +1 -0
- package/public/{chunk-QIJUUUXH.js → chunk-NX6WIDIM.js} +1 -1
- package/public/chunk-NYIFHGIW.js +1 -0
- package/public/chunk-O7IN75B3.js +1 -0
- package/public/{chunk-RGBORGOJ.js → chunk-OOZDDKEF.js} +1 -1
- package/public/chunk-OT3SPW73.js +1 -0
- package/public/chunk-PEAQRV5O.js +1 -0
- package/public/chunk-QFZRFLTG.js +1 -0
- package/public/{chunk-LKFXBTGS.js → chunk-QH4YP6BY.js} +1 -1
- package/public/{chunk-LL6AFVK2.js → chunk-QML5ZVO6.js} +1 -1
- package/public/{chunk-IRKGD364.js → chunk-QR626DFY.js} +1 -1
- package/public/chunk-REC7F4I2.js +1 -0
- package/public/{chunk-5OJY44K7.js → chunk-RJWIR4SV.js} +1 -1
- package/public/{chunk-VQUWQONZ.js → chunk-RMPSPYKI.js} +1 -1
- package/public/{chunk-ADR4S74F.js → chunk-S6WYT7FX.js} +1 -1
- package/public/chunk-SCXXKDXZ.js +1 -0
- package/public/{chunk-VXOUYKAC.js → chunk-TEJ4HGDV.js} +1 -1
- package/public/chunk-TQ2YXTGY.js +1 -0
- package/public/{chunk-R7G2HUC4.js → chunk-U74DXZLS.js} +14 -14
- package/public/chunk-UATGQE6M.js +1 -0
- package/public/{chunk-ARENCESQ.js → chunk-UEO32F46.js} +1 -1
- package/public/chunk-V2IZQE54.js +1 -0
- package/public/chunk-V3I3OYT7.js +1 -0
- package/public/chunk-V3YOVD6B.js +1 -0
- package/public/{chunk-H4W6QAC2.js → chunk-VDDMHLOW.js} +1 -1
- package/public/chunk-VELTPSDH.js +1 -0
- package/public/{chunk-TJCUOGC4.js → chunk-VILWJRZL.js} +1 -1
- package/public/chunk-VLRP57U3.js +1 -0
- package/public/chunk-VU3376IO.js +1 -0
- package/public/chunk-WE2SWTKZ.js +1 -0
- package/public/chunk-WRB2RELR.js +1 -0
- package/public/chunk-XKHWVJWA.js +1 -0
- package/public/chunk-XVXDP3DD.js +1 -0
- package/public/chunk-YNJ5T73B.js +1 -0
- package/public/{chunk-Z5SOQKPW.js → chunk-YTFACH4Z.js} +9 -9
- package/public/{chunk-L4GVG4WS.js → chunk-ZUPFMQG6.js} +1 -1
- package/public/{chunk-5T4R2TG7.js → chunk-ZUXW4PNF.js} +1 -1
- package/public/index.html +1 -1
- package/public/{main-KBV6ZN6L.js → main-XBUEQ7PA.js} +1 -1
- package/public/chunk-4UVYLGCZ.js +0 -1
- package/public/chunk-52X3LPJH.js +0 -1
- package/public/chunk-6DLZEENG.js +0 -1
- package/public/chunk-77S5CL3V.js +0 -1
- package/public/chunk-7BMHIIBT.js +0 -1
- package/public/chunk-7WKZ7EMI.js +0 -1
- package/public/chunk-7WUBDTA6.js +0 -1
- package/public/chunk-B46EWHBD.js +0 -1
- package/public/chunk-B75B723G.js +0 -1
- package/public/chunk-BXRCPOIK.js +0 -1
- package/public/chunk-BZ2QQEKA.js +0 -1
- package/public/chunk-BZ3XB6O4.js +0 -1
- package/public/chunk-CMERG3AC.js +0 -1
- package/public/chunk-CPT52C2F.js +0 -1
- package/public/chunk-ETWBSGPI.js +0 -1
- package/public/chunk-GJG6QZ7P.js +0 -1
- package/public/chunk-GU5F3H4I.js +0 -1
- package/public/chunk-H4WASUXW.js +0 -1
- package/public/chunk-IBUR2RIO.js +0 -1
- package/public/chunk-IP6FLYVL.js +0 -1
- package/public/chunk-IPI77WYV.js +0 -1
- package/public/chunk-J2DDS6ED.js +0 -1
- package/public/chunk-J6ND4K5Q.js +0 -1
- package/public/chunk-JUQRWAIR.js +0 -1
- package/public/chunk-JWUEJV6S.js +0 -1
- package/public/chunk-KFPYUDGJ.js +0 -1
- package/public/chunk-KIRW7NMH.js +0 -1
- package/public/chunk-LKJRMUOE.js +0 -1
- package/public/chunk-LVQWSVHA.js +0 -1
- package/public/chunk-LZ7S7WKH.js +0 -1
- package/public/chunk-MJP4XVUI.js +0 -1
- package/public/chunk-NCFDA3W4.js +0 -1
- package/public/chunk-PAZUAFSZ.js +0 -1
- package/public/chunk-PEUDPLH6.js +0 -1
- package/public/chunk-PHJW3U7W.js +0 -1
- package/public/chunk-QE7VI3JB.js +0 -1
- package/public/chunk-QES44GQE.js +0 -1
- package/public/chunk-R6MQZ2DW.js +0 -1
- package/public/chunk-RESZLSD7.js +0 -1
- package/public/chunk-RGWFM4OK.js +0 -1
- package/public/chunk-RI4GLH22.js +0 -1
- package/public/chunk-RP5JPYDI.js +0 -1
- package/public/chunk-RVWZNTDJ.js +0 -1
- package/public/chunk-RXDY2NMJ.js +0 -1
- package/public/chunk-SDRRZFEQ.js +0 -1
- package/public/chunk-TCUQZ3QO.js +0 -1
- package/public/chunk-TQBVDY26.js +0 -1
- package/public/chunk-U24HWDVU.js +0 -1
- package/public/chunk-U2NM4L2D.js +0 -1
- package/public/chunk-UBRNIXM3.js +0 -1
- package/public/chunk-UWYTPKKV.js +0 -1
- package/public/chunk-W55SP3LJ.js +0 -1
- package/public/chunk-WP3AD6W5.js +0 -1
- package/public/chunk-WPYUSARH.js +0 -1
- package/public/chunk-XPFMPBEG.js +0 -1
- package/public/chunk-Y3PXWRYQ.js +0 -1
- package/public/chunk-Y5WP66WK.js +0 -1
- package/public/chunk-YCQCWGBG.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as Re,c as Te}from"./chunk-G6V4QW45.js";import"./chunk-QR626DFY.js";import{a as Se}from"./chunk-OG2B4MZN.js";import{a as ke}from"./chunk-CLZZPSYM.js";import{a as Be}from"./chunk-CRLXCYA4.js";import"./chunk-MIE7YXOK.js";import"./chunk-37PRZWAE.js";import{a as we,b as Ee,c as Ae}from"./chunk-KTJDR6WA.js";import{m as V,n as Me,t as De}from"./chunk-VILWJRZL.js";import"./chunk-QML5ZVO6.js";import{a as ge}from"./chunk-ZGIZ2UDW.js";import{b as ye}from"./chunk-VDDMHLOW.js";import{D as oe,b as J,c as K,d as Q,e as X,f as Y,g as Z,j as I,m as ee,r as te,s as ie}from"./chunk-537Z3TZH.js";import{b as he}from"./chunk-S6WYT7FX.js";import{C as xe,D as w,I as Ce}from"./chunk-MISBXZWW.js";import{Ab as C,Cb as _e,Db as me,Dc as s,Eb as de,Ec as l,Fb as f,Fc as j,Gb as a,Hb as r,Ib as c,Jb as ce,Kb as fe,Lb as be,Rb as F,Ua as ue,Xb as b,Za as o,Zb as u,_ as se,aa as v,ea as pe,ga as y,ha as M,hc as W,ic as N,jc as P,kc as m,lc as p,mb as le,mc as S,nb as D,rc as z,sa as O,sc as q,tc as U,xc as L,yb as g,yc as ve,zb as x}from"./chunk-VX4RXOTH.js";import{a as k,b as B,h as G}from"./chunk-B4AJQJMI.js";var Fe=(()=>{class t{$activeModal=v(V);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=D({type:t,selectors:[["ng-component"]],decls:42,vars:30,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,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"ms-2","mt-2"],[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"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),m(4),s(5,"translate"),r(),a(6,"button",3),s(7,"translate"),b("click",function(){return i.dismissModal()}),r()(),a(8,"div",4)(9,"div",5),c(10,"i",6),r(),a(11,"h5",7),m(12),s(13,"translate"),r(),a(14,"ul",8)(15,"li"),m(16),s(17,"translate"),r(),a(18,"li"),m(19),s(20,"translate"),r()(),a(21,"h5",9),m(22),s(23,"translate"),r(),a(24,"ul",8)(25,"li"),m(26),s(27,"translate"),r(),a(28,"li"),m(29),s(30,"translate"),r(),a(31,"li"),m(32),s(33,"translate"),r()(),c(34,"app-support-banner"),r(),a(35,"div",10),c(36,"div",11),a(37,"div",12)(38,"button",13),b("click",function(){return i.dismissModal()}),m(39),s(40,"translate"),r()(),c(41,"div",14),r()()()),n&2&&(o(4),p(l(5,10,"support.title")),o(2),g("aria-label",l(7,12,"form.button_close")),o(6),p(l(13,14,"menu.label_accessories")),o(4),p(l(17,16,"accessories.support.acc_1")),o(3),p(l(20,18,"accessories.support.acc_2")),o(3),p(l(23,20,"accessories.title_rooms")),o(4),p(l(27,22,"accessories.support.rooms_1")),o(3),p(l(30,24,"accessories.support.rooms_2")),o(3),p(l(33,26,"accessories.support.rooms_3")),o(7),S(" ",l(40,28,"form.button_close")," "))},dependencies:[Be,w],encapsulation:2})}return t})();var ae=new se("ADD_ROOM_MODAL_DATA"),re=new se("EDIT_ROOM_MODAL_DATA");var Ne=(()=>{class t{$activeModal=v(V);data=v(ae);existingRooms=this.data.existingRooms;roomForm=new Z({roomName:new I("",[Q.required]),isDefault:new I(!1)});ngOnInit(){this.roomForm.controls.roomName.addValidators(this.duplicateRoomNameValidator.bind(this)),this.roomForm.controls.roomName.updateValueAndValidity(),this.existingRooms.length===0&&this.roomForm.patchValue({isDefault:!0})}get noExistingRooms(){return this.existingRooms.length===0}duplicateRoomNameValidator(e){if(!e.value)return null;let n=e.value.trim();return n&&this.existingRooms.some(d=>d.name.trim().toLowerCase()===n.toLowerCase())?{duplicateRoom:!0}:null}dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(){this.roomForm.invalid||this.$activeModal.close({name:this.roomForm.value.roomName?.trim()||"",isDefault:this.roomForm.value.isDefault||!1})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=D({type:t,selectors:[["ng-component"]],decls:36,vars:26,consts:[[1,"modal-content"],[3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-folder-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","","formControlName","roomName",1,"form-control","custom-input"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","isDefault","id","form-default",1,"rendux-input","mb-0",3,"disabled"],["for","form-default",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit","data-bs-dismiss","modal",1,"btn","btn-primary",3,"disabled"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"form",1),b("ngSubmit",function(){return i.closeModal()}),a(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),r(),a(6,"button",4),s(7,"translate"),b("click",function(){return i.dismissModal()}),r()(),a(8,"div",5)(9,"div",6),c(10,"i",7),r(),a(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),r(),a(16,"div",11),c(17,"input",12),r()(),a(18,"li",13)(19,"span",14),m(20),s(21,"translate"),r(),a(22,"div",15),c(23,"input",16),s(24,"translate"),c(25,"label",17),r()()()(),a(26,"div",18)(27,"div",14)(28,"button",19),b("click",function(){return i.dismissModal()}),m(29),s(30,"translate"),r()(),c(31,"div",20),a(32,"div",21)(33,"button",22),m(34),s(35,"translate"),r()()()()()),n&2&&(o(),f("formGroup",i.roomForm),o(3),p(l(5,12,"accessories.button_add_room")),o(2),g("aria-label",l(7,14,"form.button_close")),o(8),p(l(15,16,"accessories.room_name")),o(3),N("is-invalid",i.roomForm.controls.roomName.value&&i.roomForm.controls.roomName.invalid),o(3),p(l(21,18,"accessories.control.default_room")),o(3),f("disabled",i.noExistingRooms),g("aria-label",l(24,20,"accessories.control.default_room")),o(6),S(" ",l(30,22,"form.button_close")," "),o(4),f("disabled",i.roomForm.invalid),o(),S(" ",l(35,24,"form.button_save")," "))},dependencies:[oe,ee,K,J,X,Y,ie,te,w],encapsulation:2})}return t})();var Ie=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=D({type:t,selectors:[["app-drag-here-placeholder"]],decls:5,vars:3,consts:[[1,"accessory-box"],[1,"fas","fa-arrow-alt-circle-down","accessory-icon"],[1,"accessory-label"]],template:function(n,i){n&1&&(ce(0,"div",0),be(1,"i",1),ce(2,"div",2),m(3),s(4,"translate"),fe()()),n&2&&(o(3),p(l(4,1,"accessories.control.drag_here")))},dependencies:[w],styles:[".accessory-box[_ngcontent-%COMP%]{opacity:.2}"]})}return t})();var Ve=t=>({roomName:t});function Pe(t,_){if(t&1&&(a(0,"li"),m(1),s(2,"translate"),r()),t&2){let e=u(2);o(),p(j(2,1,"accessories.delete_room_move_accessories",L(4,Ve,e.targetRoomName)))}}function Le(t,_){if(t&1&&(a(0,"li"),m(1),s(2,"translate"),r()),t&2){let e=u(2);o(),p(j(2,1,"accessories.delete_room_new_default",L(4,Ve,e.newDefaultRoomName)))}}function je(t,_){if(t&1&&(a(0,"div",18)(1,"div",21)(2,"ul",25)(3,"li"),m(4),s(5,"translate"),r(),x(6,Pe,3,6,"li"),x(7,Le,3,6,"li"),r()()()),t&2){let e=u();o(4),p(l(5,3,"accessories.delete_room_confirm")),o(2),C(e.targetRoomName?6:-1),o(),C(e.isDefault&&e.newDefaultRoomName?7:-1)}}var $e=(()=>{class t{$activeModal=v(V);data=v(re);roomName=this.data.roomName;isDefault=this.data.isDefault;existingRooms=this.data.existingRooms;currentRoomIndex=this.data.currentRoomIndex;deleteMode=!1;formWasInvalid=!1;roomForm=new Z({roomName:new I("",[Q.required]),isDefault:new I(!1)});ngOnInit(){this.roomForm.patchValue({roomName:this.roomName,isDefault:this.isDefault}),this.roomForm.controls.roomName.addValidators(this.duplicateRoomNameValidator.bind(this)),this.roomForm.controls.roomName.updateValueAndValidity(),(this.isOnlyRoom||this.isDefault)&&this.roomForm.controls.isDefault.disable()}duplicateRoomNameValidator(e){if(!e.value)return null;let n=e.value.trim();return n&&this.existingRooms.some((d,h)=>h!==this.currentRoomIndex&&d.name.trim().toLowerCase()===n.toLowerCase())?{duplicateRoom:!0}:null}get isOnlyRoom(){return this.existingRooms.length===1}get targetRoomName(){return this.isDefault?this.existingRooms.filter((n,i)=>i!==this.currentRoomIndex)[0]?.name||"":this.existingRooms.find(n=>n.isDefault)?.name||this.existingRooms[0]?.name||""}get newDefaultRoomName(){return this.isDefault&&this.existingRooms.filter((n,i)=>i!==this.currentRoomIndex)[0]?.name||""}toggleDeleteMode(e){this.deleteMode=!this.deleteMode,this.deleteMode?(this.formWasInvalid=this.roomForm.invalid,this.roomForm.disable()):(this.roomForm.enable(),(this.isOnlyRoom||this.isDefault)&&this.roomForm.controls.isDefault.disable()),e.target.blur()}dismissModal(){this.$activeModal.dismiss("Dismiss")}closeModal(){if(!(!this.deleteMode&&this.roomForm.invalid))if(this.deleteMode)this.$activeModal.close({delete:!0});else{let e=this.roomForm.getRawValue();this.$activeModal.close({name:e.roomName?.trim()||"",isDefault:e.isDefault||!1})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=D({type:t,selectors:[["ng-component"]],decls:40,vars:37,consts:[[1,"modal-content"],[3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["autocomplete","off","type","text","id","form-name","autofocus","","formControlName","roomName",1,"form-control","custom-input"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","isDefault","id","form-default",1,"rendux-input","mb-0",3,"disabled"],["for","form-default",1,"rendux-label","ms-3"],[1,"alert","alert-warning","mt-3","mb-0"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","button",1,"btn","btn-elegant","me-2",3,"click","disabled"],["type","submit","data-bs-dismiss","modal",1,"btn",3,"disabled"],[1,"d-inline-block","text-start","mb-0"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"form",1),b("ngSubmit",function(){return i.closeModal()}),a(2,"div",2)(3,"h5",3),m(4),s(5,"translate"),r(),a(6,"button",4),s(7,"translate"),b("click",function(){return i.dismissModal()}),r()(),a(8,"div",5)(9,"div",6),c(10,"i",7),r(),a(11,"ul",8)(12,"li",9)(13,"label",10),m(14),s(15,"translate"),r(),a(16,"div",11),c(17,"input",12),r()(),a(18,"li",13)(19,"span",14),m(20),s(21,"translate"),r(),a(22,"div",15),c(23,"input",16),s(24,"translate"),c(25,"label",17),r()()(),x(26,je,8,5,"div",18),r(),a(27,"div",19)(28,"div",14)(29,"button",20),b("click",function(){return i.dismissModal()}),m(30),s(31,"translate"),r()(),c(32,"div",21),a(33,"div",22)(34,"button",23),s(35,"translate"),b("click",function(h){return i.toggleDeleteMode(h)}),c(36,"i"),r(),a(37,"button",24),m(38),s(39,"translate"),r()()()()()),n&2&&(o(),f("formGroup",i.roomForm),o(3),p(l(5,21,"accessories.button_edit_room")),o(2),g("aria-label",l(7,23,"form.button_close")),o(5),W("opacity",i.deleteMode?"0.25":"1"),o(3),p(l(15,25,"accessories.room_name")),o(3),N("is-invalid",i.roomForm.controls.roomName.value&&i.roomForm.controls.roomName.invalid),o(3),p(l(21,27,"accessories.control.default_room")),o(3),f("disabled",i.isOnlyRoom||i.isDefault),g("aria-label",l(24,29,"accessories.control.default_room")),o(3),C(i.deleteMode?26:-1),o(4),S(" ",l(31,31,"form.button_close")," "),o(4),f("disabled",i.isOnlyRoom),g("aria-label",l(35,33,"accessories.button_delete_room")),o(2),P(i.deleteMode?"fas fa-undo":"fas fa-trash"),o(),P(i.deleteMode?"btn-danger":"btn-primary"),f("disabled",!i.deleteMode&&i.roomForm.invalid),o(),S(" ",l(39,35,i.deleteMode?"form.button_delete":"form.button_save")," "))},dependencies:[oe,ee,K,J,X,Y,ie,te,w],encapsulation:2})}return t})();var He=(t,_)=>({"fa-eye":t,"fa-eye-slash":_}),Ge=t=>({link:t}),We=(t,_)=>_.name;function ze(t,_){if(t&1){let e=F();a(0,"button",8),s(1,"translate"),s(2,"translate"),b("click",function(){y(e);let i=u(2);return M(i.addRoom())}),c(3,"i",9),r(),a(4,"button",8),s(5,"translate"),s(6,"translate"),s(7,"translate"),s(8,"translate"),b("click",function(){y(e);let i=u(2);return M(i.hideHidden.set(!i.hideHidden()))}),c(9,"i",10),r(),a(10,"div",11)(11,"button",12),s(12,"translate"),s(13,"translate"),b("click",function(){y(e);let i=u(2);return M(i.toggleLayoutLock())}),c(14,"i",13),r(),a(15,"button",12),s(16,"translate"),s(17,"translate"),b("click",function(){y(e);let i=u(2);return M(i.toggleLayoutLock())}),c(18,"i",14),r()()}if(t&2){let e=u(2);f("hidden",e.isMobile())("openDelay",150)("ngbTooltip",l(1,18,"accessories.button_add_room")),g("aria-label",l(2,20,"accessories.button_add_room")),o(4),f("hidden",e.isMobile())("openDelay",150)("ngbTooltip",e.hideHidden()?l(5,22,"accessories.button_hidden_show"):l(6,24,"accessories.button_hidden_hide")),g("aria-label",e.hideHidden()?l(7,26,"accessories.button_hidden_show"):l(8,28,"accessories.button_hidden_hide")),o(5),P(ve(38,He,!e.hideHidden(),e.hideHidden())),o(2),f("disabled",!e.isMobile())("openDelay",150)("ngbTooltip",l(12,30,"form.button_unlock")),g("aria-label",l(13,32,"form.button_unlock")),o(4),f("disabled",e.isMobile())("openDelay",150)("ngbTooltip",l(16,34,"form.button_lock")),g("aria-label",l(17,36,"form.button_lock"))}}function qe(t,_){t&1&&c(0,"app-spinner")}function Ue(t,_){if(t&1){let e=F();a(0,"div",0)(1,"div",21)(2,"h5",22),m(3),r(),a(4,"button",23),s(5,"translate"),s(6,"translate"),b("click",function(){y(e);let i=u().$index,d=u(4);return M(d.editRoom(i))}),c(7,"i",24),r()()()}if(t&2){let e=u().$implicit,n=u(4);o(2),N("cursor-move",!n.isMobile()),o(),S(" ",e.name," "),o(),W("visibility",n.isMobile()?"hidden":"visible")("pointer-events",n.isMobile()?"none":"auto"),f("openDelay",150)("ngbTooltip",l(5,10,"accessories.button_edit_room")),g("aria-label",l(6,12,"accessories.button_edit_room"))}}function Je(t,_){if(t&1&&(a(0,"div",27),c(1,"app-accessory-tile",28),r()),t&2){let e=u().$implicit;o(),f("service",e)}}function Ke(t,_){if(t&1&&x(0,Je,2,1,"div",27),t&2){let e=_.$implicit,n=u(6);C(!n.hideHidden()||!e.hidden?0:-1)}}function Qe(t,_){if(t&1){let e=F();a(0,"div",25),U("dragulaModelChange",function(i){y(e);let d=u().$implicit;return q(d.services,i)||(d.services=i),M(i)}),me(1,Ke,1,1,null,null,_e),c(3,"div",26)(4,"div",26)(5,"div",26)(6,"div",26)(7,"div",26)(8,"div",26)(9,"div",26)(10,"div",26)(11,"div",26)(12,"div",26),r()}if(t&2){let e=u().$implicit,n=u(4);N("justify-content-between",n.isMobile()),f("dragula","services-bag"),z("dragulaModel",e.services),o(),de(e.services)}}function Xe(t,_){if(t&1){let e=F();a(0,"div",29),U("dragulaModelChange",function(i){y(e);let d=u().$implicit;return q(d.services,i)||(d.services=i),M(i)}),c(1,"app-drag-here-placeholder",30),r()}if(t&2){let e=u().$implicit;f("dragula","services-bag"),z("dragulaModel",e.services)}}function Ye(t,_){if(t&1&&(a(0,"div"),x(1,Ue,8,14,"div",0),a(2,"div",18),x(3,Qe,13,4,"div",19),x(4,Xe,2,2,"div",20),r()()),t&2){let e=_.$implicit,n=u(4);o(),C(!n.isMobile()||e.services.length?1:-1),o(2),C(e.services.length?3:-1),o(),C(!e.services.length&&!n.isMobile()?4:-1)}}function Ze(t,_){if(t&1){let e=F();a(0,"div",17),U("dragulaModelChange",function(i){y(e);let d=u(3);return q(d.rooms,i)||(d.rooms=i),M(i)}),me(1,Ye,5,3,"div",null,We),r()}if(t&2){let e=u(3);f("dragula","rooms-bag"),z("dragulaModel",e.rooms),o(),de(e.rooms)}}function et(t,_){t&1&&(a(0,"div",16)(1,"div",31)(2,"div",32),c(3,"i",33),r(),a(4,"h5",34),m(5),s(6,"translate"),r(),a(7,"p",35),m(8),s(9,"translate"),r(),a(10,"p",36),m(11),s(12,"translate"),r()()()),t&2&&(o(5),p(l(6,3,"accessories.no_plugins.title")),o(3),p(l(9,5,"accessories.no_plugins.message_1")),o(3),p(l(12,7,"accessories.no_plugins.message_2")))}function tt(t,_){if(t&1&&x(0,Ze,3,2,"div",15)(1,et,13,9,"div",16),t&2){let e=u(2);C(e.hasPlugins()?0:1)}}function it(t,_){if(t&1){let e=F();a(0,"div",1)(1,"div",2)(2,"h3",3),m(3),s(4,"translate"),r()(),a(5,"div",4)(6,"button",5),s(7,"translate"),b("click",function(){y(e);let i=u();return M(i.openSupport())}),c(8,"i",6),r()(),a(9,"div",7),x(10,ze,19,41),a(11,"button",5),s(12,"translate"),b("click",function(){y(e);let i=u();return M(i.openSupport())}),c(13,"i",6),r()()(),x(14,qe,1,0,"app-spinner")(15,tt,2,1)}if(t&2){let e=u();o(3),p(l(4,5,"menu.label_accessories")),o(3),g("aria-label",l(7,7,"support.title")),o(4),C(e.hasPlugins()?10:-1),o(),g("aria-label",l(12,9,"support.title")),o(3),C(e.loading()?14:15)}}function ot(t,_){t&1&&(a(0,"p",42),m(1),s(2,"translate"),r()),t&2&&(o(),p(l(2,1,"accessories.settings_link")))}function nt(t,_){if(t&1&&(a(0,"div",0)(1,"div",37)(2,"h3",38),m(3),s(4,"translate"),r()(),a(5,"div",16)(6,"div",39)(7,"div",32),c(8,"i",40),r(),a(9,"h5",34),m(10),s(11,"translate"),r(),c(12,"p",41),s(13,"translate"),x(14,ot,3,3,"p",42),r()()()),t&2){let e=u();o(3),p(l(4,4,"menu.label_accessories")),o(7),p(l(11,6,"accessories.control_disabled")),o(2),f("innerHTML",j(13,8,"accessories.message_must_use_insecure_mode",L(11,Ge,e.linkInsecure)),ue),o(2),C(e.isAdmin?14:-1)}}var Jt=(()=>{class t{$accessories=v(Re);$api=v(Ce);$auth=v(ye);dragulaService=v(we);injector=v(pe);$modal=v(Me);$settings=v(he);$md=v(ke);$translate=v(xe);isAdmin=this.$auth.user.admin;enableAccessories=this.$settings.env.enableAccessories;isMobile=O(!1);hideHidden=O(!0);linkInsecure='<a href="https://github.com/homebridge/homebridge-config-ui-x/wiki/Enabling-Accessory-Control" target="_blank"><i class="fa fa-external-link-alt primary-text"></i></a>';hasPlugins=O(!1);loading=O(!0);get rooms(){return this.$accessories.rooms()}set rooms(e){this.$accessories.rooms.set(e)}constructor(){let e=this.dragulaService;this.isMobile.set(this.$md.detect.mobile()),e.createGroup("rooms-bag",{moves:(n,i,d)=>!this.isMobile()&&d.classList.contains("drag-handle")}),e.createGroup("services-bag",{moves:n=>!this.isMobile()&&!n.classList.contains("no-drag")}),e.drop().pipe(ge()).subscribe(()=>{setTimeout(()=>{this.$accessories.saveLayout()})}),this.isMobile.set(!0)}ngOnInit(){let e=this.$translate.instant("menu.label_accessories");this.$settings.setPageTitle(e),this.$accessories.start(),this.checkForPlugins()}addRoom(){return G(this,null,function*(){let e=le([{provide:ae,useValue:{existingRooms:this.$accessories.rooms()}}],this.injector),n=this.$modal.open(Ne,{size:"lg",backdrop:"static",injector:e});try{let i=yield n.result;if(!i?.name||!i.name.length)return;i.isDefault&&this.$accessories.rooms.update(d=>d.map(h=>B(k({},h),{isDefault:!1}))),this.$accessories.rooms.update(d=>[...d,{name:i.name,isDefault:i.isDefault,services:[]}]),this.$accessories.saveLayout(),this.isMobile()&&this.toggleLayoutLock()}catch{}})}editRoom(e){return G(this,null,function*(){let n=this.$accessories.rooms()[e];if(!n)return;let i=le([{provide:re,useValue:{roomName:n.name,isDefault:n.isDefault||!1,existingRooms:this.$accessories.rooms(),currentRoomIndex:e}}],this.injector),d=this.$modal.open($e,{size:"lg",backdrop:"static",injector:i});try{let h=yield d.result;if(h?.delete){let R=this.$accessories.rooms()[e];if(!R)return;let E;if(R.isDefault)E=e===0?1:0;else{let T=this.$accessories.rooms().findIndex(A=>A.isDefault);E=T!==-1?T:0}R.isDefault&&this.$accessories.rooms.update(T=>T.map((A,$)=>$===E?B(k({},A),{isDefault:!0}):B(k({},A),{isDefault:!1})));let H=R.services;H.length>0&&this.$accessories.rooms.update(T=>T.map((A,$)=>$===E?B(k({},A),{services:[...A.services,...H]}):A)),this.$accessories.rooms.update(T=>T.filter((A,$)=>$!==e)),this.$accessories.saveLayout();return}if(!h?.name||!h.name.length)return;h.isDefault&&this.$accessories.rooms.update(R=>R.map(E=>B(k({},E),{isDefault:!1}))),this.$accessories.rooms.update(R=>R.map((E,H)=>H===e?B(k({},E),{name:h.name,isDefault:h.isDefault}):E)),this.$accessories.saveLayout()}catch{}})}toggleLayoutLock(){this.isMobile.set(!this.isMobile()),this.isMobile()?document.querySelectorAll(".services-bag").forEach(n=>{for(let i=0;i<10;i+=1){let d=document.createElement("div");d.className="accessory-box invisible py-0 my-0",d.style.height="0",n.appendChild(d)}}):document.querySelectorAll(".invisible").forEach(n=>n.remove())}openSupport(){this.$modal.open(Fe,{size:"lg",backdrop:"static"})}ngOnDestroy(){this.$accessories.stop(),this.dragulaService.destroy("rooms-bag"),this.dragulaService.destroy("services-bag")}checkForPlugins(){return G(this,null,function*(){try{let e=yield this.$api.get("/plugins");this.hasPlugins.set(e.length>1)}catch(e){console.error(e),this.hasPlugins.set(!0)}finally{this.loading.set(!1)}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=D({type:t,selectors:[["app-accessories"]],decls:2,vars:1,consts:[[1,"row"],[1,"row","mb-3"],[1,"col-9","col-sm-6"],[1,"primary-text","m-0"],[1,"col-3","col-sm-6","text-end","d-inline-block","d-sm-none"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[1,"col-3","col-sm-6","text-end","d-none","d-sm-inline-block"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","hidden","openDelay","ngbTooltip"],[1,"fas","fa-folder-plus"],[1,"fas"],["role","group",1,"btn-group","me-2"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0",3,"click","disabled","openDelay","ngbTooltip"],[1,"fas","fa-unlock"],[1,"fas","fa-lock"],[3,"dragula","dragulaModel"],[1,"col-12","text-center"],[3,"dragulaModelChange","dragula","dragulaModel"],[1,"row","mb-4"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"justify-content-between","dragula","dragulaModel"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragula","dragulaModel"],[1,"col-md-12","d-flex","align-items-center"],[1,"primary-text","drag-handle","room-title","m-0","mb-1","mb-sm-0","flex-grow-1"],["type","button","container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","ms-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-cog"],[1,"col-md-12","d-flex","flex-wrap","noselect","services-bag",3,"dragulaModelChange","dragula","dragulaModel"],[1,"accessory-box","invisible","py-0","my-0",2,"height","0"],[1,"accessory-item","accessory-tab"],[3,"service"],[1,"col-md-12","d-flex","flex-wrap","noselect",3,"dragulaModelChange","dragula","dragulaModel"],[1,"no-drag"],["role","alert",1,"alert","alert-warning","p-5"],[1,"text-center","mb-3"],[1,"fas","fa-plug","primary-text",2,"font-size","75px"],[1,"mb-3","mt-0"],[1,"mb-0","small"],[1,"mb-0","small","mt-2"],[1,"col-12"],[1,"primary-text","m-0","mb-3"],["role","alert",1,"alert","alert-warning","p-4"],[1,"fas","fa-lightbulb","primary-text",2,"font-size","75px"],[1,"mb-0","small",3,"innerHTML"],[1,"mt-2","mb-0","small"]],template:function(n,i){n&1&&x(0,it,16,11)(1,nt,15,13,"div",0),n&2&&C(i.enableAccessories?0:1)},dependencies:[De,Ae,Ee,Te,Ie,Se,w],styles:[".room-title[_ngcontent-%COMP%]{margin-left:10px}@media(max-width:575px){.room-title[_ngcontent-%COMP%]{margin-left:7px}}.services-bag[_ngcontent-%COMP%]{min-height:170px}@media(max-width:575px){.services-bag[_ngcontent-%COMP%]{min-height:initial}}.cursor-move[_ngcontent-%COMP%]{cursor:move}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return t})();export{Jt as AccessoriesComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as c}from"./chunk-
|
|
1
|
+
import{b as c}from"./chunk-VDDMHLOW.js";import{H as r}from"./chunk-MISBXZWW.js";import{X as a,aa as o}from"./chunk-VX4RXOTH.js";import{h as i}from"./chunk-B4AJQJMI.js";var h=(()=>{class t{cache=null;CACHE_DURATION_MS=6e4;getToken(){let n=Date.now();if(this.cache&&n-this.cache.timestamp<this.CACHE_DURATION_MS)return this.cache.token;let e=window.localStorage.getItem(r.jwt.tokenKey);return this.cache={token:e,timestamp:n},e}invalidateCache(){this.cache=null}static \u0275fac=function(e){return new(e||t)};static \u0275prov=a({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var p=(()=>{class t{$auth=o(c);$tokenCache=o(h);isAuthenticated(){return i(this,null,function*(){if(!this.$tokenCache.getToken())return this.$auth.token=null,this.$auth.user={},this.$tokenCache.invalidateCache(),!1;try{let e=this.$auth.isLoggedIn();return e||(this.$auth.token=null,this.$auth.user={},this.$tokenCache.invalidateCache()),e}catch{return console.warn("Token validation error, clearing auth state"),this.$auth.logout(),this.$tokenCache.invalidateCache(),!1}})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=a({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();export{p as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{w as ue}from"./chunk-MIE7YXOK.js";import{m as du}from"./chunk-TJCUOGC4.js";import{e as Zu}from"./chunk-LL6AFVK2.js";import{b as Yu}from"./chunk-ADR4S74F.js";import{C as Qu,D as lu,F as Wu,I as Xu}from"./chunk-BHFVACUP.js";import{Ab as Ju,Cb as qu,Db as Gu,Dc as T,Eb as Ku,Ec as M,Jb as g,Kb as N,Lb as q,Yb as Z,Za as p,Zb as wu,aa as V,hc as Uu,kc as j,lc as nu,mc as Q,nb as fu,yb as tu,zb as zu}from"./chunk-VX4RXOTH.js";import{a as Su,b as ku,e as He,h as Hu}from"./chunk-B4AJQJMI.js";var Ke=He((Pu,Nu)=>{(function(F,B){typeof Pu=="object"&&typeof Nu<"u"?Nu.exports=B():typeof define=="function"&&define.amd?define(B):F.JSON5=B()})(Pu,function(){"use strict";function F(u,e){return e={exports:{}},u(e,e.exports),e.exports}var B=F(function(u){var e=u.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=e)}),l=F(function(u){var e=u.exports={version:"2.6.5"};typeof __e=="number"&&(__e=e)}),I=l.version,b=function(u){return typeof u=="object"?u!==null:typeof u=="function"},G=function(u){if(!b(u))throw TypeError(u+" is not an object!");return u},Iu=function(u){try{return!!u()}catch{return!0}},Bu=!Iu(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}),mu=B.document,ee=b(mu)&&b(mu.createElement),te=function(u){return ee?mu.createElement(u):{}},De=!Bu&&!Iu(function(){return Object.defineProperty(te("div"),"a",{get:function(){return 7}}).a!=7}),re=function(u,e){if(!b(u))return u;var r,D;if(e&&typeof(r=u.toString)=="function"&&!b(D=r.call(u))||typeof(r=u.valueOf)=="function"&&!b(D=r.call(u))||!e&&typeof(r=u.toString)=="function"&&!b(D=r.call(u)))return D;throw TypeError("Can't convert object to primitive value")},ne=Object.defineProperty,ie=Bu?Object.defineProperty:function(e,r,D){if(G(e),r=re(r,!0),G(D),De)try{return ne(e,r,D)}catch{}if("get"in D||"set"in D)throw TypeError("Accessors not supported!");return"value"in D&&(e[r]=D.value),e},ae={f:ie},oe=function(u,e){return{enumerable:!(u&1),configurable:!(u&2),writable:!(u&4),value:e}},iu=Bu?function(u,e,r){return ae.f(u,e,oe(1,r))}:function(u,e,r){return u[e]=r,u},Ce={}.hasOwnProperty,Tu=function(u,e){return Ce.call(u,e)},Fe=0,se=Math.random(),Ae=function(u){return"Symbol(".concat(u===void 0?"":u,")_",(++Fe+se).toString(36))},Ee=!1,ce=F(function(u){var e="__core-js_shared__",r=B[e]||(B[e]={});(u.exports=function(D,n){return r[D]||(r[D]=n!==void 0?n:{})})("versions",[]).push({version:l.version,mode:Ee?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})}),pu=ce("native-function-to-string",Function.toString),fe=F(function(u){var e=Ae("src"),r="toString",D=(""+pu).split(r);l.inspectSource=function(n){return pu.call(n)},(u.exports=function(n,C,A,w){var m=typeof A=="function";m&&(Tu(A,"name")||iu(A,"name",C)),n[C]!==A&&(m&&(Tu(A,e)||iu(A,e,n[C]?""+n[C]:D.join(String(C)))),n===B?n[C]=A:w?n[C]?n[C]=A:iu(n,C,A):(delete n[C],iu(n,C,A)))})(Function.prototype,r,function(){return typeof this=="function"&&this[e]||pu.call(this)})}),le=function(u){if(typeof u!="function")throw TypeError(u+" is not a function!");return u},Mu=function(u,e,r){if(le(u),e===void 0)return u;switch(r){case 1:return function(D){return u.call(e,D)};case 2:return function(D,n){return u.call(e,D,n)};case 3:return function(D,n,C){return u.call(e,D,n,C)}}return function(){return u.apply(e,arguments)}},vu="prototype",x=function(u,e,r){var D=u&x.F,n=u&x.G,C=u&x.S,A=u&x.P,w=u&x.B,m=n?B:C?B[e]||(B[e]={}):(B[e]||{})[vu],Y=n?l:l[e]||(l[e]={}),Du=Y[vu]||(Y[vu]={}),O,R,P,ru;n&&(r=e);for(O in r)R=!D&&m&&m[O]!==void 0,P=(R?m:r)[O],ru=w&&R?Mu(P,B):A&&typeof P=="function"?Mu(Function.call,P):P,m&&fe(m,O,P,u&x.U),Y[O]!=P&&iu(Y,O,ru),A&&Du[O]!=P&&(Du[O]=P)};B.core=l,x.F=1,x.G=2,x.S=4,x.P=8,x.B=16,x.W=32,x.U=64,x.R=128;var au=x,de=Math.ceil,Be=Math.floor,ju=function(u){return isNaN(u=+u)?0:(u>0?Be:de)(u)},me=function(u){if(u==null)throw TypeError("Can't call method on "+u);return u},pe=function(u){return function(e,r){var D=String(me(e)),n=ju(r),C=D.length,A,w;return n<0||n>=C?u?"":void 0:(A=D.charCodeAt(n),A<55296||A>56319||n+1===C||(w=D.charCodeAt(n+1))<56320||w>57343?u?D.charAt(n):A:u?D.slice(n,n+2):(A-55296<<10)+(w-56320)+65536)}},ve=pe(!1);au(au.P,"String",{codePointAt:function(e){return ve(this,e)}});var Ue=l.String.codePointAt,ge=Math.max,he=Math.min,be=function(u,e){return u=ju(u),u<0?ge(u+e,0):he(u,e)},$u=String.fromCharCode,Ou=String.fromCodePoint;au(au.S+au.F*(!!Ou&&Ou.length!=1),"String",{fromCodePoint:function(e){for(var r=arguments,D=[],n=arguments.length,C=0,A;n>C;){if(A=+r[C++],be(A,1114111)!==A)throw RangeError(A+" is not a valid code point");D.push(A<65536?$u(A):$u(((A-=65536)>>10)+55296,A%1024+56320))}return D.join("")}});var Ze=l.String.fromCodePoint,ye=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,_e=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,xe=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,gu={Space_Separator:ye,ID_Start:_e,ID_Continue:xe},d={isSpaceSeparator:function(e){return typeof e=="string"&&gu.Space_Separator.test(e)},isIdStartChar:function(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||gu.ID_Start.test(e))},isIdContinueChar:function(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||gu.ID_Continue.test(e))},isDigit:function(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit:function(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}},hu,S,k,Fu,K,$,v,bu,ou,Se=function(e,r){hu=String(e),S="start",k=[],Fu=0,K=1,$=0,v=void 0,bu=void 0,ou=void 0;do v=we(),Ie[S]();while(v.type!=="eof");return typeof r=="function"?yu({"":ou},"",r):ou};function yu(u,e,r){var D=u[e];if(D!=null&&typeof D=="object")if(Array.isArray(D))for(var n=0;n<D.length;n++){var C=String(n),A=yu(D,C,r);A===void 0?delete D[C]:Object.defineProperty(D,C,{value:A,writable:!0,enumerable:!0,configurable:!0})}else for(var w in D){var m=yu(D,w,r);m===void 0?delete D[w]:Object.defineProperty(D,w,{value:m,writable:!0,enumerable:!0,configurable:!0})}return r.call(u,e,D)}var o,i,Cu,H,s;function we(){for(o="default",i="",Cu=!1,H=1;;){s=z();var u=Lu[o]();if(u)return u}}function z(){if(hu[Fu])return String.fromCodePoint(hu.codePointAt(Fu))}function t(){var u=z();return u===`
|
|
1
|
+
import{w as ue}from"./chunk-MIE7YXOK.js";import{m as du}from"./chunk-VILWJRZL.js";import{e as Zu}from"./chunk-QML5ZVO6.js";import{b as Yu}from"./chunk-S6WYT7FX.js";import{C as Qu,D as lu,F as Wu,I as Xu}from"./chunk-MISBXZWW.js";import{Ab as Ju,Cb as qu,Db as Gu,Dc as T,Eb as Ku,Ec as M,Jb as g,Kb as N,Lb as q,Yb as Z,Za as p,Zb as wu,aa as V,hc as Uu,kc as j,lc as nu,mc as Q,nb as fu,yb as tu,zb as zu}from"./chunk-VX4RXOTH.js";import{a as Su,b as ku,e as He,h as Hu}from"./chunk-B4AJQJMI.js";var Ke=He((Pu,Nu)=>{(function(F,B){typeof Pu=="object"&&typeof Nu<"u"?Nu.exports=B():typeof define=="function"&&define.amd?define(B):F.JSON5=B()})(Pu,function(){"use strict";function F(u,e){return e={exports:{}},u(e,e.exports),e.exports}var B=F(function(u){var e=u.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=e)}),l=F(function(u){var e=u.exports={version:"2.6.5"};typeof __e=="number"&&(__e=e)}),I=l.version,b=function(u){return typeof u=="object"?u!==null:typeof u=="function"},G=function(u){if(!b(u))throw TypeError(u+" is not an object!");return u},Iu=function(u){try{return!!u()}catch{return!0}},Bu=!Iu(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7}),mu=B.document,ee=b(mu)&&b(mu.createElement),te=function(u){return ee?mu.createElement(u):{}},De=!Bu&&!Iu(function(){return Object.defineProperty(te("div"),"a",{get:function(){return 7}}).a!=7}),re=function(u,e){if(!b(u))return u;var r,D;if(e&&typeof(r=u.toString)=="function"&&!b(D=r.call(u))||typeof(r=u.valueOf)=="function"&&!b(D=r.call(u))||!e&&typeof(r=u.toString)=="function"&&!b(D=r.call(u)))return D;throw TypeError("Can't convert object to primitive value")},ne=Object.defineProperty,ie=Bu?Object.defineProperty:function(e,r,D){if(G(e),r=re(r,!0),G(D),De)try{return ne(e,r,D)}catch{}if("get"in D||"set"in D)throw TypeError("Accessors not supported!");return"value"in D&&(e[r]=D.value),e},ae={f:ie},oe=function(u,e){return{enumerable:!(u&1),configurable:!(u&2),writable:!(u&4),value:e}},iu=Bu?function(u,e,r){return ae.f(u,e,oe(1,r))}:function(u,e,r){return u[e]=r,u},Ce={}.hasOwnProperty,Tu=function(u,e){return Ce.call(u,e)},Fe=0,se=Math.random(),Ae=function(u){return"Symbol(".concat(u===void 0?"":u,")_",(++Fe+se).toString(36))},Ee=!1,ce=F(function(u){var e="__core-js_shared__",r=B[e]||(B[e]={});(u.exports=function(D,n){return r[D]||(r[D]=n!==void 0?n:{})})("versions",[]).push({version:l.version,mode:Ee?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})}),pu=ce("native-function-to-string",Function.toString),fe=F(function(u){var e=Ae("src"),r="toString",D=(""+pu).split(r);l.inspectSource=function(n){return pu.call(n)},(u.exports=function(n,C,A,w){var m=typeof A=="function";m&&(Tu(A,"name")||iu(A,"name",C)),n[C]!==A&&(m&&(Tu(A,e)||iu(A,e,n[C]?""+n[C]:D.join(String(C)))),n===B?n[C]=A:w?n[C]?n[C]=A:iu(n,C,A):(delete n[C],iu(n,C,A)))})(Function.prototype,r,function(){return typeof this=="function"&&this[e]||pu.call(this)})}),le=function(u){if(typeof u!="function")throw TypeError(u+" is not a function!");return u},Mu=function(u,e,r){if(le(u),e===void 0)return u;switch(r){case 1:return function(D){return u.call(e,D)};case 2:return function(D,n){return u.call(e,D,n)};case 3:return function(D,n,C){return u.call(e,D,n,C)}}return function(){return u.apply(e,arguments)}},vu="prototype",x=function(u,e,r){var D=u&x.F,n=u&x.G,C=u&x.S,A=u&x.P,w=u&x.B,m=n?B:C?B[e]||(B[e]={}):(B[e]||{})[vu],Y=n?l:l[e]||(l[e]={}),Du=Y[vu]||(Y[vu]={}),O,R,P,ru;n&&(r=e);for(O in r)R=!D&&m&&m[O]!==void 0,P=(R?m:r)[O],ru=w&&R?Mu(P,B):A&&typeof P=="function"?Mu(Function.call,P):P,m&&fe(m,O,P,u&x.U),Y[O]!=P&&iu(Y,O,ru),A&&Du[O]!=P&&(Du[O]=P)};B.core=l,x.F=1,x.G=2,x.S=4,x.P=8,x.B=16,x.W=32,x.U=64,x.R=128;var au=x,de=Math.ceil,Be=Math.floor,ju=function(u){return isNaN(u=+u)?0:(u>0?Be:de)(u)},me=function(u){if(u==null)throw TypeError("Can't call method on "+u);return u},pe=function(u){return function(e,r){var D=String(me(e)),n=ju(r),C=D.length,A,w;return n<0||n>=C?u?"":void 0:(A=D.charCodeAt(n),A<55296||A>56319||n+1===C||(w=D.charCodeAt(n+1))<56320||w>57343?u?D.charAt(n):A:u?D.slice(n,n+2):(A-55296<<10)+(w-56320)+65536)}},ve=pe(!1);au(au.P,"String",{codePointAt:function(e){return ve(this,e)}});var Ue=l.String.codePointAt,ge=Math.max,he=Math.min,be=function(u,e){return u=ju(u),u<0?ge(u+e,0):he(u,e)},$u=String.fromCharCode,Ou=String.fromCodePoint;au(au.S+au.F*(!!Ou&&Ou.length!=1),"String",{fromCodePoint:function(e){for(var r=arguments,D=[],n=arguments.length,C=0,A;n>C;){if(A=+r[C++],be(A,1114111)!==A)throw RangeError(A+" is not a valid code point");D.push(A<65536?$u(A):$u(((A-=65536)>>10)+55296,A%1024+56320))}return D.join("")}});var Ze=l.String.fromCodePoint,ye=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,_e=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,xe=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,gu={Space_Separator:ye,ID_Start:_e,ID_Continue:xe},d={isSpaceSeparator:function(e){return typeof e=="string"&&gu.Space_Separator.test(e)},isIdStartChar:function(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||gu.ID_Start.test(e))},isIdContinueChar:function(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||gu.ID_Continue.test(e))},isDigit:function(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit:function(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}},hu,S,k,Fu,K,$,v,bu,ou,Se=function(e,r){hu=String(e),S="start",k=[],Fu=0,K=1,$=0,v=void 0,bu=void 0,ou=void 0;do v=we(),Ie[S]();while(v.type!=="eof");return typeof r=="function"?yu({"":ou},"",r):ou};function yu(u,e,r){var D=u[e];if(D!=null&&typeof D=="object")if(Array.isArray(D))for(var n=0;n<D.length;n++){var C=String(n),A=yu(D,C,r);A===void 0?delete D[C]:Object.defineProperty(D,C,{value:A,writable:!0,enumerable:!0,configurable:!0})}else for(var w in D){var m=yu(D,w,r);m===void 0?delete D[w]:Object.defineProperty(D,w,{value:m,writable:!0,enumerable:!0,configurable:!0})}return r.call(u,e,D)}var o,i,Cu,H,s;function we(){for(o="default",i="",Cu=!1,H=1;;){s=z();var u=Lu[o]();if(u)return u}}function z(){if(hu[Fu])return String.fromCodePoint(hu.codePointAt(Fu))}function t(){var u=z();return u===`
|
|
2
2
|
`?(K++,$=0):u?$+=u.length:$++,u&&(Fu+=u.length),u}var Lu={default:function(){switch(s){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case`
|
|
3
3
|
`:case"\r":case"\u2028":case"\u2029":t();return;case"/":t(),o="comment";return;case void 0:return t(),c("eof")}if(d.isSpaceSeparator(s)){t();return}return Lu[S]()},comment:function(){switch(s){case"*":t(),o="multiLineComment";return;case"/":t(),o="singleLineComment";return}throw f(t())},multiLineComment:function(){switch(s){case"*":t(),o="multiLineCommentAsterisk";return;case void 0:throw f(t())}t()},multiLineCommentAsterisk:function(){switch(s){case"*":t();return;case"/":t(),o="default";return;case void 0:throw f(t())}t(),o="multiLineComment"},singleLineComment:function(){switch(s){case`
|
|
4
4
|
`:case"\r":case"\u2028":case"\u2029":t(),o="default";return;case void 0:return t(),c("eof")}t()},value:function(){switch(s){case"{":case"[":return c("punctuator",t());case"n":return t(),W("ull"),c("null",null);case"t":return t(),W("rue"),c("boolean",!0);case"f":return t(),W("alse"),c("boolean",!1);case"-":case"+":t()==="-"&&(H=-1),o="sign";return;case".":i=t(),o="decimalPointLeading";return;case"0":i=t(),o="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":i=t(),o="decimalInteger";return;case"I":return t(),W("nfinity"),c("numeric",1/0);case"N":return t(),W("aN"),c("numeric",NaN);case'"':case"'":Cu=t()==='"',i="",o="string";return}throw f(t())},identifierNameStartEscape:function(){if(s!=="u")throw f(t());t();var e=_u();switch(e){case"$":case"_":break;default:if(!d.isIdStartChar(e))throw Ru();break}i+=e,o="identifierName"},identifierName:function(){switch(s){case"$":case"_":case"\u200C":case"\u200D":i+=t();return;case"\\":t(),o="identifierNameEscape";return}if(d.isIdContinueChar(s)){i+=t();return}return c("identifier",i)},identifierNameEscape:function(){if(s!=="u")throw f(t());t();var e=_u();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!d.isIdContinueChar(e))throw Ru();break}i+=e,o="identifierName"},sign:function(){switch(s){case".":i=t(),o="decimalPointLeading";return;case"0":i=t(),o="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":i=t(),o="decimalInteger";return;case"I":return t(),W("nfinity"),c("numeric",H*(1/0));case"N":return t(),W("aN"),c("numeric",NaN)}throw f(t())},zero:function(){switch(s){case".":i+=t(),o="decimalPoint";return;case"e":case"E":i+=t(),o="decimalExponent";return;case"x":case"X":i+=t(),o="hexadecimal";return}return c("numeric",H*0)},decimalInteger:function(){switch(s){case".":i+=t(),o="decimalPoint";return;case"e":case"E":i+=t(),o="decimalExponent";return}if(d.isDigit(s)){i+=t();return}return c("numeric",H*Number(i))},decimalPointLeading:function(){if(d.isDigit(s)){i+=t(),o="decimalFraction";return}throw f(t())},decimalPoint:function(){switch(s){case"e":case"E":i+=t(),o="decimalExponent";return}if(d.isDigit(s)){i+=t(),o="decimalFraction";return}return c("numeric",H*Number(i))},decimalFraction:function(){switch(s){case"e":case"E":i+=t(),o="decimalExponent";return}if(d.isDigit(s)){i+=t();return}return c("numeric",H*Number(i))},decimalExponent:function(){switch(s){case"+":case"-":i+=t(),o="decimalExponentSign";return}if(d.isDigit(s)){i+=t(),o="decimalExponentInteger";return}throw f(t())},decimalExponentSign:function(){if(d.isDigit(s)){i+=t(),o="decimalExponentInteger";return}throw f(t())},decimalExponentInteger:function(){if(d.isDigit(s)){i+=t();return}return c("numeric",H*Number(i))},hexadecimal:function(){if(d.isHexDigit(s)){i+=t(),o="hexadecimalInteger";return}throw f(t())},hexadecimalInteger:function(){if(d.isHexDigit(s)){i+=t();return}return c("numeric",H*Number(i))},string:function(){switch(s){case"\\":t(),i+=Pe();return;case'"':if(Cu)return t(),c("string",i);i+=t();return;case"'":if(!Cu)return t(),c("string",i);i+=t();return;case`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Ce}from"./chunk-H2Z7V5LU.js";import{a as we}from"./chunk-PY5Y7RE5.js";import{n as R}from"./chunk-MIE7YXOK.js";import{g as ie,m as F,n as xe}from"./chunk-TJCUOGC4.js";import{c as be}from"./chunk-LL6AFVK2.js";import{a as fe}from"./chunk-ZGIZ2UDW.js";import{b as K}from"./chunk-H4W6QAC2.js";import{B as ve,C as G,D as z,b as W,c as N,d as g,e as j,f as X,g as P,j as E,m as Y,q as Z,r as ee,s as te}from"./chunk-GTENKZFZ.js";import{a as Te,b as _e}from"./chunk-ADR4S74F.js";import{C as D,D as U,F as I,I as V}from"./chunk-BHFVACUP.js";import{Ab as h,Cb as oe,Db as se,Dc as o,Eb as le,Ec as s,Fb as y,Fc as ue,Gb as a,Hb as i,Ib as c,Jb as $,Kb as k,Lb as q,Rb as A,Sb as H,Xb as _,Yb as L,Za as e,Zb as f,aa as p,ea as ae,ga as B,ha as M,ic as O,jc as me,kc as m,lc as d,ma as re,mb as Q,mc as v,nb as S,nc as de,sa as T,xc as pe,yb as u,yc as ce,zb as w}from"./chunk-VX4RXOTH.js";import{g as Ue,h as C}from"./chunk-B4AJQJMI.js";function ke(n,x){n&1&&(a(0,"ngb-alert",13)(1,"p",20),m(2),o(3,"translate"),i()()),n&2&&(y("dismissible",!1),e(2),d(s(3,2,"login.invalid_password")))}var he=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);invalidCredentials=T(!1);formGroup=new P({password:new E("",[g.required])});disable2fa(){return C(this,null,function*(){this.invalidCredentials.set(!1);try{yield this.$api.post("/users/otp/deactivate",this.formGroup.value),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))}catch{this.formGroup.setValue({password:""}),this.invalidCredentials.set(!0)}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:34,vars:27,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,"text-center","mb-3"],[1,"fas","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[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-danger",3,"click","disabled"],[1,"mb-0"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(4,"translate"),i(),a(5,"button",3),o(6,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(7,"div",4)(8,"div",5),c(9,"i",6),i(),a(10,"ul",7)(11,"li"),m(12),o(13,"translate"),i()(),a(14,"ul",8)(15,"li",9)(16,"label",10),m(17),o(18,"translate"),i(),a(19,"div",11),c(20,"input",12),o(21,"translate"),i()()(),w(22,ke,4,4,"ngb-alert",13),i(),a(23,"div",14)(24,"div",15)(25,"button",16),o(26,"translate"),_("click",function(){return r.dismissModal()}),m(27),o(28,"translate"),i()(),c(29,"div",17),a(30,"div",18)(31,"button",19),_("click",function(){return r.disable2fa()}),m(32),o(33,"translate"),i()()()()),l&2&&(e(3),d(s(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",s(6,13,"form.button_close")),e(7),d(s(13,15,"users.setup_2fa_disable_current_password")),e(5),d(s(18,17,"users.label_password")),e(3),y("formControl",r.formGroup.controls.password)("placeholder",s(21,19,"users.label_password")),e(2),h(r.invalidCredentials()&&!r.formGroup.controls.password.value?22:-1),e(3),u("aria-label",s(26,21,"form.button_close")),e(2),v(" ",s(28,23,"form.button_close")," "),e(4),y("disabled",r.formGroup.invalid),e(),v(" ",s(33,25,"form.button_disable")," "))},dependencies:[G,N,j,z,Z,ie,U],encapsulation:2})}return n})();var ge=Ue(Te(),1);var Be=n=>({timeDiffError:n});function Me(n,x){n&1&&(a(0,"li"),m(1),o(2,"translate"),i()),n&2&&(e(),d(s(2,1,"users.setup_2fa_scan_qr_code")))}function De(n,x){if(n&1&&(a(0,"ngb-alert",8)(1,"p",16),m(2),o(3,"translate"),i(),a(4,"p",17),m(5),o(6,"translate"),i()()),n&2){let t=f();y("dismissible",!1),e(2),d(s(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(ue(6,5,"users.setup_2fa_server_time_out",pe(8,Be,t.timeDiffError())))}}function Ie(n,x){n&1&&c(0,"i",27)}function Ve(n,x){n&1&&c(0,"i",28)}function Fe(n,x){if(n&1){let t=A();a(0,"div",21),m(1),o(2,"translate"),c(3,"br"),m(4),a(5,"a",26),_("click",function(){B(t);let r=f(2);return M(r.copySecretToClipboard())}),w(6,Ie,1,0,"i",27)(7,Ve,1,0,"i",28),i()()}if(n&2){let t=f(2);e(),v(" ",s(2,3,"users.setup_2fa_scan_qr_manual")),e(3),v(" ",t.otpSecret()," "),e(2),h(t.secretCopied()?6:7)}}function Ae(n,x){if(n&1&&(a(0,"ul",9)(1,"li",18)(2,"div",19),c(3,"app-qrcode",20),i(),w(4,Fe,8,5,"div",21),i(),a(5,"li",22)(6,"label",23),m(7),o(8,"translate"),i(),a(9,"div",24),c(10,"input",25),i()()()),n&2){let t=f();e(3),y("data",t.otpString()),e(),h(t.otpSecret()?4:-1),e(3),d(s(8,4,"users.setup_2fa_enter_code")),e(3),y("formControl",t.formGroup.controls.code)}}function Ne(n,x){if(n&1){let t=A();a(0,"button",29),o(1,"translate"),_("click",function(){B(t);let r=f();return M(r.dismissModal())}),m(2),o(3,"translate"),i()}n&2&&(u("aria-label",s(1,2,"form.button_close")),e(2),v(" ",s(3,4,"form.button_close")," "))}function je(n,x){if(n&1){let t=A();a(0,"button",29),o(1,"translate"),_("click",function(){B(t);let r=f();return M(r.dismissModal())}),m(2),o(3,"translate"),i()}n&2&&(u("aria-label",s(1,2,"form.button_close")),e(2),v(" ",s(3,4,"form.button_close")," "))}function Pe(n,x){if(n&1){let t=A();a(0,"button",30),_("click",function(){B(t);let r=f();return M(r.enable2fa())}),m(1),o(2,"translate"),i()}if(n&2){let t=f();y("disabled",t.formGroup.invalid),e(),v(" ",s(2,2,"form.button_enable")," ")}}var Ee=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);modalData=p(R);user=this.modalData.user;timeDiffError=T(null);otpString=T(void 0);otpSecret=T(void 0);secretCopied=T(!1);copyTimeout=null;formGroup=new P({code:new E("",[g.required,g.minLength(6),g.maxLength(6)])});ngOnInit(){this.initialize()}initialize(){return C(this,null,function*(){try{let t=yield this.$api.post("/users/otp/setup",{});this.checkTimeDiff(t.timestamp),this.timeDiffError()||(this.otpString.set(t.otpauth),this.otpSecret.set(new URL(t.otpauth).searchParams.get("secret")||""))}catch(t){this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}enable2fa(){return C(this,null,function*(){try{yield this.$api.post("/users/otp/activate",this.formGroup.value),this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}copySecretToClipboard(){return C(this,null,function*(){let t=this.otpSecret();t&&(yield navigator.clipboard.writeText(t),this.secretCopied.set(!0),this.copyTimeout&&clearTimeout(this.copyTimeout),this.copyTimeout=setTimeout(()=>{this.secretCopied.set(!1)},3e3))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}checkTimeDiff(t){let l=(0,ge.default)(t).diff(new Date,"millisecond");l<-5e3||l>5e3?this.timeDiffError.set(l):this.timeDiffError.set(null)}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[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-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center","my-2"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"grey-text","small","mt-0","mb-1"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["href","javascript:void(0)",1,"ms-1","text-primary",3,"click"],[1,"fas","fa-check","green-text"],[1,"fas","fa-copy"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(4,"translate"),i(),a(5,"button",3),o(6,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(7,"div",4)(8,"div",5),c(9,"i",6),i(),a(10,"ul",7)(11,"li"),m(12),o(13,"translate"),i(),w(14,Me,3,3,"li"),i(),w(15,De,7,10,"ngb-alert",8),w(16,Ae,11,6,"ul",9),i(),a(17,"div",10)(18,"div",11),w(19,Ne,4,6,"button",12),i(),a(20,"div",13),w(21,je,4,6,"button",12),i(),a(22,"div",14),w(23,Pe,3,4,"button",15),i()()()),l&2&&(e(3),d(s(4,9,"users.setup_2fa")),e(2),u("aria-label",s(6,11,"form.button_close")),e(7),d(s(13,13,"users.setup_2fa_warning")),e(2),h(r.timeDiffError()?-1:14),e(),h(r.timeDiffError()?15:-1),e(),h(r.timeDiffError()?-1:16),e(3),h(r.timeDiffError()?-1:19),e(2),h(r.timeDiffError()?21:-1),e(2),h(r.timeDiffError()?-1:23))},dependencies:[ie,Ce,G,N,j,ve,z,Z,U],encapsulation:2})}return n})();var ye=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);form=new P({username:new E("",[g.required]),name:new E("",[g.required]),password:new E("",[g.compose([g.required,g.minLength(4)])]),passwordConfirm:new E("",[g.required]),admin:new E(!0)},this.matchPassword);onSubmit(l){return C(this,arguments,function*({value:t}){try{yield this.$api.post("/users",t),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))}catch(r){this.$toastr.error(r.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(t){let l=t.get("password")?.value,r=t.get("passwordConfirm")?.value;return l!==r?(t.get("passwordConfirm")?.setErrors({matchPassword:!0}),{matchPassword:!0}):null}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:58,vars:48,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["formControlName","admin","type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"form",1),_("ngSubmit",function(){return r.onSubmit(r.form)}),a(2,"div",2)(3,"h5",3),m(4),o(5,"translate"),i(),a(6,"button",4),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",5)(9,"div",6),c(10,"i",7),i(),a(11,"ul",8)(12,"li",9)(13,"label",10),m(14),o(15,"translate"),i(),a(16,"div",11),c(17,"input",12),o(18,"translate"),i()(),a(19,"li",9)(20,"label",13),m(21),o(22,"translate"),i(),a(23,"div",11),c(24,"input",14),o(25,"translate"),i()(),a(26,"li",9)(27,"label",15),m(28),o(29,"translate"),i(),a(30,"div",11),c(31,"input",16),o(32,"translate"),i()(),a(33,"li",9)(34,"label",17),m(35),o(36,"translate"),i(),a(37,"div",11),c(38,"input",18),o(39,"translate"),i()(),a(40,"li",19)(41,"span",20),m(42),o(43,"translate"),i(),a(44,"div",21),c(45,"input",22),o(46,"translate"),c(47,"label",23),i()()()(),a(48,"div",24)(49,"div",20)(50,"button",25),_("click",function(){return r.dismissModal()}),m(51),o(52,"translate"),i()(),c(53,"div",26),a(54,"div",27)(55,"button",28),m(56),o(57,"translate"),i()()()()()),l&2&&(e(),y("formGroup",r.form),e(3),d(s(5,20,"users.title_add_user")),e(2),u("aria-label",s(7,22,"form.button_close")),e(8),d(s(15,24,"users.label_username")),e(3),u("aria-label",s(18,26,"users.label_username")),e(4),d(s(22,28,"users.label_full_name")),e(3),u("aria-label",s(25,30,"users.label_full_name")),e(4),d(s(29,32,"users.label_password")),e(3),O("is-invalid",r.form.controls.password.dirty&&r.form.controls.password.errors),u("aria-label",s(32,34,"users.label_password")),e(4),d(s(36,36,"users.label_confirm_password")),e(3),O("is-invalid",r.form.controls.passwordConfirm.dirty&&r.form.controls.passwordConfirm.errors),u("aria-label",s(39,38,"users.label_confirm_password")),e(4),d(s(43,40,"users.label_admin_user")),e(3),u("aria-label",s(46,42,"users.label_admin_user")),e(6),v(" ",s(52,44,"form.button_close")," "),e(4),y("disabled",!r.form.valid),e(),v(" ",s(57,46,"form.button_save")," "))},dependencies:[G,Y,N,W,j,X,z,te,ee,U],encapsulation:2})}return n})();function Ge(n,x){if(n&1&&(a(0,"li",9)(1,"label",27),m(2),o(3,"translate"),i(),a(4,"div",11),c(5,"input",28),o(6,"translate"),i()()),n&2){let t=f();e(2),d(s(3,4,"users.label_confirm_password")),e(3),O("is-invalid",t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors),u("aria-label",s(6,6,"users.label_confirm_password"))}}var Se=(()=>{class n{$activeModal=p(F);$api=p(V);$auth=p(K);$toastr=p(I);$translate=p(D);modalData=p(R);user=this.modalData.user;isCurrentUser=T(!1);initialFormValue={};form=new P({username:new E("",[g.required]),name:new E("",[g.required]),password:new E(""),passwordConfirm:new E(""),admin:new E(!0)},this.matchPassword);ngOnInit(){this.user&&(this.isCurrentUser.set(this.$auth.user.username===this.user.username),this.form.patchValue(this.user),this.initialFormValue=this.form.getRawValue())}onSubmit(l){return C(this,arguments,function*({value:t}){if(this.user)try{yield this.$api.patch(`/users/${this.user.id}`,t),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser()&&t.username!==this.$auth.user.username&&this.$auth.logout()}catch(r){console.error(r),this.$toastr.error(r.error?.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}isFormUnchanged(){return this.form.controls.password.value?!1:JSON.stringify(this.form.getRawValue())===JSON.stringify(this.initialFormValue)}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(t){let l=t.get("password")?.value,r=t.get("passwordConfirm")?.value;return l!==r?(t.get("passwordConfirm")?.setErrors({matchPassword:!0}),{matchPassword:!0}):null}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:52,vars:41,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"form",1),_("ngSubmit",function(){return r.onSubmit(r.form)}),a(2,"div",2)(3,"h5",3),m(4),o(5,"translate"),i(),a(6,"button",4),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",5)(9,"div",6),c(10,"i",7),i(),a(11,"ul",8)(12,"li",9)(13,"label",10),m(14),o(15,"translate"),i(),a(16,"div",11),c(17,"input",12),o(18,"translate"),i()(),a(19,"li",9)(20,"label",13),m(21),o(22,"translate"),i(),a(23,"div",11),c(24,"input",14),o(25,"translate"),i()(),a(26,"li",9)(27,"label",15),m(28),o(29,"translate"),i(),a(30,"div",11),c(31,"input",16),o(32,"translate"),i()(),w(33,Ge,7,8,"li",9),a(34,"li",17)(35,"span",18),m(36),o(37,"translate"),i(),a(38,"div",19),c(39,"input",20),o(40,"translate"),c(41,"label",21),i()()()(),a(42,"div",22)(43,"div",18)(44,"button",23),_("click",function(){return r.dismissModal()}),m(45),o(46,"translate"),i()(),c(47,"div",24),a(48,"div",25)(49,"button",26),m(50),o(51,"translate"),i()()()()()),l&2&&(e(),y("formGroup",r.form),e(3),d(s(5,17,"users.title_edit_user")),e(2),u("aria-label",s(7,19,"form.button_close")),e(8),d(s(15,21,"users.label_username")),e(3),u("aria-label",s(18,23,"users.label_username")),e(4),d(s(22,25,"users.label_full_name")),e(3),u("aria-label",s(25,27,"users.label_full_name")),e(4),d(s(29,29,"users.label_new_password")),e(3),O("is-invalid",r.form.controls.password.dirty&&r.form.controls.password.errors),u("aria-label",s(32,31,"users.label_new_password")),e(2),h(r.form.controls.password.value?33:-1),e(3),d(s(37,33,"users.label_admin_user")),e(3),u("aria-label",s(40,35,"users.label_admin_user")),e(6),v(" ",s(46,37,"form.button_close")," "),e(4),y("disabled",!r.form.valid||r.isFormUnchanged()),e(),v(" ",s(51,39,"form.button_save")," "))},dependencies:[G,Y,N,W,j,X,z,te,ee,U],encapsulation:2})}return n})();var $e=(()=>{class n{$activeModal=p(F);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:46,vars:36,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,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"mb-2","grey-text"],[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"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),m(4),o(5,"translate"),i(),a(6,"button",3),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",4)(9,"div",5),c(10,"i",6),i(),a(11,"h5",7),m(12),o(13,"translate"),i(),a(14,"ul",8)(15,"li"),m(16),o(17,"translate"),i(),a(18,"ul",9)(19,"li"),m(20),o(21,"translate"),i(),a(22,"li"),m(23),o(24,"translate"),i(),a(25,"li"),m(26),o(27,"translate"),o(28,"translate"),i(),a(29,"li"),m(30),o(31,"translate"),i(),a(32,"li"),m(33),o(34,"translate"),i()(),a(35,"li"),m(36),o(37,"translate"),i()(),c(38,"app-support-banner"),i(),a(39,"div",10),c(40,"div",11),a(41,"div",12)(42,"button",13),_("click",function(){return r.dismissModal()}),m(43),o(44,"translate"),i()(),c(45,"div",14),i()()()),l&2&&(e(4),d(s(5,12,"support.title")),e(2),u("aria-label",s(7,14,"form.button_close")),e(6),d(s(13,16,"users.title_users")),e(4),d(s(17,18,"users.support.acc_1")),e(4),d(s(21,20,"menu.label_status")),e(3),d(s(24,22,"menu.label_plugins")),e(3),de("",s(27,24,"menu.label_accessories")," (",s(28,26,"users.support.control"),")"),e(4),d(s(31,28,"menu.linux.label_logs")),e(3),d(s(34,30,"support.title")),e(3),d(s(37,32,"users.support.acc_2")),e(7),v(" ",s(44,34,"form.button_close")," "))},dependencies:[we,U],encapsulation:2})}return n})();var ze=(n,x)=>({"fa-user-secret":n,"fa-user":x});function Re(n,x){if(n&1){let t=A();$(0,"button",23),L("click",function(){B(t);let r=f(2).$implicit,b=f();return M(b.disable2fa(r))}),m(1),o(2,"translate"),k()}if(n&2){let t=f(2).$implicit,l=f();H("disabled",t.username!==l.username),e(),v(" ",s(2,2,"users.setup_2fa_disable")," ")}}function qe(n,x){if(n&1){let t=A();$(0,"button",24),L("click",function(){B(t);let r=f(2).$implicit,b=f();return M(b.setup2fa(r))}),m(1),o(2,"translate"),k()}if(n&2){let t=f(2).$implicit,l=f();H("disabled",t.username!==l.username),e(),v(" ",s(2,2,"users.setup_2fa")," ")}}function Le(n,x){if(n&1&&w(0,Re,3,4,"button",21)(1,qe,3,4,"button",22),n&2){let t=f().$implicit;h(t.otpActive?0:1)}}function Oe(n,x){n&1&&q(0,"div")}function Je(n,x){if(n&1){let t=A();$(0,"div",9)(1,"div",10)(2,"div",11)(3,"div",12)(4,"span",13)(5,"h4"),m(6),k(),$(7,"h5",14),q(8,"i",15),m(9),k()()(),$(10,"div",16),w(11,Le,2,1)(12,Oe,1,0,"div"),$(13,"div")(14,"button",17),o(15,"translate"),L("click",function(){let r=B(t).$implicit,b=f();return M(b.openEditUser(r))}),q(16,"i",18),k(),$(17,"button",19),o(18,"translate"),L("click",function(){let r=B(t).$implicit,b=f();return M(b.deleteUser(r.id))}),q(19,"i",20),k()()()()()()}if(n&2){let t=x.$implicit,l=f();e(6),d(t.name),e(2),me(ce(12,ze,t.admin,!t.admin)),e(),v(" ",t.username," "),e(2),h(t.admin?11:12),e(3),u("aria-label",s(15,8,"form.button_edit")),e(3),H("disabled",l.username===t.username),u("aria-label",s(18,10,"form.button_delete"))}}var ti=(()=>{class n{injector=p(ae);destroyRef=p(re);$api=p(V);$auth=p(K);$modal=p(xe);$route=p(be);$settings=p(_e);$toastr=p(I);$translate=p(D);homebridgeUsers=T([]);username=this.$auth.user.username;isAdmin=this.$auth.user.admin;ngOnInit(){let t=this.$translate.instant("users.title_users");this.$settings.setPageTitle(t),this.$route.data.pipe(fe(this.destroyRef)).subscribe(l=>{this.homebridgeUsers.set(l.homebridgeUsers)})}reloadUsers(){return C(this,null,function*(){let t=yield this.$api.get("/users");this.homebridgeUsers.set(t)})}openAddNewUser(){return C(this,null,function*(){let t=this.$modal.open(ye,{size:"lg",backdrop:"static"});try{yield t.result,this.reloadUsers()}catch{}})}openEditUser(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(Se,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}deleteUser(t){return C(this,null,function*(){try{yield this.$api.delete(`/users/${t}`),this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()}catch(l){console.error(l),this.$toastr.error(l.error?.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(Ee,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}disable2fa(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(he,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}openSupport(){this.$modal.open($e,{size:"lg",backdrop:"static"})}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["app-users"]],decls:15,vars:9,consts:[[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"btn","btn-elegant","waves-effect","m-0","me-2",3,"click"],[1,"fas","fa-user-plus"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[1,"small","text-truncate","grey-text"],[1,"fas"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-trash"],[1,"btn","btn-elegant","m-0",3,"disabled"],[1,"btn","btn-primary","m-0",3,"disabled"],[1,"btn","btn-elegant","m-0",3,"click","disabled"],[1,"btn","btn-primary","m-0",3,"click","disabled"]],template:function(l,r){l&1&&($(0,"div",0)(1,"div",1)(2,"h3",2),m(3),o(4,"translate"),k()(),$(5,"div",3)(6,"button",4),o(7,"translate"),L("click",function(){return r.openAddNewUser()}),q(8,"i",5),k(),$(9,"button",6),o(10,"translate"),L("click",function(){return r.openSupport()}),q(11,"i",7),k()()(),$(12,"div",8),se(13,Je,20,15,"div",9,oe),k()),l&2&&(e(3),d(s(4,3,"users.title_users")),e(3),u("aria-label",s(7,5,"users.button_add_user")),e(3),u("aria-label",s(10,7,"support.title")),e(4),le(r.homebridgeUsers()))},dependencies:[U],encapsulation:2})}return n})();export{ti as UsersComponent};
|
|
1
|
+
import{a as Ce}from"./chunk-H2Z7V5LU.js";import{a as we}from"./chunk-CRLXCYA4.js";import{n as R}from"./chunk-MIE7YXOK.js";import{g as ie,m as F,n as xe}from"./chunk-VILWJRZL.js";import{c as be}from"./chunk-QML5ZVO6.js";import{a as fe}from"./chunk-ZGIZ2UDW.js";import{b as K}from"./chunk-VDDMHLOW.js";import{B as ve,C as G,D as z,b as W,c as N,d as g,e as j,f as X,g as P,j as E,m as Y,q as Z,r as ee,s as te}from"./chunk-537Z3TZH.js";import{a as Te,b as _e}from"./chunk-S6WYT7FX.js";import{C as D,D as U,F as I,I as V}from"./chunk-MISBXZWW.js";import{Ab as h,Cb as oe,Db as se,Dc as o,Eb as le,Ec as s,Fb as y,Fc as ue,Gb as a,Hb as i,Ib as c,Jb as $,Kb as k,Lb as q,Rb as A,Sb as H,Xb as _,Yb as L,Za as e,Zb as f,aa as p,ea as ae,ga as B,ha as M,ic as O,jc as me,kc as m,lc as d,ma as re,mb as Q,mc as v,nb as S,nc as de,sa as T,xc as pe,yb as u,yc as ce,zb as w}from"./chunk-VX4RXOTH.js";import{g as Ue,h as C}from"./chunk-B4AJQJMI.js";function ke(n,x){n&1&&(a(0,"ngb-alert",13)(1,"p",20),m(2),o(3,"translate"),i()()),n&2&&(y("dismissible",!1),e(2),d(s(3,2,"login.invalid_password")))}var he=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);invalidCredentials=T(!1);formGroup=new P({password:new E("",[g.required])});disable2fa(){return C(this,null,function*(){this.invalidCredentials.set(!1);try{yield this.$api.post("/users/otp/deactivate",this.formGroup.value),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.setup_2fa_disable_success"),this.$translate.instant("toast.title_success"))}catch{this.formGroup.setValue({password:""}),this.invalidCredentials.set(!0)}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:34,vars:27,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,"text-center","mb-3"],[1,"fas","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","password","autocomplete","current-password",1,"form-control","custom-input",3,"formControl","placeholder"],["type","error",1,"mt-3","mb-0",3,"dismissible"],[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-danger",3,"click","disabled"],[1,"mb-0"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(4,"translate"),i(),a(5,"button",3),o(6,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(7,"div",4)(8,"div",5),c(9,"i",6),i(),a(10,"ul",7)(11,"li"),m(12),o(13,"translate"),i()(),a(14,"ul",8)(15,"li",9)(16,"label",10),m(17),o(18,"translate"),i(),a(19,"div",11),c(20,"input",12),o(21,"translate"),i()()(),w(22,ke,4,4,"ngb-alert",13),i(),a(23,"div",14)(24,"div",15)(25,"button",16),o(26,"translate"),_("click",function(){return r.dismissModal()}),m(27),o(28,"translate"),i()(),c(29,"div",17),a(30,"div",18)(31,"button",19),_("click",function(){return r.disable2fa()}),m(32),o(33,"translate"),i()()()()),l&2&&(e(3),d(s(4,11,"users.setup_2fa_disable")),e(2),u("aria-label",s(6,13,"form.button_close")),e(7),d(s(13,15,"users.setup_2fa_disable_current_password")),e(5),d(s(18,17,"users.label_password")),e(3),y("formControl",r.formGroup.controls.password)("placeholder",s(21,19,"users.label_password")),e(2),h(r.invalidCredentials()&&!r.formGroup.controls.password.value?22:-1),e(3),u("aria-label",s(26,21,"form.button_close")),e(2),v(" ",s(28,23,"form.button_close")," "),e(4),y("disabled",r.formGroup.invalid),e(),v(" ",s(33,25,"form.button_disable")," "))},dependencies:[G,N,j,z,Z,ie,U],encapsulation:2})}return n})();var ge=Ue(Te(),1);var Be=n=>({timeDiffError:n});function Me(n,x){n&1&&(a(0,"li"),m(1),o(2,"translate"),i()),n&2&&(e(),d(s(2,1,"users.setup_2fa_scan_qr_code")))}function De(n,x){if(n&1&&(a(0,"ngb-alert",8)(1,"p",16),m(2),o(3,"translate"),i(),a(4,"p",17),m(5),o(6,"translate"),i()()),n&2){let t=f();y("dismissible",!1),e(2),d(s(3,3,"users.setup_2fa_cannot_setup_2fa")),e(3),d(ue(6,5,"users.setup_2fa_server_time_out",pe(8,Be,t.timeDiffError())))}}function Ie(n,x){n&1&&c(0,"i",27)}function Ve(n,x){n&1&&c(0,"i",28)}function Fe(n,x){if(n&1){let t=A();a(0,"div",21),m(1),o(2,"translate"),c(3,"br"),m(4),a(5,"a",26),_("click",function(){B(t);let r=f(2);return M(r.copySecretToClipboard())}),w(6,Ie,1,0,"i",27)(7,Ve,1,0,"i",28),i()()}if(n&2){let t=f(2);e(),v(" ",s(2,3,"users.setup_2fa_scan_qr_manual")),e(3),v(" ",t.otpSecret()," "),e(2),h(t.secretCopied()?6:7)}}function Ae(n,x){if(n&1&&(a(0,"ul",9)(1,"li",18)(2,"div",19),c(3,"app-qrcode",20),i(),w(4,Fe,8,5,"div",21),i(),a(5,"li",22)(6,"label",23),m(7),o(8,"translate"),i(),a(9,"div",24),c(10,"input",25),i()()()),n&2){let t=f();e(3),y("data",t.otpString()),e(),h(t.otpSecret()?4:-1),e(3),d(s(8,4,"users.setup_2fa_enter_code")),e(3),y("formControl",t.formGroup.controls.code)}}function Ne(n,x){if(n&1){let t=A();a(0,"button",29),o(1,"translate"),_("click",function(){B(t);let r=f();return M(r.dismissModal())}),m(2),o(3,"translate"),i()}n&2&&(u("aria-label",s(1,2,"form.button_close")),e(2),v(" ",s(3,4,"form.button_close")," "))}function je(n,x){if(n&1){let t=A();a(0,"button",29),o(1,"translate"),_("click",function(){B(t);let r=f();return M(r.dismissModal())}),m(2),o(3,"translate"),i()}n&2&&(u("aria-label",s(1,2,"form.button_close")),e(2),v(" ",s(3,4,"form.button_close")," "))}function Pe(n,x){if(n&1){let t=A();a(0,"button",30),_("click",function(){B(t);let r=f();return M(r.enable2fa())}),m(1),o(2,"translate"),i()}if(n&2){let t=f();y("disabled",t.formGroup.invalid),e(),v(" ",s(2,2,"form.button_enable")," ")}}var Ee=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);modalData=p(R);user=this.modalData.user;timeDiffError=T(null);otpString=T(void 0);otpSecret=T(void 0);secretCopied=T(!1);copyTimeout=null;formGroup=new P({code:new E("",[g.required,g.minLength(6),g.maxLength(6)])});ngOnInit(){this.initialize()}initialize(){return C(this,null,function*(){try{let t=yield this.$api.post("/users/otp/setup",{});this.checkTimeDiff(t.timestamp),this.timeDiffError()||(this.otpString.set(t.otpauth),this.otpSecret.set(new URL(t.otpauth).searchParams.get("secret")||""))}catch(t){this.$activeModal.dismiss(),console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_enable_error"),this.$translate.instant("toast.title_error"))}})}enable2fa(){return C(this,null,function*(){try{yield this.$api.post("/users/otp/activate",this.formGroup.value),this.$toastr.success(this.$translate.instant("users.setup_2fa_enabled_success"),this.$translate.instant("toast.title_success")),this.$activeModal.close()}catch(t){console.error(t),this.$toastr.error(this.$translate.instant("users.setup_2fa_activate_error"),this.$translate.instant("toast.title_error"))}})}copySecretToClipboard(){return C(this,null,function*(){let t=this.otpSecret();t&&(yield navigator.clipboard.writeText(t),this.secretCopied.set(!0),this.copyTimeout&&clearTimeout(this.copyTimeout),this.copyTimeout=setTimeout(()=>{this.secretCopied.set(!1)},3e3))})}dismissModal(){this.$activeModal.dismiss("Dismiss")}checkTimeDiff(t){let l=(0,ge.default)(t).diff(new Date,"millisecond");l<-5e3||l>5e3?this.timeDiffError.set(l):this.timeDiffError.set(null)}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:24,vars:15,consts:[[1,"modal-content","setup2fa"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-key","primary-text",2,"font-size","75px"],[1,"mb-3"],["type","error",1,"mb-0",3,"dismissible"],[1,"list-group","list-group-box","mb-0"],[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-primary",3,"disabled"],[1,"fw-bold","mb-1"],[1,"mb-0"],[1,"list-group-item","text-center"],[1,"text-center","w-100","d-flex","justify-content-center","my-2"],[1,"mx-auto",2,"width","175px","height","175px",3,"data"],[1,"grey-text","small","mt-0","mb-1"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["type","text","placeholder","eg. 123456","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*",1,"form-control","custom-input",3,"formControl"],["href","javascript:void(0)",1,"ms-1","text-primary",3,"click"],[1,"fas","fa-check","green-text"],[1,"fas","fa-copy"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-bs-dismiss","modal",1,"btn","btn-primary",3,"click","disabled"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),m(3),o(4,"translate"),i(),a(5,"button",3),o(6,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(7,"div",4)(8,"div",5),c(9,"i",6),i(),a(10,"ul",7)(11,"li"),m(12),o(13,"translate"),i(),w(14,Me,3,3,"li"),i(),w(15,De,7,10,"ngb-alert",8),w(16,Ae,11,6,"ul",9),i(),a(17,"div",10)(18,"div",11),w(19,Ne,4,6,"button",12),i(),a(20,"div",13),w(21,je,4,6,"button",12),i(),a(22,"div",14),w(23,Pe,3,4,"button",15),i()()()),l&2&&(e(3),d(s(4,9,"users.setup_2fa")),e(2),u("aria-label",s(6,11,"form.button_close")),e(7),d(s(13,13,"users.setup_2fa_warning")),e(2),h(r.timeDiffError()?-1:14),e(),h(r.timeDiffError()?15:-1),e(),h(r.timeDiffError()?-1:16),e(3),h(r.timeDiffError()?-1:19),e(2),h(r.timeDiffError()?21:-1),e(2),h(r.timeDiffError()?-1:23))},dependencies:[ie,Ce,G,N,j,ve,z,Z,U],encapsulation:2})}return n})();var ye=(()=>{class n{$activeModal=p(F);$api=p(V);$toastr=p(I);$translate=p(D);form=new P({username:new E("",[g.required]),name:new E("",[g.required]),password:new E("",[g.compose([g.required,g.minLength(4)])]),passwordConfirm:new E("",[g.required]),admin:new E(!0)},this.matchPassword);onSubmit(l){return C(this,arguments,function*({value:t}){try{yield this.$api.post("/users",t),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_added_new_user"),this.$translate.instant("toast.title_success"))}catch(r){this.$toastr.error(r.error.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(t){let l=t.get("password")?.value,r=t.get("passwordConfirm")?.value;return l!==r?(t.get("passwordConfirm")?.setErrors({matchPassword:!0}),{matchPassword:!0}):null}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:58,vars:48,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-user-plus","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","username","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["formControlName","admin","type","checkbox","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"form",1),_("ngSubmit",function(){return r.onSubmit(r.form)}),a(2,"div",2)(3,"h5",3),m(4),o(5,"translate"),i(),a(6,"button",4),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",5)(9,"div",6),c(10,"i",7),i(),a(11,"ul",8)(12,"li",9)(13,"label",10),m(14),o(15,"translate"),i(),a(16,"div",11),c(17,"input",12),o(18,"translate"),i()(),a(19,"li",9)(20,"label",13),m(21),o(22,"translate"),i(),a(23,"div",11),c(24,"input",14),o(25,"translate"),i()(),a(26,"li",9)(27,"label",15),m(28),o(29,"translate"),i(),a(30,"div",11),c(31,"input",16),o(32,"translate"),i()(),a(33,"li",9)(34,"label",17),m(35),o(36,"translate"),i(),a(37,"div",11),c(38,"input",18),o(39,"translate"),i()(),a(40,"li",19)(41,"span",20),m(42),o(43,"translate"),i(),a(44,"div",21),c(45,"input",22),o(46,"translate"),c(47,"label",23),i()()()(),a(48,"div",24)(49,"div",20)(50,"button",25),_("click",function(){return r.dismissModal()}),m(51),o(52,"translate"),i()(),c(53,"div",26),a(54,"div",27)(55,"button",28),m(56),o(57,"translate"),i()()()()()),l&2&&(e(),y("formGroup",r.form),e(3),d(s(5,20,"users.title_add_user")),e(2),u("aria-label",s(7,22,"form.button_close")),e(8),d(s(15,24,"users.label_username")),e(3),u("aria-label",s(18,26,"users.label_username")),e(4),d(s(22,28,"users.label_full_name")),e(3),u("aria-label",s(25,30,"users.label_full_name")),e(4),d(s(29,32,"users.label_password")),e(3),O("is-invalid",r.form.controls.password.dirty&&r.form.controls.password.errors),u("aria-label",s(32,34,"users.label_password")),e(4),d(s(36,36,"users.label_confirm_password")),e(3),O("is-invalid",r.form.controls.passwordConfirm.dirty&&r.form.controls.passwordConfirm.errors),u("aria-label",s(39,38,"users.label_confirm_password")),e(4),d(s(43,40,"users.label_admin_user")),e(3),u("aria-label",s(46,42,"users.label_admin_user")),e(6),v(" ",s(52,44,"form.button_close")," "),e(4),y("disabled",!r.form.valid),e(),v(" ",s(57,46,"form.button_save")," "))},dependencies:[G,Y,N,W,j,X,z,te,ee,U],encapsulation:2})}return n})();function Ge(n,x){if(n&1&&(a(0,"li",9)(1,"label",27),m(2),o(3,"translate"),i(),a(4,"div",11),c(5,"input",28),o(6,"translate"),i()()),n&2){let t=f();e(2),d(s(3,4,"users.label_confirm_password")),e(3),O("is-invalid",t.form.controls.passwordConfirm.dirty&&t.form.controls.passwordConfirm.errors),u("aria-label",s(6,6,"users.label_confirm_password"))}}var Se=(()=>{class n{$activeModal=p(F);$api=p(V);$auth=p(K);$toastr=p(I);$translate=p(D);modalData=p(R);user=this.modalData.user;isCurrentUser=T(!1);initialFormValue={};form=new P({username:new E("",[g.required]),name:new E("",[g.required]),password:new E(""),passwordConfirm:new E(""),admin:new E(!0)},this.matchPassword);ngOnInit(){this.user&&(this.isCurrentUser.set(this.$auth.user.username===this.user.username),this.form.patchValue(this.user),this.initialFormValue=this.form.getRawValue())}onSubmit(l){return C(this,arguments,function*({value:t}){if(this.user)try{yield this.$api.patch(`/users/${this.user.id}`,t),this.$activeModal.close(),this.$toastr.success(this.$translate.instant("users.toast_updated_user"),this.$translate.instant("toast.title_success")),this.isCurrentUser()&&t.username!==this.$auth.user.username&&this.$auth.logout()}catch(r){console.error(r),this.$toastr.error(r.error?.message||this.$translate.instant("users.toast_failed_to_add_user"),this.$translate.instant("toast.title_error"))}})}isFormUnchanged(){return this.form.controls.password.value?!1:JSON.stringify(this.form.getRawValue())===JSON.stringify(this.initialFormValue)}dismissModal(){this.$activeModal.dismiss("Dismiss")}matchPassword(t){let l=t.get("password")?.value,r=t.get("passwordConfirm")?.value;return l!==r?(t.get("passwordConfirm")?.setErrors({matchPassword:!0}),{matchPassword:!0}):null}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:52,vars:41,consts:[[1,"modal-content"],["novalidate","",3,"ngSubmit","formGroup"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal",1,"btn-close",3,"click"],[1,"modal-body"],[1,"text-center","mb-3"],[1,"fas","fa-user-pen","primary-text",2,"font-size","75px"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],["for","form-username",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-start","text-md-end","w-100","w-md-50"],["formControlName","username","type","text","id","form-username","autocomplete","off","autocapitalize","none",1,"form-control","custom-input"],["for","form-name",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","name","type","text","id","form-name","autocomplete","name",1,"form-control","custom-input"],["for","form-pass",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","password","type","password","autocomplete","new-password","id","form-pass",1,"form-control","custom-input"],[1,"list-group-item","d-flex","justify-content-between","align-items-center","flex-row","pb-2"],[1,"text-start"],[1,"text-end","grey-text","d-flex","align-items-center"],["type","checkbox","formControlName","admin","id","isAdmin",1,"rendux-input"],["for","isAdmin",1,"rendux-label","ms-3"],[1,"modal-footer","justify-content-between"],["type","button","data-bs-dismiss","modal",1,"btn","btn-elegant",3,"click"],[1,"text-center"],[1,"text-end"],["type","submit",1,"btn","btn-primary",3,"disabled"],["for","form-pass-confirm",1,"mb-2","mb-md-0","w-100","w-md-50"],["formControlName","passwordConfirm","type","password","autocomplete","new-password","id","form-pass-confirm",1,"form-control","custom-input"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"form",1),_("ngSubmit",function(){return r.onSubmit(r.form)}),a(2,"div",2)(3,"h5",3),m(4),o(5,"translate"),i(),a(6,"button",4),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",5)(9,"div",6),c(10,"i",7),i(),a(11,"ul",8)(12,"li",9)(13,"label",10),m(14),o(15,"translate"),i(),a(16,"div",11),c(17,"input",12),o(18,"translate"),i()(),a(19,"li",9)(20,"label",13),m(21),o(22,"translate"),i(),a(23,"div",11),c(24,"input",14),o(25,"translate"),i()(),a(26,"li",9)(27,"label",15),m(28),o(29,"translate"),i(),a(30,"div",11),c(31,"input",16),o(32,"translate"),i()(),w(33,Ge,7,8,"li",9),a(34,"li",17)(35,"span",18),m(36),o(37,"translate"),i(),a(38,"div",19),c(39,"input",20),o(40,"translate"),c(41,"label",21),i()()()(),a(42,"div",22)(43,"div",18)(44,"button",23),_("click",function(){return r.dismissModal()}),m(45),o(46,"translate"),i()(),c(47,"div",24),a(48,"div",25)(49,"button",26),m(50),o(51,"translate"),i()()()()()),l&2&&(e(),y("formGroup",r.form),e(3),d(s(5,17,"users.title_edit_user")),e(2),u("aria-label",s(7,19,"form.button_close")),e(8),d(s(15,21,"users.label_username")),e(3),u("aria-label",s(18,23,"users.label_username")),e(4),d(s(22,25,"users.label_full_name")),e(3),u("aria-label",s(25,27,"users.label_full_name")),e(4),d(s(29,29,"users.label_new_password")),e(3),O("is-invalid",r.form.controls.password.dirty&&r.form.controls.password.errors),u("aria-label",s(32,31,"users.label_new_password")),e(2),h(r.form.controls.password.value?33:-1),e(3),d(s(37,33,"users.label_admin_user")),e(3),u("aria-label",s(40,35,"users.label_admin_user")),e(6),v(" ",s(46,37,"form.button_close")," "),e(4),y("disabled",!r.form.valid||r.isFormUnchanged()),e(),v(" ",s(51,39,"form.button_save")," "))},dependencies:[G,Y,N,W,j,X,z,te,ee,U],encapsulation:2})}return n})();var $e=(()=>{class n{$activeModal=p(F);dismissModal(){this.$activeModal.dismiss("Dismiss")}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["ng-component"]],decls:46,vars:36,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,"text-center","mb-3"],[1,"fa","fa-question-circle-o","primary-text",2,"font-size","75px"],[1,"ms-2"],[1,"mb-0"],[1,"mb-2","grey-text"],[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"]],template:function(l,r){l&1&&(a(0,"div",0)(1,"form")(2,"div",1)(3,"h5",2),m(4),o(5,"translate"),i(),a(6,"button",3),o(7,"translate"),_("click",function(){return r.dismissModal()}),i()(),a(8,"div",4)(9,"div",5),c(10,"i",6),i(),a(11,"h5",7),m(12),o(13,"translate"),i(),a(14,"ul",8)(15,"li"),m(16),o(17,"translate"),i(),a(18,"ul",9)(19,"li"),m(20),o(21,"translate"),i(),a(22,"li"),m(23),o(24,"translate"),i(),a(25,"li"),m(26),o(27,"translate"),o(28,"translate"),i(),a(29,"li"),m(30),o(31,"translate"),i(),a(32,"li"),m(33),o(34,"translate"),i()(),a(35,"li"),m(36),o(37,"translate"),i()(),c(38,"app-support-banner"),i(),a(39,"div",10),c(40,"div",11),a(41,"div",12)(42,"button",13),_("click",function(){return r.dismissModal()}),m(43),o(44,"translate"),i()(),c(45,"div",14),i()()()),l&2&&(e(4),d(s(5,12,"support.title")),e(2),u("aria-label",s(7,14,"form.button_close")),e(6),d(s(13,16,"users.title_users")),e(4),d(s(17,18,"users.support.acc_1")),e(4),d(s(21,20,"menu.label_status")),e(3),d(s(24,22,"menu.label_plugins")),e(3),de("",s(27,24,"menu.label_accessories")," (",s(28,26,"users.support.control"),")"),e(4),d(s(31,28,"menu.linux.label_logs")),e(3),d(s(34,30,"support.title")),e(3),d(s(37,32,"users.support.acc_2")),e(7),v(" ",s(44,34,"form.button_close")," "))},dependencies:[we,U],encapsulation:2})}return n})();var ze=(n,x)=>({"fa-user-secret":n,"fa-user":x});function Re(n,x){if(n&1){let t=A();$(0,"button",23),L("click",function(){B(t);let r=f(2).$implicit,b=f();return M(b.disable2fa(r))}),m(1),o(2,"translate"),k()}if(n&2){let t=f(2).$implicit,l=f();H("disabled",t.username!==l.username),e(),v(" ",s(2,2,"users.setup_2fa_disable")," ")}}function qe(n,x){if(n&1){let t=A();$(0,"button",24),L("click",function(){B(t);let r=f(2).$implicit,b=f();return M(b.setup2fa(r))}),m(1),o(2,"translate"),k()}if(n&2){let t=f(2).$implicit,l=f();H("disabled",t.username!==l.username),e(),v(" ",s(2,2,"users.setup_2fa")," ")}}function Le(n,x){if(n&1&&w(0,Re,3,4,"button",21)(1,qe,3,4,"button",22),n&2){let t=f().$implicit;h(t.otpActive?0:1)}}function Oe(n,x){n&1&&q(0,"div")}function Je(n,x){if(n&1){let t=A();$(0,"div",9)(1,"div",10)(2,"div",11)(3,"div",12)(4,"span",13)(5,"h4"),m(6),k(),$(7,"h5",14),q(8,"i",15),m(9),k()()(),$(10,"div",16),w(11,Le,2,1)(12,Oe,1,0,"div"),$(13,"div")(14,"button",17),o(15,"translate"),L("click",function(){let r=B(t).$implicit,b=f();return M(b.openEditUser(r))}),q(16,"i",18),k(),$(17,"button",19),o(18,"translate"),L("click",function(){let r=B(t).$implicit,b=f();return M(b.deleteUser(r.id))}),q(19,"i",20),k()()()()()()}if(n&2){let t=x.$implicit,l=f();e(6),d(t.name),e(2),me(ce(12,ze,t.admin,!t.admin)),e(),v(" ",t.username," "),e(2),h(t.admin?11:12),e(3),u("aria-label",s(15,8,"form.button_edit")),e(3),H("disabled",l.username===t.username),u("aria-label",s(18,10,"form.button_delete"))}}var ti=(()=>{class n{injector=p(ae);destroyRef=p(re);$api=p(V);$auth=p(K);$modal=p(xe);$route=p(be);$settings=p(_e);$toastr=p(I);$translate=p(D);homebridgeUsers=T([]);username=this.$auth.user.username;isAdmin=this.$auth.user.admin;ngOnInit(){let t=this.$translate.instant("users.title_users");this.$settings.setPageTitle(t),this.$route.data.pipe(fe(this.destroyRef)).subscribe(l=>{this.homebridgeUsers.set(l.homebridgeUsers)})}reloadUsers(){return C(this,null,function*(){let t=yield this.$api.get("/users");this.homebridgeUsers.set(t)})}openAddNewUser(){return C(this,null,function*(){let t=this.$modal.open(ye,{size:"lg",backdrop:"static"});try{yield t.result,this.reloadUsers()}catch{}})}openEditUser(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(Se,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}deleteUser(t){return C(this,null,function*(){try{yield this.$api.delete(`/users/${t}`),this.$toastr.success(this.$translate.instant("users.toast_user_deleted"),this.$translate.instant("toast.title_success")),this.reloadUsers()}catch(l){console.error(l),this.$toastr.error(l.error?.message||this.$translate.instant("users.toast_failed_to_delete_user"),this.$translate.instant("toast.title_error"))}})}setup2fa(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(Ee,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}disable2fa(t){return C(this,null,function*(){let l=Q([{provide:R,useValue:{user:t}}],this.injector),r=this.$modal.open(he,{size:"lg",backdrop:"static",injector:l});try{yield r.result,this.reloadUsers()}catch{}})}openSupport(){this.$modal.open($e,{size:"lg",backdrop:"static"})}static \u0275fac=function(l){return new(l||n)};static \u0275cmp=S({type:n,selectors:[["app-users"]],decls:15,vars:9,consts:[[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"btn","btn-elegant","waves-effect","m-0","me-2",3,"click"],[1,"fas","fa-user-plus"],["type","button",1,"btn","btn-elegant","my-0","me-0",3,"click"],[1,"fa","fa-question-circle-o"],[1,"row"],[1,"col-md-6","mb-4"],[1,"card","card-body"],[1,"d-flex","flex-column"],[1,"d-flex","flex-row","mb-3"],[1,"me-auto","my-0"],[1,"small","text-truncate","grey-text"],[1,"fas"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-elegant","m-0",3,"click"],[1,"fas","fa-user-pen"],[1,"btn","btn-danger","m-0","ms-2",3,"click","disabled"],[1,"fas","fa-trash"],[1,"btn","btn-elegant","m-0",3,"disabled"],[1,"btn","btn-primary","m-0",3,"disabled"],[1,"btn","btn-elegant","m-0",3,"click","disabled"],[1,"btn","btn-primary","m-0",3,"click","disabled"]],template:function(l,r){l&1&&($(0,"div",0)(1,"div",1)(2,"h3",2),m(3),o(4,"translate"),k()(),$(5,"div",3)(6,"button",4),o(7,"translate"),L("click",function(){return r.openAddNewUser()}),q(8,"i",5),k(),$(9,"button",6),o(10,"translate"),L("click",function(){return r.openSupport()}),q(11,"i",7),k()()(),$(12,"div",8),se(13,Je,20,15,"div",9,oe),k()),l&2&&(e(3),d(s(4,3,"users.title_users")),e(3),u("aria-label",s(7,5,"users.button_add_user")),e(3),u("aria-label",s(10,7,"support.title")),e(4),le(r.homebridgeUsers()))},dependencies:[U],encapsulation:2})}return n})();export{ti as UsersComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-EPQ2ZMQD.js";import"./chunk-B4AJQJMI.js";export default a();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as c}from"./chunk-
|
|
1
|
+
import{g as c}from"./chunk-VILWJRZL.js";import{D as l}from"./chunk-MISBXZWW.js";import{Dc as a,Fb as o,Fc as m,Ib as p,Ua as i,nb as r,yc as s}from"./chunk-VX4RXOTH.js";var f=(e,d)=>({github:e,discord:d}),k=(()=>{class e{linkGithub='<a href="https://github.com/homebridge/homebridge-config-ui-x/issues/new?template=feature-request.yml" target="_blank" rel="noopener noreferrer">GitHub</a>';linkDiscord='<a href="https://discord.gg/kqNCe2D" target="_blank" rel="noopener noreferrer">Discord</a>';static \u0275fac=function(t){return new(t||e)};static \u0275cmp=r({type:e,selectors:[["app-support-banner"]],decls:2,vars:8,consts:[["type","info",1,"mt-3","mb-0","grey-text","small",3,"dismissible","innerHtml"]],template:function(t,n){t&1&&(p(0,"ngb-alert",0),a(1,"translate")),t&2&&o("dismissible",!1)("innerHtml",m(1,2,"common.phrases.support",s(5,f,n.linkGithub,n.linkDiscord)),i)},dependencies:[c,l],encapsulation:2})}return e})();export{k as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-7AYXT4NE.js";import"./chunk-B4AJQJMI.js";export default a();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as T}from"./chunk-
|
|
1
|
+
import{e as T}from"./chunk-QML5ZVO6.js";import{a as $,b as O}from"./chunk-ZGIZ2UDW.js";import{b as G}from"./chunk-VDDMHLOW.js";import{B as Z,C as ee,D as te,c as Q,d as u,e as U,f as W,g as j,j as _,m as J,r as K,s as X,z as Y}from"./chunk-537Z3TZH.js";import{b as A}from"./chunk-S6WYT7FX.js";import{D as z,H,o as D}from"./chunk-MISBXZWW.js";import{Ab as f,Dc as l,Ec as d,F as N,Fb as m,Gb as a,Hb as o,Ib as r,Oc as y,P as E,Ua as I,Xb as V,Za as n,Zb as L,aa as c,ec as b,fc as F,hc as q,ic as C,kc as v,lc as w,ma as R,mc as B,n as M,nb as P,o as k,sa as p,zb as g}from"./chunk-VX4RXOTH.js";import{h as S}from"./chunk-B4AJQJMI.js";var ie=["password"],ne=["username"],oe=["otp"];function ae(i,x){if(i&1&&(a(0,"div",8)(1,"span",12),r(2,"i",13),o(),r(3,"input",14,0),l(5,"translate"),o(),a(6,"div",8)(7,"span",12),r(8,"i",15),o(),r(9,"input",16,1),l(11,"translate"),o()),i&2){let t=L();n(3),C("is-invalid",t.form.controls.username.dirty&&t.form.controls.username.errors),m("placeholder",d(5,6,"users.label_username")),n(6),C("is-invalid",t.form.controls.password.dirty&&t.form.controls.password.errors),m("placeholder",d(11,8,"users.label_password"))}}function re(i,x){i&1&&(a(0,"div",8)(1,"span",12),r(2,"i",17),o(),r(3,"input",18,2),l(5,"translate"),o()),i&2&&(n(3),m("placeholder",d(5,1,"login.label_2fa_code")))}function se(i,x){i&1&&(a(0,"div",9)(1,"div",12),r(2,"i",19),o(),a(3,"div",20)(4,"div",21),v(5),l(6,"translate"),o(),r(7,"div",22),l(8,"translate"),o()()),i&2&&(n(5),w(d(6,2,"login.invalid_credentials")),n(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),I))}function le(i,x){i&1&&(a(0,"div",9)(1,"div",12),r(2,"i",19),o(),a(3,"div",20)(4,"div",21),v(5),l(6,"translate"),o(),r(7,"div",22),l(8,"translate"),o()()),i&2&&(n(5),w(d(6,2,"login.invalid_code")),n(2),m("innerHTML",d(8,4,"login.invalid_credentials_2"),I))}var xe=(()=>{class i{destroyRef=c(R);$auth=c(G);$router=c(T);$settings=c(A);targetRoute;validNonAdminRoutes=["/accessories","/plugins","/logs","/support"];passwordInput=y("password");usernameInput=y("username");otpInput=y("otp");backgroundStyle=p("");invalidCredentials=p(!1);invalid2faCode=p(!1);twoFactorCodeRequired=p(!1);inProgress=p(!1);form=new j({username:new _("",{nonNullable:!0,validators:[u.required]}),password:new _("",{nonNullable:!0,validators:[u.required]}),otp:new _("",{nonNullable:!0})});formInvalid=O(this.form.statusChanges.pipe(E(this.form.status),k(()=>this.form.invalid)),{initialValue:this.form.invalid});ngOnInit(){this.form.valueChanges.pipe(N(500),$(this.destroyRef)).subscribe(()=>{let t=this.passwordInput()?.nativeElement.value;t&&t!==this.form.controls.password.value&&this.form.controls.password.setValue(t)}),this.targetRoute=window.sessionStorage.getItem("target_route")||"",this.setBackground()}onSubmit(){return S(this,null,function*(){this.invalidCredentials.set(!1),this.invalid2faCode.set(!1),this.inProgress.set(!0),document.getElementById("submit-button")?.blur();let t=this.passwordInput()?.nativeElement.value;t&&t!==this.form.controls.password.value&&this.form.controls.password.setValue(t);let s=this.usernameInput()?.nativeElement.value;if(s&&s!==this.form.controls.username.value&&this.form.controls.username.setValue(s),this.twoFactorCodeRequired()){let e=this.otpInput()?.nativeElement.value;e&&e!==this.form.controls.otp.value&&this.form.controls.otp.setValue(e)}try{yield this.$auth.login(this.form.getRawValue()),!this.$auth.user.admin&&!this.validNonAdminRoutes.includes(this.targetRoute)&&(this.targetRoute="/"),this.$router.navigateByUrl(this.targetRoute),window.sessionStorage.removeItem("target_route")}catch(e){if(e.status===412){let h=this.form.controls.otp;this.twoFactorCodeRequired()?(h.setErrors({invalidCode:!0}),this.invalid2faCode.set(!0)):(h.setValidators([u.required,u.minLength(6),u.maxLength(6)]),h.updateValueAndValidity()),this.twoFactorCodeRequired.set(!0),setTimeout(()=>{document.getElementById("form-ota")?.focus()},100)}else this.invalidCredentials.set(!0)}this.inProgress.set(!1)})}setBackground(){return S(this,null,function*(){if(this.$settings.settingsLoaded||(yield M(this.$settings.onSettingsLoaded)),this.$settings.env.customWallpaperHash){let t=`${H.api.base}/auth/wallpaper/${this.$settings.env.customWallpaperHash}`;this.backgroundStyle.set(`url('${t}') center/cover`)}})}static \u0275fac=function(s){return new(s||i)};static \u0275cmp=P({type:i,selectors:[["ng-component"]],viewQuery:function(s,e){s&1&&(b(e.passwordInput,ie,5),b(e.usernameInput,ne,5),b(e.otpInput,oe,5)),s&2&&F(3)},decls:15,vars:16,consts:[["username",""],["password",""],["otp",""],[1,"login-container","gradient","d-flex","align-items-start","justify-content-center"],[1,"w-100","login-card","d-flex","py-4","flex-column"],["ngSrc","assets/homebridge-color-round.svg","alt","Homebridge Logo","height","100","width","100","priority","true",1,"homebridge-logo","mx-auto","my-3"],["novalidate","",3,"ngSubmit","formGroup"],[1,"mb-4","text-center"],[1,"input-group","mb-4"],[1,"input-group","no-border","mb-4"],[1,"text-center"],["tabindex","3","id","submit-button","type","submit",1,"btn","btn-primary","mb-2",3,"disabled"],[1,"input-group-text","custom-input"],[1,"fas","fa-user","primary-text","fa-lg"],["formControlName","username","type","text","id","form-username","autofocus","","autocomplete","username","autocapitalize","none","tabindex","1","required","",1,"form-control","custom-input",3,"placeholder"],[1,"fas","fa-lock","primary-text","fa-lg"],["formControlName","password","type","password","id","form-pass","autocomplete","current-password","tabindex","2","required","",1,"form-control","custom-input",3,"placeholder"],[1,"fas","fa-key","primary-text","fa-lg"],["formControlName","otp","type","text","id","form-ota","autofocus","","autocomplete","one-time-code","autocapitalize","none","inputmode","numeric","pattern","[0-9]*","tabindex","1",1,"form-control","custom-input",3,"placeholder"],[1,"fas","fa-exclamation-triangle","pink-text","fa-lg"],[1,"form-control","custom-input"],[1,"small","grey-text","fw-semibold"],[1,"small","grey-text",3,"innerHTML"]],template:function(s,e){s&1&&(a(0,"div",3)(1,"div",4),r(2,"img",5),a(3,"form",6),V("ngSubmit",function(){return e.onSubmit()}),a(4,"h4",7),v(5),l(6,"translate"),o(),g(7,ae,12,10),g(8,re,6,3,"div",8),g(9,se,9,6,"div",9),g(10,le,9,6,"div",9),a(11,"div",10)(12,"button",11),v(13),l(14,"translate"),o()()()()()),s&2&&(q("background",e.backgroundStyle()),C("anim",!e.backgroundStyle()),n(3),m("formGroup",e.form),n(2),w(d(6,12,"setup.welcome_to_homebridge")),n(2),f(e.twoFactorCodeRequired()?-1:7),n(),f(e.twoFactorCodeRequired()?8:-1),n(),f(e.invalidCredentials()?9:-1),n(),f(e.invalid2faCode()?10:-1),n(2),m("disabled",e.formInvalid()),n(),B(" ",d(14,14,"form.button_continue")," "))},dependencies:[ee,J,Q,U,W,Y,Z,te,X,K,D,z],styles:["body{overflow:scroll!important} body.dark-mode .login-card{background-color:#2b2b2b;color:#fff}.login-container[_ngcontent-%COMP%]{z-index:-1;padding-top:2em;padding-bottom:2em;min-height:100%;background-size:300% 300%}.anim[_ngcontent-%COMP%]{-webkit-animation:_ngcontent-%COMP%_gradient 20s ease infinite;-moz-animation:gradient 20s ease infinite;animation:_ngcontent-%COMP%_gradient 20s ease infinite}@keyframes _ngcontent-%COMP%_gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.login-card[_ngcontent-%COMP%]{max-width:550px;border-radius:1rem;padding-right:25px;padding-left:25px;background-color:#ffffffe6}.login-card[_ngcontent-%COMP%] .form-control[_ngcontent-%COMP%]:focus{background-color:inherit!important}@media screen and (max-width:575px){.login-card[_ngcontent-%COMP%]{margin-left:1em;margin-right:1em}}.homebridge-logo[_ngcontent-%COMP%]{margin-bottom:10px}"]})}return i})();export{xe as LoginComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as ie}from"./chunk-TUN7H57E.js";import{a as re}from"./chunk-5ZKKHQVJ.js";import{a as ne}from"./chunk-TLHI6ZOI.js";import{a as de}from"./chunk-7XZWXKAH.js";import{a as te}from"./chunk-KCTJMMYS.js";import{a as Z,b as ee}from"./chunk-MIE7YXOK.js";import{a as Y}from"./chunk-6TQHJYRY.js";import{a as Q}from"./chunk-CMILM3GM.js";import{n as D}from"./chunk-TJCUOGC4.js";import{a as R,b as W,d as H,e as T,f as X,g as G}from"./chunk-LL6AFVK2.js";import{a as $}from"./chunk-ZGIZ2UDW.js";import{b as z}from"./chunk-H4W6QAC2.js";import"./chunk-GTENKZFZ.js";import{b as B}from"./chunk-ADR4S74F.js";import{C as A,D as J,H as I,o as q}from"./chunk-BHFVACUP.js";import{Ab as S,Dc as d,Ec as l,Fb as g,Gb as i,Hb as a,Ib as p,Nc as K,Rb as k,Xb as u,Za as n,Zb as C,aa as c,ea as O,ga as b,ha as x,hb as j,ic as P,kc as _,lc as h,ma as U,mb as E,n as N,nb as V,sa as w,wc as f,yb as m,zb as y}from"./chunk-VX4RXOTH.js";import{g as se,h as L}from"./chunk-B4AJQJMI.js";var ae=se(de(),1);var F=()=>["/"],pe=()=>({exact:!0}),ce=()=>["/plugins"],me=()=>["/accessories"],ue=()=>["/logs"],_e=()=>["/support"],ge=()=>["/platform-tools/terminal"],ve=()=>["/config"],he=()=>["/settings"],fe=()=>["/power-options"];function be(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),d(3,"translate"),u("click",function(){b(e);let t=C();return x(t.openUnderVoltageModal())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(4,"div",12),p(5,"i",21),a(),i(6,"div",14),_(7),d(8,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),n(6),h(l(8,6,"rpi.throttled.undervoltage_title")))}function xe(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",22),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,ge))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.linux.label_terminal")),n(5),h(l(7,6,"menu.linux.label_terminal")))}function Ce(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",23),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,ve))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.config_json_editor")),n(5),h(l(7,6,"menu.config_json_editor")))}function we(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",24),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,he))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.label_settings")),n(5),h(l(7,6,"menu.label_settings")))}function ye(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",25),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,fe))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.restart.title")),n(5),h(l(7,6,"menu.restart.title")))}function Se(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),u("click",function(){b(e);let t=C();return x(t.reloadPage())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",26),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"menu.reload")),n(5),h(l(7,4,"menu.reload")))}function ke(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),u("click",function(){b(e);let t=C();return x(t.logout())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",27),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"menu.tooltip_logout")),n(5),h(l(7,4,"menu.tooltip_logout")))}var oe=(()=>{class s{destroyRef=c(U);injector=c(O);$auth=c(z);$authHelper=c(Q);$settings=c(B);$modal=c(D);$notification=c(ne);$renderer=c(j);$router=c(T);$translate=c(A);initialIsExpanded=K(!1);isExpanded=w(!1);formAuth=w(this.$settings.formAuth);isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;rPiCurrentlyUnderVoltage=w(!1);rPiWasUnderVoltage=w(!1);isMobile=!1;freezeMenu=w(!1);isPwa=ie();sidebarMouseEnterListener=()=>this.openSidebar();sidebarMouseLeaveListener=()=>this.closeSidebar();touchstartListener;clickListener;constructor(){this.isMobile=window.innerWidth<768;let e;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)}),this.$router.events.pipe($()).subscribe(r=>L(this,null,function*(){if(r instanceof R&&this.$settings.formAuth&&r.url!=="/login"&&!(yield this.$authHelper.isAuthenticated())){window.sessionStorage.setItem("target_route",r.url),yield this.$router.navigate(["/login"]);return}r instanceof W&&queueMicrotask(()=>{this.closeSidebar(),this.freezeMenu.set(!0),setTimeout(()=>{this.freezeMenu.set(!1)},750)})}))}ngOnInit(){this.isExpanded.set(this.initialIsExpanded()),this.$notification.raspberryPiThrottled.pipe($(this.destroyRef)).subscribe(o=>{o["Under Voltage"]&&this.rPiCurrentlyUnderVoltage.set(!0),o["Under-voltage has occurred"]&&this.rPiWasUnderVoltage.set(!0)}),this.$notification.formAuthEnabled.pipe($(this.destroyRef)).subscribe(o=>{this.formAuth.set(o)});let e=document.querySelector(".sidebar"),r=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?(this.touchstartListener=o=>{if(t.contains(o.target)&&this.isExpanded()){o.preventDefault(),this.toggleSidebar();return}!e.contains(o.target)&&!r.contains(o.target)&&this.isExpanded()&&(o.preventDefault(),this.closeSidebar())},document.addEventListener("touchstart",this.touchstartListener,{passive:!1})):(this.updateListeners(),r.addEventListener("mouseenter",this.sidebarMouseEnterListener,{passive:!1}),r.addEventListener("mouseleave",this.sidebarMouseLeaveListener,{passive:!1}),this.clickListener=o=>{e.contains(o.target)&&o.clientX>60&&this.closeSidebar()},document.addEventListener("click",this.clickListener,{passive:!1}))}toggleSidebar(){this.freezeMenu()||(this.isExpanded.set(!this.isExpanded()),this.updateContentStyles())}openUnderVoltageModal(){let e=E([{provide:ee,useValue:{title:this.$translate.instant("rpi.throttled.undervoltage_title"),message:this.$translate.instant(this.rPiCurrentlyUnderVoltage()?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),ctaButtonLabel:this.$translate.instant("form.button_more_info"),faIconClass:"fas fa-bolt yellow-text",ctaButtonLink:"https://pimylifeup.com/raspberry-pi-low-voltage-warning"}}],this.injector);this.$modal.open(re,{size:"lg",backdrop:"static",injector:e})}handleKeydown(e){if(e.key==="Enter"){let r=e.target;["menuitem","button"].includes(r.getAttribute("role"))&&r.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){this.touchstartListener&&document.removeEventListener("touchstart",this.touchstartListener),this.clickListener&&document.removeEventListener("click",this.clickListener);let e=document.querySelector(".sidebar"),r=document.querySelector(".m-header");e&&(e.removeEventListener("mouseenter",this.sidebarMouseEnterListener),e.removeEventListener("mouseleave",this.sidebarMouseLeaveListener)),r&&(r.removeEventListener("mouseenter",this.sidebarMouseEnterListener),r.removeEventListener("mouseleave",this.sidebarMouseLeaveListener))}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu()||(this.isExpanded.set(!0),this.updateContentStyles())}closeSidebar(){this.freezeMenu()||(this.isExpanded.set(!1),this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded()?(this.$renderer.setStyle(e,"opacity","20%"),this.$renderer.setStyle(e,"pointer-events","none"),this.$renderer.setStyle(e,"overflow","hidden")):(this.$renderer.removeStyle(e,"opacity"),this.$renderer.removeStyle(e,"pointer-events"),this.$renderer.removeStyle(e,"overflow"))}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeEventListener("mouseenter",this.sidebarMouseEnterListener),e.removeEventListener("mouseleave",this.sidebarMouseLeaveListener),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",this.sidebarMouseEnterListener,{passive:!1}),e.addEventListener("mouseleave",this.sidebarMouseLeaveListener,{passive:!1}))}static \u0275fac=function(r){return new(r||s)};static \u0275cmp=V({type:s,selectors:[["app-sidebar"]],inputs:{initialIsExpanded:[1,"initialIsExpanded"]},decls:68,vars:73,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon"],["role","navigation","id","sidebar",1,"sidebar"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-plug"],[1,"fa","fa-lightbulb"],[1,"fa","fa-wave-square"],[1,"fa","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-terminal"],[1,"fa","fa-code"],[1,"fa","fa-cog"],[1,"fa","fa-power-off"],[1,"fa","fa-refresh"],[1,"fa","fa-right-from-bracket"]],template:function(r,t){r&1&&(i(0,"div",0),d(1,"translate"),u("click",function(){return t.toggleSidebar()})("keydown",function(v){return t.handleKeydown(v)}),p(2,"span",1),i(3,"a",2),d(4,"translate"),p(5,"img",3),i(6,"div",4),_(7,"Homebridge"),a()(),i(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),i(13,"div",6)(14,"div",7),u("click",function(){return t.toggleSidebar()})("keydown",function(v){return t.handleKeydown(v)}),i(15,"a",2),d(16,"translate"),p(17,"img",3),i(18,"div",8),_(19,"Homebridge"),a()()(),i(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(24,"div",12),p(25,"i",13),a(),i(26,"div",14),_(27),d(28,"translate"),a()()(),y(29,be,9,8,"div",10),i(30,"div",10)(31,"div",15),d(32,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(33,"div",12),p(34,"i",16),a(),i(35,"div",14),_(36),d(37,"translate"),a()()(),i(38,"div",10)(39,"div",15),d(40,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(41,"div",12),p(42,"i",17),a(),i(43,"div",14),_(44),d(45,"translate"),a()()(),i(46,"div",10)(47,"div",15),d(48,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(49,"div",12),p(50,"i",18),a(),i(51,"div",14),_(52),d(53,"translate"),a()()(),y(54,xe,8,9,"div",10),y(55,Ce,8,9,"div",10),y(56,we,8,9,"div",10),i(57,"div",10)(58,"div",15),d(59,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(60,"div",12),p(61,"i",19),a(),i(62,"div",14),_(63),d(64,"translate"),a()()(),y(65,ye,8,9,"div",10),y(66,Se,8,6,"div",10),y(67,ke,8,6,"div",10),a()()),r&2&&(m("aria-expanded",t.isExpanded()?"true":"false")("aria-controls","sidebar")("aria-label",l(1,39,"menu.sidebar.aria_menu")),n(3),g("routerLink",f(65,F)),m("aria-label",l(4,41,"menu.label_status")),n(5),P("hamburger-icon-cross",t.isExpanded()),n(5),P("expanded",t.isExpanded()),n(2),g("routerLink",f(66,F)),m("aria-label",l(16,43,"menu.label_status")),n(7),g("routerLink",f(67,F))("routerLinkActive","active")("routerLinkActiveOptions",f(68,pe)),m("aria-label",l(23,45,"menu.label_status")),n(5),h(l(28,47,"menu.label_status")),n(2),S(t.rPiWasUnderVoltage()||t.rPiCurrentlyUnderVoltage()?29:-1),n(2),g("routerLink",f(69,ce))("routerLinkActive","active"),m("aria-label",l(32,49,"menu.label_plugins")),n(5),h(l(37,51,"menu.label_plugins")),n(3),g("routerLink",f(70,me))("routerLinkActive","active"),m("aria-label",l(40,53,"menu.label_accessories")),n(5),h(l(45,55,"menu.label_accessories")),n(3),g("routerLink",f(71,ue))("routerLinkActive","active"),m("aria-label",l(48,57,"menu.linux.label_logs")),n(5),h(l(53,59,"menu.linux.label_logs")),n(2),S(t.enableTerminalAccess&&t.isAdmin?54:-1),n(),S(t.isAdmin?55:-1),n(),S(t.isAdmin?56:-1),n(2),g("routerLink",f(72,_e))("routerLinkActive","active"),m("aria-label",l(59,61,"support.title")),n(5),h(l(64,63,"support.title")),n(2),S(t.isAdmin?65:-1),n(),S(t.isPwa?66:-1),n(),S(t.formAuth()?67:-1))},dependencies:[X,q,G,J],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media(min-width:768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 80px)!important;scrollbar-width:thin}@media(max-width:767px){.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{padding-bottom:60px}}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media(max-width:767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media(max-width:767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media(min-width:768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media(max-width:767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;transform:rotate(0);transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return s})();var tt=(()=>{class s{injector=c(O);$auth=c(z);$modal=c(D);$router=c(T);$settings=c(B);$translate=c(A);$ws=c(Y);io;sidebarExpanded=w(!1);ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return L(this,null,function*(){if(this.$settings.settingsLoaded||(yield N(this.$settings.onSettingsLoaded)),!this.$router.url.endsWith("/restart")&&(0,ae.lt)(this.$settings.uiVersion,I.serverTarget)){console.log(`Server restart required. UI Version: ${I.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=E([{provide:Z,useValue:{title:this.$translate.instant("platform.version.service_restart_required"),message:this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:I.serverTarget}),confirmButtonLabel:this.$translate.instant("menu.tooltip_restart"),faIconClass:"fas fa-power-off orange-text"}}],this.injector),r=this.$modal.open(te,{size:"lg",backdrop:"static",injector:e});try{yield r.result,this.$router.navigate(["/restart"])}catch{}}})}static \u0275fac=function(r){return new(r||s)};static \u0275cmp=V({type:s,selectors:[["app-layout"]],decls:3,vars:3,consts:[[3,"initialIsExpanded"],[1,"content","px-3","p-md-4"]],template:function(r,t){r&1&&(p(0,"app-sidebar",0),i(1,"div",1),p(2,"router-outlet"),a()),r&2&&(g("initialIsExpanded",t.sidebarExpanded()),n(),P("sidebarExpanded",t.sidebarExpanded()))},dependencies:[oe,H],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media(max-width:767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media(min-width:768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return s})();export{tt as LayoutComponent};
|
|
1
|
+
import{a as ie}from"./chunk-TUN7H57E.js";import{a as re}from"./chunk-HXRHQRO5.js";import{a as ne}from"./chunk-TLHI6ZOI.js";import{a as de}from"./chunk-J2O4Y2AJ.js";import{a as te}from"./chunk-GVEBFYKG.js";import{a as Z,b as ee}from"./chunk-MIE7YXOK.js";import{a as Y}from"./chunk-37PRZWAE.js";import{a as Q}from"./chunk-AUK5NDCU.js";import{n as D}from"./chunk-VILWJRZL.js";import{a as R,b as W,d as H,e as T,f as X,g as G}from"./chunk-QML5ZVO6.js";import{a as $}from"./chunk-ZGIZ2UDW.js";import{b as z}from"./chunk-VDDMHLOW.js";import"./chunk-537Z3TZH.js";import{b as B}from"./chunk-S6WYT7FX.js";import{C as A,D as J,H as I,o as q}from"./chunk-MISBXZWW.js";import{Ab as S,Dc as d,Ec as l,Fb as g,Gb as i,Hb as a,Ib as p,Nc as K,Rb as k,Xb as u,Za as n,Zb as C,aa as c,ea as O,ga as b,ha as x,hb as j,ic as P,kc as _,lc as h,ma as U,mb as E,n as N,nb as V,sa as w,wc as f,yb as m,zb as y}from"./chunk-VX4RXOTH.js";import{g as se,h as L}from"./chunk-B4AJQJMI.js";var ae=se(de(),1);var F=()=>["/"],pe=()=>({exact:!0}),ce=()=>["/plugins"],me=()=>["/accessories"],ue=()=>["/logs"],_e=()=>["/support"],ge=()=>["/platform-tools/terminal"],ve=()=>["/config"],he=()=>["/settings"],fe=()=>["/power-options"];function be(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),d(3,"translate"),u("click",function(){b(e);let t=C();return x(t.openUnderVoltageModal())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(4,"div",12),p(5,"i",21),a(),i(6,"div",14),_(7),d(8,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"rpi.throttled.undervoltage_title")+" - "+l(3,4,"rpi.throttled.undervoltage_description")),n(6),h(l(8,6,"rpi.throttled.undervoltage_title")))}function xe(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",22),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,ge))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.linux.label_terminal")),n(5),h(l(7,6,"menu.linux.label_terminal")))}function Ce(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",23),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,ve))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.config_json_editor")),n(5),h(l(7,6,"menu.config_json_editor")))}function we(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",24),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,he))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.label_settings")),n(5),h(l(7,6,"menu.label_settings")))}function ye(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",15),d(2,"translate"),u("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",25),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),g("routerLink",f(8,fe))("routerLinkActive","active"),m("aria-label",l(2,4,"menu.restart.title")),n(5),h(l(7,6,"menu.restart.title")))}function Se(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),u("click",function(){b(e);let t=C();return x(t.reloadPage())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",26),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"menu.reload")),n(5),h(l(7,4,"menu.reload")))}function ke(s,M){if(s&1){let e=k();i(0,"div",10)(1,"div",20),d(2,"translate"),u("click",function(){b(e);let t=C();return x(t.logout())})("keydown",function(t){b(e);let o=C();return x(o.handleKeydown(t))}),i(3,"div",12),p(4,"i",27),a(),i(5,"div",14),_(6),d(7,"translate"),a()()()}s&2&&(n(),m("aria-label",l(2,2,"menu.tooltip_logout")),n(5),h(l(7,4,"menu.tooltip_logout")))}var oe=(()=>{class s{destroyRef=c(U);injector=c(O);$auth=c(z);$authHelper=c(Q);$settings=c(B);$modal=c(D);$notification=c(ne);$renderer=c(j);$router=c(T);$translate=c(A);initialIsExpanded=K(!1);isExpanded=w(!1);formAuth=w(this.$settings.formAuth);isAdmin=this.$auth.user.admin;enableTerminalAccess=this.$settings.env.enableTerminalAccess;rPiCurrentlyUnderVoltage=w(!1);rPiWasUnderVoltage=w(!1);isMobile=!1;freezeMenu=w(!1);isPwa=ie();sidebarMouseEnterListener=()=>this.openSidebar();sidebarMouseLeaveListener=()=>this.closeSidebar();touchstartListener;clickListener;constructor(){this.isMobile=window.innerWidth<768;let e;window.addEventListener("resize",()=>{clearTimeout(e),e=setTimeout(()=>{this.updateListeners()},500)}),this.$router.events.pipe($()).subscribe(r=>L(this,null,function*(){if(r instanceof R&&this.$settings.formAuth&&r.url!=="/login"&&!(yield this.$authHelper.isAuthenticated())){window.sessionStorage.setItem("target_route",r.url),yield this.$router.navigate(["/login"]);return}r instanceof W&&queueMicrotask(()=>{this.closeSidebar(),this.freezeMenu.set(!0),setTimeout(()=>{this.freezeMenu.set(!1)},750)})}))}ngOnInit(){this.isExpanded.set(this.initialIsExpanded()),this.$notification.raspberryPiThrottled.pipe($(this.destroyRef)).subscribe(o=>{o["Under Voltage"]&&this.rPiCurrentlyUnderVoltage.set(!0),o["Under-voltage has occurred"]&&this.rPiWasUnderVoltage.set(!0)}),this.$notification.formAuthEnabled.pipe($(this.destroyRef)).subscribe(o=>{this.formAuth.set(o)});let e=document.querySelector(".sidebar"),r=document.querySelector(".m-header"),t=document.querySelector(".content");this.isMobile?(this.touchstartListener=o=>{if(t.contains(o.target)&&this.isExpanded()){o.preventDefault(),this.toggleSidebar();return}!e.contains(o.target)&&!r.contains(o.target)&&this.isExpanded()&&(o.preventDefault(),this.closeSidebar())},document.addEventListener("touchstart",this.touchstartListener,{passive:!1})):(this.updateListeners(),r.addEventListener("mouseenter",this.sidebarMouseEnterListener,{passive:!1}),r.addEventListener("mouseleave",this.sidebarMouseLeaveListener,{passive:!1}),this.clickListener=o=>{e.contains(o.target)&&o.clientX>60&&this.closeSidebar()},document.addEventListener("click",this.clickListener,{passive:!1}))}toggleSidebar(){this.freezeMenu()||(this.isExpanded.set(!this.isExpanded()),this.updateContentStyles())}openUnderVoltageModal(){let e=E([{provide:ee,useValue:{title:this.$translate.instant("rpi.throttled.undervoltage_title"),message:this.$translate.instant(this.rPiCurrentlyUnderVoltage()?"rpi.throttled.currently_message":"rpi.throttled.previously_message"),ctaButtonLabel:this.$translate.instant("form.button_more_info"),faIconClass:"fas fa-bolt yellow-text",ctaButtonLink:"https://pimylifeup.com/raspberry-pi-low-voltage-warning"}}],this.injector);this.$modal.open(re,{size:"lg",backdrop:"static",injector:e})}handleKeydown(e){if(e.key==="Enter"){let r=e.target;["menuitem","button"].includes(r.getAttribute("role"))&&r.click()}}reloadPage(){window.location.reload()}ngOnDestroy(){this.touchstartListener&&document.removeEventListener("touchstart",this.touchstartListener),this.clickListener&&document.removeEventListener("click",this.clickListener);let e=document.querySelector(".sidebar"),r=document.querySelector(".m-header");e&&(e.removeEventListener("mouseenter",this.sidebarMouseEnterListener),e.removeEventListener("mouseleave",this.sidebarMouseLeaveListener)),r&&(r.removeEventListener("mouseenter",this.sidebarMouseEnterListener),r.removeEventListener("mouseleave",this.sidebarMouseLeaveListener))}logout(){this.$auth.logout()}openSidebar(){this.freezeMenu()||(this.isExpanded.set(!0),this.updateContentStyles())}closeSidebar(){this.freezeMenu()||(this.isExpanded.set(!1),this.updateContentStyles())}updateContentStyles(){let e=document.querySelector(".content");this.isExpanded()?(this.$renderer.setStyle(e,"opacity","20%"),this.$renderer.setStyle(e,"pointer-events","none"),this.$renderer.setStyle(e,"overflow","hidden")):(this.$renderer.removeStyle(e,"opacity"),this.$renderer.removeStyle(e,"pointer-events"),this.$renderer.removeStyle(e,"overflow"))}updateListeners(){this.isMobile=window.innerWidth<768;let e=document.querySelector(".sidebar");e.removeEventListener("mouseenter",this.sidebarMouseEnterListener),e.removeEventListener("mouseleave",this.sidebarMouseLeaveListener),(this.isMobile||!this.isMobile&&this.$settings.menuMode!=="freeze")&&(e.addEventListener("mouseenter",this.sidebarMouseEnterListener,{passive:!1}),e.addEventListener("mouseleave",this.sidebarMouseLeaveListener,{passive:!1}))}static \u0275fac=function(r){return new(r||s)};static \u0275cmp=V({type:s,selectors:[["app-sidebar"]],inputs:{initialIsExpanded:[1,"initialIsExpanded"]},decls:68,vars:73,consts:[["tabindex","0","role","button",1,"m-header","text-end",3,"click","keydown"],[1,"me-2","d-block","d-lg-none",2,"font-size","0.9rem","color","#dddddd"],[3,"routerLink"],["ngSrc","assets/homebridge-logo.svg","alt","HB Logo","height","35","width","35",2,"height","35px","width","35px"],[1,"hb-logo-text-mobile"],[1,"hamburger-icon"],["role","navigation","id","sidebar",1,"sidebar"],["tabindex","0","role","button",1,"header",3,"click","keydown"],[1,"hb-logo-text"],[1,"link-wrapper"],[1,"link"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive","routerLinkActiveOptions"],[1,"icon"],[1,"fa","fa-house"],[1,"title"],["role","menuitem","tabindex","0",1,"link-row",3,"keydown","routerLink","routerLinkActive"],[1,"fa","fa-plug"],[1,"fa","fa-lightbulb"],[1,"fa","fa-wave-square"],[1,"fa","fa-question-circle-o"],["role","menuitem","tabindex","0",1,"link-row",3,"click","keydown"],[1,"fas","fa-bolt","fa-beat","yellow-text",2,"--fa-beat-scale","1.5"],[1,"fa","fa-terminal"],[1,"fa","fa-code"],[1,"fa","fa-cog"],[1,"fa","fa-power-off"],[1,"fa","fa-refresh"],[1,"fa","fa-right-from-bracket"]],template:function(r,t){r&1&&(i(0,"div",0),d(1,"translate"),u("click",function(){return t.toggleSidebar()})("keydown",function(v){return t.handleKeydown(v)}),p(2,"span",1),i(3,"a",2),d(4,"translate"),p(5,"img",3),i(6,"div",4),_(7,"Homebridge"),a()(),i(8,"div",5),p(9,"span")(10,"span")(11,"span")(12,"span"),a()(),i(13,"div",6)(14,"div",7),u("click",function(){return t.toggleSidebar()})("keydown",function(v){return t.handleKeydown(v)}),i(15,"a",2),d(16,"translate"),p(17,"img",3),i(18,"div",8),_(19,"Homebridge"),a()()(),i(20,"div",9)(21,"div",10)(22,"div",11),d(23,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(24,"div",12),p(25,"i",13),a(),i(26,"div",14),_(27),d(28,"translate"),a()()(),y(29,be,9,8,"div",10),i(30,"div",10)(31,"div",15),d(32,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(33,"div",12),p(34,"i",16),a(),i(35,"div",14),_(36),d(37,"translate"),a()()(),i(38,"div",10)(39,"div",15),d(40,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(41,"div",12),p(42,"i",17),a(),i(43,"div",14),_(44),d(45,"translate"),a()()(),i(46,"div",10)(47,"div",15),d(48,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(49,"div",12),p(50,"i",18),a(),i(51,"div",14),_(52),d(53,"translate"),a()()(),y(54,xe,8,9,"div",10),y(55,Ce,8,9,"div",10),y(56,we,8,9,"div",10),i(57,"div",10)(58,"div",15),d(59,"translate"),u("keydown",function(v){return t.handleKeydown(v)}),i(60,"div",12),p(61,"i",19),a(),i(62,"div",14),_(63),d(64,"translate"),a()()(),y(65,ye,8,9,"div",10),y(66,Se,8,6,"div",10),y(67,ke,8,6,"div",10),a()()),r&2&&(m("aria-expanded",t.isExpanded()?"true":"false")("aria-controls","sidebar")("aria-label",l(1,39,"menu.sidebar.aria_menu")),n(3),g("routerLink",f(65,F)),m("aria-label",l(4,41,"menu.label_status")),n(5),P("hamburger-icon-cross",t.isExpanded()),n(5),P("expanded",t.isExpanded()),n(2),g("routerLink",f(66,F)),m("aria-label",l(16,43,"menu.label_status")),n(7),g("routerLink",f(67,F))("routerLinkActive","active")("routerLinkActiveOptions",f(68,pe)),m("aria-label",l(23,45,"menu.label_status")),n(5),h(l(28,47,"menu.label_status")),n(2),S(t.rPiWasUnderVoltage()||t.rPiCurrentlyUnderVoltage()?29:-1),n(2),g("routerLink",f(69,ce))("routerLinkActive","active"),m("aria-label",l(32,49,"menu.label_plugins")),n(5),h(l(37,51,"menu.label_plugins")),n(3),g("routerLink",f(70,me))("routerLinkActive","active"),m("aria-label",l(40,53,"menu.label_accessories")),n(5),h(l(45,55,"menu.label_accessories")),n(3),g("routerLink",f(71,ue))("routerLinkActive","active"),m("aria-label",l(48,57,"menu.linux.label_logs")),n(5),h(l(53,59,"menu.linux.label_logs")),n(2),S(t.enableTerminalAccess&&t.isAdmin?54:-1),n(),S(t.isAdmin?55:-1),n(),S(t.isAdmin?56:-1),n(2),g("routerLink",f(72,_e))("routerLinkActive","active"),m("aria-label",l(59,61,"support.title")),n(5),h(l(64,63,"support.title")),n(2),S(t.isAdmin?65:-1),n(),S(t.isPwa?66:-1),n(),S(t.formAuth()?67:-1))},dependencies:[X,q,G,J],styles:[".m-header[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:65px;z-index:510;display:flex;align-items:center;padding-left:3px;padding-right:3px}.m-header[_ngcontent-%COMP%]:hover{cursor:pointer}@media(min-width:768px){.m-header[_ngcontent-%COMP%]{display:none}}.sidebar[_ngcontent-%COMP%]{position:fixed;left:0;top:0;height:100vh;transition:.3s;width:60px;z-index:500}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;padding:15px 10px 15px 11px;font-size:.85rem}.sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]:hover{cursor:pointer}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 80px)!important;scrollbar-width:thin}@media(max-width:767px){.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{padding-bottom:60px}}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%]{display:flex;align-items:center;padding:15px 10px;cursor:pointer;transition:.2s;font-size:17px}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{flex:0 0 38px;display:flex;align-items:center;justify-content:center}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:1;transition:.3s;max-width:0;overflow:hidden;white-space:nowrap}@media(max-width:767px){.sidebar[_ngcontent-%COMP%]{width:0}.sidebar[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:none}}.sidebar.expanded[_ngcontent-%COMP%]{width:210px}@media(max-width:767px){.sidebar.expanded[_ngcontent-%COMP%]{width:210px}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%]{display:block}}.sidebar.expanded[_ngcontent-%COMP%] .link-wrapper[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] .link-row[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{max-width:150px;padding-left:10px}.hamburger-icon[_ngcontent-%COMP%]{margin:-7px 0 0 25px}@media(min-width:768px){.hb-logo-text[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px}.sidebar.expanded[_ngcontent-%COMP%] .hb-logo-text[_ngcontent-%COMP%]{opacity:1;left:55px;transition:.3s}.sidebar[_ngcontent-%COMP%]:not(.expanded) .hb-logo-text[_ngcontent-%COMP%]{opacity:0;left:40px;transition:.3s}.hb-logo-text-mobile[_ngcontent-%COMP%], .hamburger-icon[_ngcontent-%COMP%]{display:none!important}}@media(max-width:767px){.hb-logo-text[_ngcontent-%COMP%]{display:none!important}.hb-logo-text-mobile[_ngcontent-%COMP%]{color:#fff;position:absolute;top:17px;font-size:22px;padding-left:3px;opacity:1;left:55px}.hamburger-icon[_ngcontent-%COMP%]{position:absolute;right:10px;top:28px;width:30px;transform:rotate(0);transition:.5s ease-in-out;cursor:pointer}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:block;position:absolute;height:2px;width:100%;background-color:#fff;border-radius:9px;opacity:1;left:0;transform:rotate(0);transition:.25s ease-in-out}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:0}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2), .hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){top:10px}.hamburger-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:20px}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(1){top:10px;width:0;left:50%}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(2){transform:rotate(45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(3){transform:rotate(-45deg)}.hamburger-icon-cross[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:nth-child(4){top:10px;width:0;left:50%}}"]})}return s})();var tt=(()=>{class s{injector=c(O);$auth=c(z);$modal=c(D);$router=c(T);$settings=c(B);$translate=c(A);$ws=c(Y);io;sidebarExpanded=w(!1);ngOnInit(){this.io=this.$ws.connectToNamespace("app"),this.io.socket.on("reconnect",()=>{this.$auth.checkToken()}),this.compareServerUiVersion()}compareServerUiVersion(){return L(this,null,function*(){if(this.$settings.settingsLoaded||(yield N(this.$settings.onSettingsLoaded)),!this.$router.url.endsWith("/restart")&&(0,ae.lt)(this.$settings.uiVersion,I.serverTarget)){console.log(`Server restart required. UI Version: ${I.serverTarget} - Server Version: ${this.$settings.uiVersion} `);let e=E([{provide:Z,useValue:{title:this.$translate.instant("platform.version.service_restart_required"),message:this.$translate.instant("platform.version.restart_required",{serverVersion:this.$settings.uiVersion,uiVersion:I.serverTarget}),confirmButtonLabel:this.$translate.instant("menu.tooltip_restart"),faIconClass:"fas fa-power-off orange-text"}}],this.injector),r=this.$modal.open(te,{size:"lg",backdrop:"static",injector:e});try{yield r.result,this.$router.navigate(["/restart"])}catch{}}})}static \u0275fac=function(r){return new(r||s)};static \u0275cmp=V({type:s,selectors:[["app-layout"]],decls:3,vars:3,consts:[[3,"initialIsExpanded"],[1,"content","px-3","p-md-4"]],template:function(r,t){r&1&&(p(0,"app-sidebar",0),i(1,"div",1),p(2,"router-outlet"),a()),r&2&&(g("initialIsExpanded",t.sidebarExpanded()),n(),P("sidebarExpanded",t.sidebarExpanded()))},dependencies:[oe,H],styles:[".content[_ngcontent-%COMP%]{margin-left:60px;transition:.3s;height:100%}@media(max-width:767px){.content[_ngcontent-%COMP%]{margin-left:0;padding-top:85px!important}}@media(min-width:768px){.content[_ngcontent-%COMP%]{height:100%}}a[_ngcontent-%COMP%]:hover{text-decoration:none!important}"]})}return s})();export{tt as LayoutComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-LZZD3ZUF.js";import"./chunk-B4AJQJMI.js";export default a();
|